CubeIDE
임베디드에서는 보드 초기세팅이 매우 어렵다
- ex) Startup.s 코드작성, clock설정, 레지스터 설정 등등
원래는 경험 많은 팀장급 엔지니어가 초기세팅을 진행하지만 이를 CubeIDE를 통해 GUI로 설정하면 시작코드를 생성해줌!
PC에서는 Trace가 당연하지만 임베디드에서는 CPU일시중지가 어렵기에 따로 디버깅장비를 사용함
- 누클레오 에서 ST-Link/v2를 사용해 편리하게 Trace 가능!
System Clock
내부/외부 Clock
- 내부 Clock : MCU 내부 Clock Ocillator를 사용함
- 외부 Clock : MCU 외부 Clock Ocillator를 사용함
High Speed/ Low Speed
- 통상 KHz 단위 Speed를 Low Speed
- 통상 MHz 단위 Speed를 High Speed
PIN 설정
- 사용할 PIN에대해 MCU 내부 레지스터에 설정해줘야함
- GPIO Input
- GPIO Output
- SPI/ I2C 통신용
- UART 통신용 등등
- DataSheet 참고하여 레지스터 설정을 해줘야함
startup.s 작성
Assembly로 작성
- 초기클럭설정
- 메모리 초기화
- c언어 구동준비
- c언어로 작성된 Firmware 의 Main함수 호출
CubeIDE를 사용하면 반자동으로 손쉽게 설정가능!!
- CubeIDE, IAR, True Studio 등 다양한 컴파일러에서 사용가능