D-6 2024-12-18 10:30~12:00
e4ds / 임종수 대표
부트로더란?
"부트로더(Boot Loader)란 미리 정의한 조건에 따라서 현재 제품에서 실행하고 있는
응용 프로그램을 실행 시키거나 또는 외부 Host와 통신하여 새로운 응용 프로그램을 지정한 메모리에 저장하고,
이어서, 현재 응용 프로그램을 지운 후에 새로운 응용 프로그램을 실행해 주는 역할을 수행한다."
다음은 사용자가 정의한 방식에 따라서 응용 프로그램을 실행하는 bootloader에 대한 개념도입니다.
다음은 MCU 제조사가 MCU 제조 과정에서 일부 내부 flash memory 영역에 저장한 제조사 bootloader를
이용 하는 과정을 보여준 것입니다. 이처럼 모든 MCU 제조사는 해당 MCU에서 현재 실행하고 있는
응용 프로그램을 갱신할 수 있도록 제조사 bootloader를 제공합니다.
이처럼 모든 임베디드 개발자가 중급이상의 기술을 구현하기 위해서는
필수적으로 공부하고 넘어가야 하는 부 분이 부트로더입니다.
이번 시간에는 "공학박사 임종수의 STM32 Cortex-M 완벽활용서(Vol.2)"를 집필한
임종수 박사님의 부트로더의 이해와 운용방법에 대하여 자세히 살펴봅니다.
데모 예제로는 가장 대중적으로 많이 알려져 있는 Cortex-M core를 기반으로
ST 마이크로사의 프로그램 동작구현과 이미지 다운로드 하는 방법에 대하여 알아봅니다.
또한 이외 유저 부트 로더에서는 외부 플래시 메모리상에 두개의 이미지를 넣고,
버튼으로 선택하여 동작하는 모습을 구현합니 다.
또한, Real time OS인 uC/OS-II에 대한 개념과 구현 방식을 소개하고 이어서 전세계적으로 많이 사용하는
FreeRTOS를 STM32 MCU에서 어떻게 설정하고 사용하는지 설명함으로서
OS에 대한 개념 파악과 사용 방법을 함께 이해하는 시간을 갖도록 할 예정입니다.
이번 웨비나는 중급자를 위한 강좌인 만큼 하기의 내용을 어느정도 숙지하고
참여하시면 도움이 되니 참고하시기 바랍니다.
* 학습을 위해 사전 숙지 필요 사항
- 한번쯤 실행 어플리케이션을 만들어 보고 적용해본 경험이 있는 분
- CPU, MCU 동작원리를 이해하는 분
- UART 및 SPI가 무엇인지 그리고 사용할줄 아는 분