STMicroelectronics
  • HOME
  • News
  • Webinars

[연재]ST 유지 카와노 엔지니어④-MCU 프로그래밍, IDE 기능 반복 수행 必

기사입력 2021.10.08 12:02
MCU 프로그래밍, IDE 기능 반복 수행 必

에디터·컴파일러·어셈블러·링커·프로그래머·디버거 구성
PC·타깃 보드·IDE·디버그 케이블 등 장비 반드시 있어야

[편집자주]일반적으로 반도체라 하면 컴퓨터의 CPU와 메모리처럼 일반인에게 익숙한 반도체를 떠올리기 마련이다. 반면에 전자제품 구동을 위해서 핵심 반도체로 쓰이는 MCU(Micro Controller Unit)의 경우 일반적으로 우리가 쉽게 접하는 모든 전자제품에서 사용되고 있으면서도 일반인에게는 아직 낯선 반도체다. 이런 MCU가 최근 반도체 부족 사태로 인해 언론에 오르내리며, 일반인들에게 주목받기 시작했다. 이에 본지는 MCU 반도체 전문기업인 ST마이크로일렉트로닉스의 유지 카와노 매니저의 연재기고를 통해 MCU에 대해 전문적으로 알아보는 자리를 마련했다.


MCU는 프로그래밍에 따라 기능 수행도 달라진다.


프로그램을 개발하는 방법에는 두 가지로 첫 번째는 네이티브 개발(native development)이다. 여기서는 프로그램 개발을 위해 사용되는 PC 환경(개발 환경)과 개발된 프로그램이 실행되는 환경(실행 환경)은 동일하다(그림 1a).

두 번째로 크로스-플랫폼 개발이 있다. 개발 환경과 실행 환경이 다르다(그림 1b). MCU 프로그래밍에서 좀더 일반적으로 사용되는 것은 크로스-플랫폼 개발이다. 크로스 개발에는 다양한 개발 툴 사용이 가능하다.
 
하드웨어 툴
- 프로그램 개발을 위한 PC(개발 환경)
- 개발된 프로그램 실행을 위한 MCU를 탑재한 타깃 보드(실행 환경)
- PC를 타깃 보드에 연결하기 위한 디버그 케이블
- 인-서킷 에뮬레이터(in-circuit emulator, ICE)나 기타 다른 유형의 에뮬레이터

소프트웨어 툴
- 통합 개발 환경
- 운영시스템(OS)
- 라이브러리
- 미들웨어

위에서 나열한 툴 중에서 적어도 PC, 타깃 보드, 통합 개발 환경, 그리고 디버그 케이블은 반드시 있어야 한다.
 

▲그림1 : 네이티브 개발과 크로스-플랫폼 개발



■ 통합 개발 환경(Integrated Development Environment)

▲그림2 : 소프트웨어 개발 프로세스



그림2에서 소프트웨어 개발 프로세스를 확인할 수 있다. 통합 개발 환경(IDE)이란 소프트웨어 개발에 필요한 다양한 기능을 제공하는 PC용 애플리케이션 패키지를 말한다. 이러한 IDE에는 일반적으로 에디터, 컴파일러, 어셈블러, 링커, 프로그래머, 그리고 디버거가 함께 제공된다.

목적을 잘 수행하는 프로그램을 만들기 위해서는 위의 단계들(에디팅, 빌딩, 쓰기, 그리고 디버깅)이 반복적으로 수행되어야 한다.

에디터는 프로그램 코드를 에디팅하는데 사용된다. 일반적으로는 C와 같은 고급 프로그래밍 언어가 MCU 프로그래밍에 사용되지만 프로그램 크기 또는 프로세싱 시간에 제약이 있을 때에는 어셈블리 언어가 사용된다. 고급 프로그래밍 언어를 사용하면 사람이 이해하기 쉬운 방식으로 프로그램을 작성할 수 있으며 이러한 프로그램은 에디터를 사용해서 쓰여진다.

