MCU SW에 대하여

RDS67_kor·2025년 6월 28일

MCU SW Development

목록 보기
2/13
post-thumbnail

다양한 전자 장치들은 SW에 의해 조작됨 -> SW를 실행하는 장치: ECU

실제로 명령어를 수행하는 장치: CPU(Central Processing Unit)
CPU는 소스코드(c언어)를 direct하게 이해 x
CPU가 이해할 수 있는 명령어 = 어셈블리어(기계어)

Build(컴파일) -> .hex 파일 / .elf파일로 MCU가 명령어를 한줄씩 수행

Cimpiler: 빌드(컴파일) 해주는 sw

PC 영역에서 코딩, 빌드(컴파일)한 것을 MCU로 옮겨야 함

CPU: 명령을 수행하는 역할
Memory: Data를 담아두는 역할
- Flash: 전원 Off해도 지워지지 않음
- RAM: 전원 Off하면 값이 초기화

Debugger: MCU의 Flash에 Data를 옮기는 용도
-> MCU의 기계어 코드가 CPU의 Flash에 담김
-> 이 하드웨어를 제어하는 Debugging SW가 또 필요함

  • Debugging: 개발자가 의도하지 않은 결과나 오류를 해결하는 작업
  • Debugger: Debugging을 위한 여러가지 기능 및 SW 다운로드 기능 제공

ex) Trace32(T32), TI의 XDS110, ST의 ST-Link

MCU 개발 도구

CPU마다 명령어가 사전에 정해져 있음 (서로 다름)
-> 빌드(컴파일)를 할 때 해당하는 MCU에 맞춰 해야 함

빌드: Compile, Assemble, Link로 구성
빌드 해주는 SW를 통칭 Compiler라고 부름

-> 다양한 컴파일러 중에서 본인이 개발하려는 MCU를 지원하는 컴파일러를 적절하게 골라서 사용해야 함

Debugger 역시 MCU와 호환되는 장치를 사용해야 함
같은 디버거여도 MCU 라이센스가 다를 수 있음

디버깅 HW를 control하기 위한 SW가 필요함

MCU SW 개발을 하려면 컴파일러 SW, 디버거 SW, 디버거 HW가 필요함
본인이 개발하려는 MCU와 호환되는 제품을 사용해야 함
특별한 이슈가 없다면 MCU 제조사에서 권장(제공)하는 것을 사용하면 됨
실무에서는 별도의 유료 컴파일러, 디버거 등을 사용하기도 함
ex) 컴파일러: Tasking compiler, GreenHils compiler
디버거: Trace32

0개의 댓글