Repository navigation
stm32
CMSIS - Cortex Microcontroller Software Interface Standard HAL - Hardware Abstraction Layer LL - Low-layer APIs SPL - Standard Peripheral Library
https://www.youtube.com/watch?v=uT2NupiCKcM
CMSIS -> SPL
To fix scaling issues (tiny text/icons) in STM32CubeIDE on High-DPI/4K displays, you can use SWT auto-scaling arguments in the stm32cubeide.ini file.
-Dswt.autoScale=300
https://controllerstech.com/stm32-ll-drivers/
A Blue Pill DFU bootloader is a small piece of code installed on an STM32F103C8T6 "Blue Pill" board that enables firmware updates over USB (Device Firmware Update) without requiring a dedicated ST-Link debugger.
It allows the board to appear as a USB drive or standard USB device, simplifying code uploading from platforms like PlatformIO or Arduino IDE
https://github.com/davidgfnet/stm32-dfu-bootloader
https://www.pcb-hero.com/blogs/lickys-column/how-to-upload-stm32f103c8t6-usb-bootloader-program-stm32-blue-pill-via-usb generic_boot20_pc13.bin https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master
во время начальной загрузки выполняется не-сколько операций, задачей которых является подготовка среды выполнения для нашего приложения:
- создание стека и кучи,
- инициализация памяти данных,
- инициализация таблицы векторов
https://medium.com/@wahidkhanh/what-happens-before-main-debugging-an-stm32s-boot-sequence-506d78c1912f https://controllerstech.com/stm32-custom-bootloader-tutorial/
FSMC is a parallel line interface used to connect microcontrollers to external memories
https://hackaday.com/2020/12/23/bare-metal-stm32-exploring-memory-mapped-i-o-and-linker-scripts/
System Memory is a dedicated, read-only (ROM) area programmed by STMicroelectronics containing the factory bootloader used for flashing code via UART/USB/CAN.
-
указатель основного стека (Main Stack Pointer, MSP)
-
таблицу векторов
-
LMA - Load Memory Address
-
VMA - Virtual Memory Address
-
NVIC - Nested Vectored Interrupt Controller
https://vivonomicon.com/2018/04/20/bare-metal-stm32-programming-part-2-making-it-to-main/ https://metebalci.com/blog/demystifying-arm-cortex-m33-bare-metal-startup/ https://deepbluembedded.com/stm32-interrupts-tutorial-nvic-exti/ https://www.linkedin.com/posts/arshiya-tabassum_embeddedsytems-systemreset-resethandler-share-7421249498372370432-mv6M/
startup_stm32f4xx.s
https://www.martinhubacek.cz/blog/arm-cortex-bare-metal-gcc-assembly-tutorial/
https://dev.to/dalimay28/using-docker-for-embedded-systems-development-b16
My footer
My side bar