반응형
VSCode에서 STM32CubeMX로 개발환경 구축할때 오류 모음
❌ ../Core/Startup/startup_stm32f746zgtx.s:61: Error: junk at end of line, first unrecognized character is \
🔍 원인
- 해당
.s
파일이 CRLF 줄바꿈 형식으로 저장됨 - 또는 비정상적인 특수문자(
\
등)가 포함되어 있음
✅ 해결 방법
LF
로 줄바꿈 변경 (VSCode 우측 하단 →CRLF
→LF
로 변경)- 또는
dos2unix startup_stm32f746zgtx.s
명령 사용
❌ fatal error: stdint.h: No such file or directory
🔍 원인
- macOS에 설치된
arm-none-eabi-gcc
가 newlib 라이브러리를 제대로 참조하지 못함 - 특히
/opt/homebrew/bin
에 있는 버전이 macOS 시스템 경로와 충돌 가능
✅ 해결 방법
brew
버전 대신 ST 공식 toolchain 사용:
# CubeIDE toolchain 사용 예시
/opt/gcc-arm-none-eabi/bin/arm-none-eabi-gcc
- Makefile 또는
build.sh
에서GCC_PATH=/opt/gcc-arm-none-eabi/bin
으로 지정 필요
❌ Upload failed - Timeout / Wrong USB port / Serial error
🔍 원인
- 보드가 DFU 모드나 시리얼 부트로 잘못 부팅됨
- 또는 SWD 대신 UART로 업로드 시도 중
✅ 해결 방법
upload.sh
에서 ST-LINK를 명확하게 지정
"$CUBEPROG_CLI" -c port=SWD -d build/led_test.bin 0x08000000 -rst
- 부트 핀(BOOT0, BOOT1) 설정 확인 → BOOT0을 GND에 연결
- 보드 USB 케이블 재연결 또는 RESET 버튼 수동 누름도 유효
❌ F5로 빌드 안 되고 입력 키 오류 발생
🔍 원인
F5
는 디버깅용 실행이므로launch.json
설정이 필요- 그러나 STM32는 일반적인
gdb
만으로 실행되지 않음 (펌웨어 직접 업로드 필요)
✅ 해결 방법
- F5 대신
Cmd + Shift + B
(VSCode Build Task 실행) tasks.json
에build.sh
→upload.sh
자동 실행 설정 가능F5
는 Cortex-Debug를 통한 GDB 디버깅 용도로만 유지
반응형
'임베디드 관련 > STM32' 카테고리의 다른 글
[STM32] 인터럽트(Interrupt) 시스템 (0) | 2025.04.28 |
---|---|
[STM32] CHxN 채널을 사용해서 PWM 출력? (0) | 2025.04.27 |
[STM32] Please login to download a software package 오류 (0) | 2025.04.25 |
Targeted Binary Type, Targeted Project Type (0) | 2025.04.24 |
VSCode + CubeMX와 CubeIDE STM32 개발 환경 비교 (0) | 2025.04.23 |
댓글