前面0X1FFFEC00开始的那写函数不用白不用,这次用到擦写和写FLASH的函数。
我这个片子是 STM32F030F4P6,注意每种型号不一样哦,这个只能用在STM32F030F4P6上。
其实没什么意义,除非FLASH不够用
直接把0X1FFFEC00到0X1FFFFFFF读到BIN文件
上IDA 反汇编找到FLASH操作的函数,然后在程序里直接调用。
这个没仔细分析,只找到我要用的函数
stm32f0boot.zip
(39.35 KB)
.equ fjiesuo, 0x1fffef62
.equ ojiesuo, 0x1fffef6e
.equ quanca, 0x1fffeff8
.equ yeca, 0x1fffefda
.equ zica, 0x1ffff020
.equ xieflash, 0x1fffef9a
.equ zixie, 0x1ffff048
.equ xiebaohu, 0x1ffff0a6
.equ jiancedubaohu, 0x1ffff124
.equ flashmang, 0x1fffef7a
FPEC解锁
ldr r4, = fjiesuo
movs r5, # 3
add r5, pc
mov lr, r5
mov pc, r4
OPTWRE解锁
ldr r4, = ojiesuo
movs r5, # 3
add r5, pc
mov lr, r5
mov pc, r4
页擦除,擦除0X8000400这一页
ldr r4, = yeca
ldr r0, = 0x8000400
movs r5, # 3
add r5, pc
mov lr, r5
mov pc, r4
写FLASH
0X8000400写0X12345678
ldr r4, = xieflash
ldr r0, = 0x8000400
ldr r1, = 0x12345678
movs r5, # 3
add r5, pc
mov lr, r5
mov pc, r4
写前
写后
|