2023. 4. 8. 19:42ㆍ[Harman] 세미콘(semiconductor) 아카데미-반도체설계/임베디드 시스템을 위한 SW 구조설계
ST사의 STM32F411RE보드를 이용하여 공부를 진행하였다.
개발환경에서 가장 중요한 것은 타겟과 에뮬레이터이다.
- 에뮬레이터
에뮬레이터는 보드 없이 호스트 PC상에서 타깃 바이너리 파일을 수행할 수 있는 프로그램을 말한다.
에뮬레이터를 이용하면 실제 보드 없이 가상 임베디드 시스템을 구성하여 어플리케이션을 테스트 할 수 있다.
개발은 무조건 사용되는 MCU의 데이터시트를 참고하며 진행해야한다.
ST사 홈페이지에서 현재 우리가 사용하는 보드(NUCLEO-F411RE)의 회로도와 MCU(STM32F411RE)의 데이터시트를 다운로드받을 수 있다.
MCU(STM32F411RE)의 데이터시트를 보면 인터럽트 기능을 가진 81개의 I/O 포트, 13개의 통신 포트(3개의 I2C포트, 3개의 USART포트, 5개의 SPI/I2S포트) 등의 현재 사용하는 MCU의 기본 성능들이 어떻게 되어있는지 확인할 수 있다.
또한 이 MCU에서 사용되는 각종 포트들에 관련된 데이터 시트는 Reference Manuals의 메뉴얼을 보면 알 수 있다.
Reference Manuals의 파일을 살펴보면 우리가 사용하는 MCU의 메모리부터 GPIO, 인터럽트, DMA, peripheral등의 레지스터들이 어떻게 동작하는 지 설명이 되어있다. 그래서 개발할때는 레지스터와 관련된 내용이 적혀있는 이런 메뉴얼을 보며 개발하는 것이 좋다.
데이터시트는 Reference Manuals 한개만 있는 것이 아닌, 각종 통신, 버스 등 여러 데이터 시트들이 존재한다.
- 환경설정
NUCLEO-F411RE 보드를 사용하기 위해서는 이 보드에 맞는 통합 개발 환경(IDE) 프로그램을 다운로드 해야한다.
통합 개발 환경(IDE)이란 프로그래머가 소프트웨어 코드를 효율적으로 개발하도록 돕는 소프트웨어 애플리케이션으로 해당보드 IDE는 ST 홈페이지에서 다운로드할 수 있다.
우리가 가지고 있는 보드인 NUCLEO-F411RE보드를 사용해야 하니 Board Selector를 선택한 후 사용 보드를 입력하여 프로젝트를 만든다.
해당 화면에서 이제 STM32보드 개발을 시작할 수 있다.
현재 우리가 사용하는 포트의 GPIO는 System core에서 확인해보면 PA5와 PA13이 있는 것을 확인할 수 있다.
- GPIO(General Purpose Input / Output)\
레지스터는 데이터를 저장하는 공간으로, GPIO, 각종 Peripheral, band(전송속도) 등 MCU기능의 전부분에 존재한다.
GPIO는 입력, 출력을 하는 핀으로, 일반적인 목적으로 입출력 하는 MODER가 16개 존재한다.
GPIO_MODER는 한 블럭 당 2비트에 해당하며, 총 4개의 기능을 표현할 수 있다.
00 | 입력 |
01 | 출력 |
10 | Altenate function mode (USART, I2C, SPI등 통신관련 모드) |
11 | 아날로그 모드 (ADC, DAC등에 해당하는 모드) |
GPIO는 한 PORT에 16개의 MODER가 존재하며, 한개의 MODER는 2비트로 16*2 = 32비트, 한개 GPIO A ~ H까지 구성되어 있다. 그러나 현재 우리가 사용하는 보드는 GPIO A ~ C 까지의 포트만 존재한다.
STMCubeIDE = https://www.st.com/en/development-tools/stm32cubeide.html
STM32CubeIDE - STMicroelectronics
STM32CubeIDE - Integrated Development Environment for STM32, STM32CubeIDE-RPM, STM32CubeIDE-Lnx, STM32CubeIDE-Win, STM32CubeIDE-DEB, STM32CubeIDE-Mac, STMicroelectronics
www.st.com
Reference Manuals = https://www.st.com/en/microcontrollers-microprocessors/stm32f411re.html#documentation
STM32F411RE - STMicroelectronics
STM32F411RE - High-performance access line, Arm Cortex-M4 core with DSP and FPU, 512 Kbytes of Flash memory, 100 MHz CPU, ART Accelerator, STM32F411RET6TR, STM32F411RET7, STM32F411RET6, STMicroelectronics
www.st.com
NUCLEO-F411RE 회로도 = https://www.st.com/en/evaluation-tools/nucleo-f411re.html#cad-resources
NUCLEO-F411RE - STMicroelectronics
NUCLEO-F411RE - STM32 Nucleo-64 development board with STM32F411RE MCU, supports Arduino and ST morpho connectivity, NUCLEO-F411RE, STMicroelectronics
www.st.com
'[Harman] 세미콘(semiconductor) 아카데미-반도체설계 > 임베디드 시스템을 위한 SW 구조설계' 카테고리의 다른 글
임베디드 시스템을 위한 SW 구조설계 6 (3) | 2023.04.18 |
---|---|
임베디드 시스템을 위한 SW 구조설계 5 (1) | 2023.04.16 |
임베디드 시스템을 위한 SW 구조설계 4 (0) | 2023.04.15 |
임베디드 시스템을 위한 SW 구조설계 3 (0) | 2023.04.12 |
임베디드 시스템을 위한 SW 구조설계 2 (0) | 2023.04.08 |