본문 바로가기

임베디드36

STM32 fputc를 이용한 printf 사용시 BKPT 0xAB 에서 멈춤 간만에 STM32를 이용해서 프로젝트 진행 중인데...설정 부분이 많이 헷갈린다.디버그 포트 설정에서 한 참 고전을 면치 못했고, 이제는 printf에서 문제가 발생했다.예전에는 int fputc(int ch, FILE *f) { uint8_t temp[1] = {ch}; HAL_UART_Transmit(&huart1, temp, 1, 2); return ch; }를 main 위에 넣어주고 사용해서 잘 됐는데 오늘 다시 하니까 PC 0x0800041C에서 BKPT 0xAB 라는 문구에서 브레이크가 걸린다.아래에서 printf를 삭제해주면 사라진다.이게 뭐지??어떻게 해결해 줘야하나??? Keil의 Manage Run-Time Environment에서Compiler->I/O->STDIN, STDOUT을 I.. 2024. 9. 11.
STM32 fputc를 이용한 printf 사용시 BKPT 0xAB 에서 멈춤 간만에 STM32를 이용해서 프로젝트 진행 중인데...설정 부분이 많이 헷갈린다.디버그 포트 설정에서 한 참 고전을 면치 못했고, 이제는 printf에서 문제가 발생했다.예전에는 int fputc(int ch, FILE *f) { uint8_t temp[1] = {ch}; HAL_UART_Transmit(&huart1, temp, 1, 2); return ch; }를 main 위에 넣어주고 사용해서 잘 됐는데 오늘 다시 하니까 PC 0x0800041C에서 BKPT 0xAB 라는 문구에서 브레이크가 걸린다.아래에서 printf를 삭제해주면 사라진다.이게 뭐지??어떻게 해결해 줘야하나??? Keil의 Manage Run-Time Environment에서Compiler->I/O->STDIN, STDOUT을 I.. 2024. 9. 9.
Debug : Serial Wire STM32CubeMx를 이용해서 칩을 설정할 때 Pinout & Configuration항목의 SYS에 보면 SYS Mode and Configuration이 있다.여기를 처음에는 신경쓰지 않고 지나갔었는데 Default로 No Debug로 되어 있었나보다. 다운로드/디버깅 모두 안돼서 한 참 고민했다.STM32 ST-LINK Utility를 이용해서 Chip을 Erase 시켜주고, 위의 SYS의 Debug를 Serial Wire로 설정해 주니까 잘 된다. 처음에 잘못 설정하고 헤메이던 것이 패착이였다. 2024. 9. 9.
FCARM - Output Name not specified. STM32CubeMX를 이용해서 프로젝트를 생성하고, 새로운 C, H 파일을 만들어서 KEIL에 추가했다.그리고 컴파일 했더니 FCARM 에러가 발생한다. 찾아보니까 Image file을 사용하면 그리된다해서 혹시나 해서 내가 만들어 추가한C 파일의 Properties를 보니까 "File Type"이 Image file로 되어 있다.이를 C Source file로 바꿔주고 컴파일 했다. 2024. 9. 9.
STM32CubeMX Install error error writing to registry during installation라는 에러가 나타날 때가 있다. 일부 프로그램들은 관리자로 인스톨 해야하는 경우가 있는데이 프로그램이 그런가보다. 아니면 인스톨 옵션으로 진행 중 이 컴퓨터를 사용하는 모든 유저를 선택했기 때문일 수도... 2024. 9. 9.
RS232C Hooking 예전에 어디에다가 적어 뒀었는데.어디다 적어 뒀는지 잊어 버렸다. 컴파일 HMI와 슬레이브 4개를 Serial to Ethernet Converter를 이용해서 연결한 뒤 통신 테스트 중 이다.중간 중간 통신이 끊겨서 어떤 명령어를 전송하고 응답받을 때 끊기는지 확인하려고 했더니 이 방법이 필요했다.일단 슬레이브 쪽에 연결된 RS232C 3핀에서 Tx, Rx 핀에 M7 다이오드의 Anode를 연결한다.그리고, 다이오드의 Cathode를 서로 묶고 이곳에다가 RS232 컨버터의 Rx를 연결한다.물론 RS232 컨버터의 GND와 장비의 GND를 연결시켜 기본 전압 베이스를 맞춰준다.노트북에서 시리얼 프로그램을 이용해서 수신해 보면 Tx, Rx 라인에 전달 되는 데이터가 모두 보인다. 잊어버리지 않기. 2024. 9. 2.