원문 캡처 · github.com
원문 캡처 · github.com

STM32F7 보드로 임베디드 소프트웨어를 단계별로 익힐 수 있는 프로젝트 21개를 모은 저장소가 공개됐다. 예제 1~6은 오픈소스로 제공되며, 예제 7~21은 전체 단계별 구현을 교재에서 확인해야 한다.

저장소는 STMicroelectronics Nucleo-F746ZG 보드와 ARM Cortex-M7을 대상으로 한다. 펌웨어 예제는 C와 C++, PC에서 보드를 다시 프로그래밍하는 유틸리티는 Python으로 작성한다.

  • 예제 1~6은 LED 점멸과 버튼 입력에서 시작해 인터럽트와 디바운싱을 다룬다. 각 예제의 소스는 01_LED_1부터 06_LED_Button_4까지 확인할 수 있다.
  • 예제 7~13은 UART 통신과 LED 제어, PWM, ADC를 다룬다.
  • 예제 14~18은 SPI와 DMA, 가속도계 읽기, I2C 주변장치 제어를 포함한다.
  • 예제 19~21은 유량계와 펌프를 쓰는 제어기, FreeRTOS와 이더넷 TCP/IP, 부트로더 및 보드 재프로그래밍용 Python 도구로 이어진다.

저장소는 교재 『Hands-On Embedded Software Design and Programming』의 공식 코드 보조 자료다. 제작자는 STMicroelectronics HAL 라이브러리를 사용한다고 설명한다.