From 46a3ab60075bff3414d2bde0cedd3e7557a38164 Mon Sep 17 00:00:00 2001 From: true Date: Sun, 25 Jun 2023 05:01:16 -0700 Subject: [PATCH] bootloader: flash page erase is on-demand, now fits in 2K Flash pages are only erased as needed during the flash routine, which makes flashing faster as well as making the transfer consistent. Later datasheets have the flash clock set to 2MHz. I've set it to 2MHz here. I may undo this change later depending on how slow loading a 14K firmware feels. Was able to save enough space to reduce bootloader size from almost 2.5K to 2K exactly. Adjusted flash offsets to start from 0x800. GPIO values are now mostly reset to power-on defaults. Fixed some formatting. Removed dead code. --- bootloader_hk32f030m_uart_xmodem/.cproject | 2 +- ...ootloader_hk32f030m_uart_xmodem_v0.0.2.bin | Bin 0 -> 2048 bytes ...ootloader_hk32f030m_uart_xmodem_v0.0.2.hex | 134 ++++++++++++++++++ ...otloader_hk32f030m_uart_xmodem _dbg.launch | 10 +- .../code/inc/flash.h | 5 +- .../code/inc/usart.h | 4 +- .../code/inc/user_io.h | 1 - .../code/inc/xmodem.h | 4 +- .../code/src/flash.c | 75 ++++------ .../code/src/main.c | 46 +++--- .../code/src/usart.c | 76 ++-------- .../code/src/user_io.c | 48 +++++-- .../code/src/xmodem.c | 57 ++++---- .../HK32F030M/Source/startup_hk32f030mf4p6.s | 74 +++++----- .../CMSIS/HK32F030M/Source/system_hk32f030m.c | 49 +++---- 15 files changed, 336 insertions(+), 249 deletions(-) create mode 100644 bootloader_hk32f030m_uart_xmodem/_bin/bootloader_hk32f030m_uart_xmodem_v0.0.2.bin create mode 100644 bootloader_hk32f030m_uart_xmodem/_bin/bootloader_hk32f030m_uart_xmodem_v0.0.2.hex diff --git a/bootloader_hk32f030m_uart_xmodem/.cproject b/bootloader_hk32f030m_uart_xmodem/.cproject index c45870e..4d7db8e 100644 --- a/bootloader_hk32f030m_uart_xmodem/.cproject +++ b/bootloader_hk32f030m_uart_xmodem/.cproject @@ -22,7 +22,7 @@