본문 바로가기

728x90

개발 이야기/STM32 보드

(16)
STM32 - 링커스크립트, 섹션, 빌드 과정 이해하기 STM32C0316-DK 펌웨어 강좌 - 빌드과정 이해하기 관련 강좌를 공유합니다. 내용을 보시면, 링크스크립트와 text, data, rodata (FLASH) 그리고 data, bss, stack, heap 관련 섹션들과 전체적인 build 과정을 이해할 수 있습니다. https://www.youtube.com/watch?v=Rg8HYwBczbc&list=PLvFHFPM09alIIwSBz0Pg2WS1_5zjF2Xou&index=5 그럼, 공유합니다.
STM32C0316-DK 펌웨어 강좌 #10 - STM32CubeMonitor STM32 관련하여 펌웨어 개발 시 STM32CubeMonitor 라는 툴을 제공하는데 큐브모니터라는 툴은, 간단히 해당 보드의 elf 파일을 이용하여 variable을 획득하고 이를 Node-Red 방식으로 그래프나 차트 형태로 보여줄 수 있게 도와주는 툴입니다. 이 툴을 사용하는데 기본 강좌의 링크를 공유합니다. https://www.youtube.com/watch?v=z3mDkmiF3vQ&list=PLvFHFPM09alIIwSBz0Pg2WS1_5zjF2Xou&index=10 그럼, 공유합니다.
[펌웨어] STM32G0xx - 내부 Flash(2KB)를 데이터 저장 메모리로 사용 이번에는 STM32G030 의 일부 메모리(2KB)를 데이터 저장 메모리로 사용해 봤습니다. ​ STM32G030F6 은 Flash가 32KB 로 작아서 맨 뒤의 메모리 2K만 저장 용도로 사용했습니다. 다음 그림의 PAGE15 를 저장 공간으로 사용하고, PAGE0~14 는 프로그램 메모리로 사용합니다. ​ CUBEIDE에서 2K를 프로그램 메모리에서 제외시켜야 하는데, STM32G030F6PX_FLASH.id 파일을 열고 FLASH LENGTH를 32K->30K 로 수정하면 됩니다. ​ 다음과 같은 파일을 2개 만들고 flash 관련 함수들을 만들어 넣었습니다. 이 함수들은 PAGE15 에 해당하는 Flash 메모리를 읽고 쓰고 지우는 기능을 하고 있습니다. /* * iflash.h * * Creat..
STM32F4 HAL 드라이버 - USB HID 및 CDC 사용하기 STM32F4 HAL 드라이버에서 USB SOF를 찾다가 USB HID 및 CDC 사용하기 관련 내용이 좋아 하기 출처를 가져왔습니다. https://cafe.naver.com/openiot/261 STM32F4 HAL 드라이버 8 - USB HID 및 CDC 사용하기 STM32F4 HAL 드라이버 8 - USB HID 및 CDC 사용하기 작성자: 매발톱수정: 2018.06.20버전: 11. USB 개요범용 직렬 버스(Universal Se... cafe.naver.com 그럼, 공유합니다.
RCC 레지스터의 CSR비트와 BKP레지스터의 응용 (링크) RCC 레지스터의 CSR비트와 BKP레지스터의 응용하여 보드의 reset 버튼이 몇번 눌려졌는지 확인할 수 있는 방법을 공유합니다. https://www.youtube.com/watch?v=2Zjb1V918x4&list=PLvFHFPM09alKygQq-L6_6DwuNqTybIAw0&index=8 위 내용을 요약하면, BKP 레지스터라고 RTC battery만 살아있으면 보드가 power off 되도 BKP레지스터의 내용은 사라지지 않고 남습니다. 이를 활용하여 reset 버튼을 누를 시, RCC->CSR 비트에서 reset버튼이 눌림을 감지할 수 있어 눌려진 횟수를 BKP레지스터에 write 하여 이를 응용하여 reset 버튼이 몇번 눌렸는지에 대해 부팅 시 부트로더가 작동하던지 하는 다른 응용의 예를 ..
stm32 - USB CDC 구현하기 STM32 보드에서 CubeMX로 USB 디바이스와 USB 스택 중 CDC 코드를 만들어서 가져와서 자신만의 CDC통신 기능을 구현하는 유용한 링크를 공유합니다. 총 3편이고 순서대로 보시면 됩니다. 1. => https://www.youtube.com/watch?v=HHHlxLbiyHY&list=PLvFHFPM09alKygQq-L6_6DwuNqTybIAw0&index=4 2. => https://www.youtube.com/watch?v=3qmM5rTRyKU&list=PLvFHFPM09alKygQq-L6_6DwuNqTybIAw0&index=5 3. => https://www.youtube.com/watch?v=7PQ2G8fgVOY&list=PLvFHFPM09alKygQq-L6_6DwuNqTybIAw0&..
STM32 - RAM이 Flash보다 빠르다고??? 하기 영상을 보니, 실행 코드가 항상 Ram에서 동작하는 것이 Flash에 있는 동일한 코드보다 빠른 것이 아닙니다. 우선 하기 영상을 보시면,,, => https://www.youtube.com/watch?v=ljh2vP1xAbk&list=PLvFHFPM09alKygQq-L6_6DwuNqTybIAw0&index=24 결론은, CPU 캐쉬 여부와 또 메모리 버스가 62비트인지 32비트인지 그리고 메모리 버스 구조에 따라 Flash에 있는 코드가 Ram에 있는 코드보다 빠를 수도 있다는 것입니다. 좋은 걸 배웠네요. 그럼, 공유합니다.
STM32 Heap 메모리 확인 STM32 Heap 메모리 확인 관련 유용한 링크를 공유합니다. => https://blog.naver.com/PostView.naver?blogId=chcbaram&logNo=222409149964&categoryNo=32&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postList&userTopListOpen=true&userTopListCount=10&userTopListManageOpen=false&userTopListCurrentPage=1 => https://www.youtube.com/watch?v=leOVhRih0fo 그럼, 공유합니다.

728x90