코드가 작성되면 컴파일러로 컴파일된다. 여기서 ‘컴파일’이란 단어는 고급 프로그래밍 언어를 목적 코드로 변환하는 것(예를 들어, MCU가 이해하는 언어)을 의미한다. 반면에 어셈블리 언어로 쓰여진 코드는 어셈블러를 써서 목적 코드로 변환된다. 이렇게 컴파일된 모든 목적 코드 파일들을 모아서 링커로 링크시키고 타겟 MCU에 적합한 실행 파일을 생성한다. 실행 파일은 인텔 포맷(.hex), 모토롤라 포맷(.s19), 또는 기타 다른 포맷 중 하나일 것이다. 실행 파일은 어떤 데이터들이 개별 주소로 쓰여져야 하는지에 대한 정보를 갖고 있다. 컴파일링, 어셈블링, 그리고 링킹 프로세스 전체를 설명하기 위해 ‘빌드 (build)’나 ‘메이크(make)’와 같은 표현을 쓰기도 한다.

실행 파일이 준비되면 프로그래머를 통해 MCU에 쓰여진다. 이렇게 하기 위해서 PC(개발 환경)는 디버그 케이블(그림 1b)을 통해서 타겟(실행 환경)에 연결되어야 한다. 쓰기 프로세스가 완료되면 그 프로그램을 실행하고 타겟이 의도하는대로 작동하는지 확인하기 위해서 디버거가 사용된다. 디버거는 프로그램의 전체적인 실행뿐만 아니라 코드를 한 줄씩 별도로 실행할 수 있으며(스테핑, stepping), 한 개의 기능을 실행해보고 멈추거나(스텝 오버, step over), 기능이 실행되는 중간에 코드의 첫번째 줄에서 중단하거나(스텝 인투, step into), 기능을 실행하고 나서 중단하거나(스텝 아웃, step out), 중단점(브레이크포인트, breakpoint)에 도달할 때까지 코드를 계속 실행할 수도 있다. 디버거는 또한 메모리, 레지스터, 그리고 다양한 모니터링 기능을 가지고 있다. 그렇기 때문에 특정 코드가 실행될 때 변수 또는 레지스터가 어떻게 바뀌는지를 확인할 수 있다. 어떤 IDE는 프로그램 실행 동안 어떻게 변수가 바뀌는지를 모니터링 할 수 있다.
목록으로

관련뉴스

image

ST, 장 마크 셰리 CEO 1년 연임 추진

STMicroelectronics가 감독이사회의 요청에 따라 장 마크 셰리 CEO의 1년 임기 연임을 추진한다. 2027년 정기주주총회에서 최종 승인을 받을 예정이며, ST는 현 경영진 체제의 연속성을 통해 기존 경영 전략과 성장 동력을 유지하겠다는 의지를 드러냈다.

2026.10.21 by 배종인 기자

image

ST, 에어컨·히트펌프용 소형 지능형 전력 모듈 출시

ST마이크로일렉트로닉스가 에어컨·히트펌프·산업용 드라이브용 소형 지능형 전력모듈 SLLIMM 컴팩트 시리즈를 출시했다. 600V 3상 IGBT 인버터 브리지를 단일 패키지에 집적하면서 기존 DBC 기반 제품 대비 크기를 30% 이상 줄였다. STGI15C60S는 18....

2026.10.13 by 배종인 기자

image

[인터뷰] 마테오 마라비타 ST AICC 센터장, “저전력·고효율 임베디드 AI 플랫폼으로 엣지 AI 대중화 이끌 것”

최근 AI의 중심이 빠른 응답 속도, 전력 및 비용 절감, 보안성 향상 등을 이유로 클라우드에서 엣지로 이동하고 있다. 또한 임베디드 AI 개발에서는 제한된 메모리 환경에 맞춘 모델 최적화가 중요시 되고 있다. 이런 가운데 ST마이크로일렉트로닉스(STMicroelect...

2026.10.08 by 배종인 기자

image

ST, 지속가능 소재 적용한 6축 IMU 출시…드론·스마트기기 겨냥

ST마이크로일렉트로닉스(STMicroelectronics)가 컨슈머 및 산업용 시장을 겨냥한 신규 6축 IMU인 LSM6DSK320X와 ISM6HGK256X를 공개했다.

2026.09.30 by 배종인 기자

image

ST, 차량 실내 센싱용 1.1MP 이미지 센서 VD56GA 출시

ST마이크로일렉트로닉스가 차량 실내 모니터링용 1.1MP 이미지센서 VD56GA를 출시했다. 적외선 기반의 이 센서는 이전 세대 대비 선명도 35%, 적외선 감도 60%를 향상시켰으며, 저비용 광학 부품 활용으로 전체 카메라 모듈 비용 절감이 가능하다. 운전자·탑승자 ...

2026.09.15 by 배종인 기자

Copyright © 2026 Ch5 e4ds News. All Rights Reserved