본문 바로가기

분류 전체보기

(13)
STM32 L432KC 부트로더 개발하기(2) 부트로더를 설계하기 위해 메모리 구조를 설계하였습니다. Boot:리프로그래밍 관련 담당 부 Metadata: boot와 app 간에 데이터를 공유하는 부 Application: 실제 기능을 담당하는 부 최초 공장 출하 상태의 MCU에 디버거를 이용해 BOOT 영역 메모리를 write 하게 됩니다. 이후 MCU가 부팅되면서 metadata 영역의 특정 값을 확인하여 application 유무를 확인합니다. application이 아직 쓰이지 않은 경우 host의 명령을 받아 memory erase/write를 수행합니다. application이 쓰여있는 경우, app reset handler로 jump하여 application 동작을 수행합니다. application 상에서도 host의 명령을 받아 boo..
STM32 L432KC 부트로더 개발하기(1) 부트로더 개발을 위해 몇가지 기능들을 먼저 테스트 하고자 한다. 1. Flash Erase 2. Flash Write 3.UART Tx,Rx 정도... 우선 Flash 특정 영역을 지우기 위해, 현재 전체 Flash 사용중인 것을 수정해 본다. STM32L432KCUX_FLASH.ld 파일의 Flash 영역 Length를 120K로 수정하였다. main 코드에는 다음과 같은 코드를 작성하였다. /* USER CODE BEGIN 2 */ HAL_FLASH_Unlock(); EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES; EraseInitStruct.Page = 95; //0x0802F800 EraseInitStruct.Banks= FLASH_BANK_1; Eras..
L432KC Green LED NUCLEO 보드를 보면 오른쪽 아래 green LED가 존재합니다. 오늘은 이 LED를 켜고 끄는 동작을 구현해보겠습니다. 우선 이 LED의 HW 적인 연결을 확인해야 합니다. https://www.st.com/resource/en/user_manual/um1956-stm32-nucleo32-boards-mb1180-stmicroelectronics.pdf ST에서 제공하는 user manual의 HW 연결도를 확인해보면 다음과 같습니다. green LED가 한쪽은 gnd, 한쪽은 MCU의 PB3에 연결이 되어있습니다. 따라서 MCU의 PB3에 High(5V) 를 주게되면 LED가 켜질것으로 예상됩니다. project exprorer에서 프로젝트이름.ioc 를 클릭하면 다음과 같은 핀 configura..
STM32CubeIDE 설치, 연결 STM32의 코드를 작성, 컴파일, 디버깅 까지 할 수 있도록 도와주는 IDE가 STM32cubeIDE입니다. 공식 홈페이지에서 다운받을 수 있습니다. https://www.st.com/en/development-tools/stm32cubeide.html#get-software STM32CubeIDE - STMicroelectronics STM32CubeIDE - Integrated Development Environment for STM32, STM32CubeIDE-RPM, STM32CubeIDE-Lnx, STM32CubeIDE-Win, STM32CubeIDE-DEB, STM32CubeIDE-Mac, STMicroelectronics www.st.com 저는 가장 아래 STM32CubeIDE-Win -..
NUCLEO L432KC 시작 NUCLEO L432KC로 여러가지 기능들을 다뤄볼 예정입니다. 해당 제품은 ST-LINK라는 디버거가 내장되어 있기 때문에 따로 디버거를 구매할 필요가 없습니다. 또한 크기가 작으면서도 다양한 기능이 제공됩니다. 메뉴얼에서 몇가지 정보를 확인해볼 수 있습니다. - 1 user LED는 MCU의 GPIO와 연결되어 있어서 간단히 동작을 확인할때 사용할 예정입니다. - Micro USB connector 의 경우 연결을 위해 micro 5핀 케이블을 구매하면 됩니다. 아래 그림과 같이 생겼는데 초창기 스마트폰에 사용되던 제품인 것 같습니다. 메뉴얼의 파트넘버 규칙에 따라 제품 flash 사이즈도 확인이 가능합니다. Y번째 char가 C 이므로 256Kbytes 용량인것으로 보입니다. STM32 Nucleo..