1. FLASH划分
0-0x300000,boot程序
0x300000-0x400000,存储启动标志版本信息等等
0x400000-0x800000,存储出场区程序
0x800000-0xc00000,存储重构区程序
2.boot程序功能划分
- 初始化定时器、初始化串口/网口、初始化QSPI-FLASH
- 等到指定时间或收到特定指令,从FLASH中读取启动标志,并跳转到指定地址执行
3. 关键寄存器介绍
- multiboot寄存器,地址0xF800702C,往这个地址写入要启动的地址,单位是32KB,例如写0x100,则启动地址是0x100*0x8000=0x800000,但是写这个寄存器之前需要解锁,即往对应寄存器组的unlock寄存器写解锁值,本初是往0xF8007034地址写0x757BDF0D。
- 软件复位寄存器,地址0xF8000200,往这个寄存器写0x1表示软件复位,但是写这个寄存器之前也要解锁,往0xF8000008寄存器写0xDF0D。
4.目前已测试功能
1.定时器到期后自动加载到出场区或重构区
2. 接收特定指令选择出场区或重构区启动(未测试)
3. 往QSPI-FLASH指定地址写一个字节数据(未测试)