Nội dung liên quan
#embedded
Flash, EEPROM và RAM khác nhau như thế nào?
Giải thích nguyên lý hoạt động của Flash, EEPROM và RAM.
Flash Operations STM32: Erase, Write, Polling và tại sao program đứng
Cách thao tác Flash STM32 qua HAL: unlock, erase, write, polling vs interrupt, và nguyên nhân program freeze khi xóa Flash.
Linker Script STM32: MEMORY, sections và tại sao .data cần hai địa chỉ
Giải thích linker script STM32 căn bản: MEMORY region, .text/.data/.bss, LMA vs VMA, startup copy.
Reset Vector và Bootloader trên Cortex-M: VTOR, MSP và jump sequence
Reset vector là gì, VTOR hoạt động ra sao, và chuỗi bước cần thiết để bootloader jump đúng cách vào application - tránh crash sau khi có interrupt đầu tiên.
Startup Code STM32: Reset Handler, Vector Table và những gì xảy ra trước main()
Giải thích startup code STM32: vector table, reset handler, MSP, copy .data, zero .bss - những gì firmware phải làm trước khi gọi main().
STM32G0 Dual Bank Flash: Read-While-Write và EEPROM Emulation không freeze
STM32G0B1 dual bank mode: DBANK option bit, read-while-write, tại sao erase Bank 2 không block code đang chạy ở Bank 1, và gotcha về prefetch khi jump giữa bank.