728x90
반응형
- ARM Cortex-m55 기반의 STM32 32bit MCU 상에서 동작
- STM32N6 Series MCU 개발에 필요한 Embedded Software Components 들의 집합체
- STM32Cube와의 상호작용을 통해 STM32N6 뿐만 아니라 STM32 Series와도 호환 가능
- STM32CubeN6 MCU Package Solution은 위 사진처럼 서로 상호작용이 용이한 3개의 Level로 구성되어있다
Level 0
- BSP (Board Support Package) : LCD, Audio, microSD 등의 Hardware와 연관된 API 제공
- Component : STM32가 아닌 외부 장치와 연관된 Driver
- BSP Driver : 특정 Board와의 linking을 지원하고 User 친화적인 API를 제공
Naming 형식은 BSP_FUNCT_Action()
Ex) BSP_LED_Init(), BSP_LED_On() - Modular Architectrue를 기반으로 하여 Low Level routine 구현만으로 어떤 Hardware든 Porting이 가능토록 함
- HAL (Hardware Abstraction Layer) : 사용자 Application의 구현을 간단하게 하는 High Level oriented highly portable API 제공
- HAL Peripheral drivers
- Low Layer drivers : HAL보다 Hardware에 가까운, 가볍고 빠른 Expert - Oriented Layer
HAL과는 반대로 최적화된 접근이 중요하지 않은 주변장치나 무거운 SW 구성, 복잡한 Upper Level Stack에는 제공되지 않음
- Basic Peripheral usage examples : HAL, BSP 자원을 사용하는 STM32 주변기기들에 대한 Example
Level 1
- Middleware Components
- Microsoft Azure RTOS, VeriSilicon H.264 video encoder software stack, external memory manager, USBPD library를 포함하는 Libary들의 집합
- Middleware components 기반의 Examples
- STM32CubeN6 Package Solution은 위의 사진과 같은 구조를 갖는 하나의 zip 파일로 제공된다
- Project 폴더를 제외한 다른 파일들은 수정하면 안됨
- STM32N6570-DK 폴더 내의 예제들
- Level 0 Example : Examples, Examples_LL. Middleware 요소를 제외한 HAL / LL Drivers
- Level 1 Example : Applications. 각 Middleware 요소들에 대한 전형적인 사용법
- Templates / Templates_LL : 이 폴더 내의 Template Projects를 활용하여 주어진 Board의 Firmware Application을 빠르게 만들 수 있음
- 각 Board에 사용 가능한 template, example, application은 STM32CubeProjectsList.html 파일에서 확인 가능
- STM32CubeN6 MCU Package에서 대부분의 HAL 예제들은 bootROM 실행 직후인 internal RAM에서 실행됨
- HAL 예제가 FSBL(First Stage Boot Loader) project로 불리는 이유
- 대부분의 Example과 Application은 기본적인 Template 구조를 따름
IDE
- STM32CubeN6는 아래의 STM 사의 Development Tool을 통해 개발이 가능하다
- STM32CubeMX
- STM32CubeIDE
- STM32CubeCLT
- STM32CubeProgrammer
- STM32CubeMonitor
728x90
반응형
'Study_Embedded' 카테고리의 다른 글
About AVR, ARM Processor, and Protocol (0) | 2023.10.09 |
---|---|
Jetson Nano 'System throttled due to Over-Current 관련 (0) | 2023.09.08 |
USB, COM 포트 차이 (0) | 2023.02.13 |
임베디드 시스템이란? (0) | 2022.07.23 |
[용어 공부] 펌웨어(Firmware)란 (0) | 2021.09.05 |