原创
[eCos移植] Redboot信息在NorFlash的存放
LPC2478系统使用的NorFlash为SST39VF1601(2M bytes)。
Redboot的启动信息如下:
RAM: 0xa0000000-0xa2000000 [0xa0005d28-0xa1ffc000 available]
FLASH: 0x81000000-0x811fffff, 512 x 0x1000 blocks
在初始化Flash时,并没有擦除整个芯片,信息如下:
RedBoot> fis init -f
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0x81020000-0x811fdfff: .
... Erase from 0x811ff000-0x811fefff:
... Erase from 0x811ff000-0x811fffff: .
... Program from 0xa1fff000-0xa2000000 to 0x811ff000: .
可见,最低地址的128k字节没有被使用,最高地址的8k字节被用来放置系统信息与配置信息。
利用 dump 或 x 命令可以看到这些地址的内容。
RedBoot> x -b 0x811fe000 -l 0x1000
811FE000: 00 10 00 00 CE FA AD 0B 01 0C 01 00 62 6F 6F 74 |............boot|
811FE010: 5F 73 63 72 69 70 74 00 00 00 00 00 04 11 01 0C |_script.........|
811FE020: 62 6F 6F 74 5F 73 63 72 69 70 74 5F 64 61 74 61 |boot_script_data|
811FE030: 00 62 6F 6F 74 5F 73 63 72 69 70 74 00 00 00 00 |.boot_script....|
......
811FE240: 0C 62 6F 6F 74 5F 73 63 72 69 70 74 5F 74 69 6D |.boot_script_tim|
811FE250: 65 6F 75 74 00 62 6F 6F 74 5F 73 63 72 69 70 74 |eout.boot_script|
811FE260: 00 00 00 00 00 02 12 01 00 63 6F 6E 73 6F 6C 65 |.........console|
811FE270: 5F 62 61 75 64 5F 72 61 74 65 00 00 E1 00 00 00 |_baud_rate......|
在_baud_rate后面的4个字节的值即为终端的波特率。0x0000E100=57600。
通过命令 baudrate -b 115200 可以修改这个参数。
RedBoot> baudrate -b 115200
Baud rate will be changed to 115200 - update your settings 【注:接着应该修改上位机的波特率,以便收到下面的信息,并发回确认信息】
Baud rate changed to 115200 - continue (y/n)? y
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0x811fe000-0x811fefff: .
... Program from 0xa1ffe000-0xa1fff000 to 0x811fe000: .
再使用 x 命令
RedBoot> x -b 0x811fe000 -l 0x1000
811FE240: 0C 62 6F 6F 74 5F 73 63 72 69 70 74 5F 74 69 6D |.boot_script_tim|
811FE250: 65 6F 75 74 00 62 6F 6F 74 5F 73 63 72 69 70 74 |eout.boot_script|
811FE260: 00 00 00 00 00 02 12 01 00 63 6F 6E 73 6F 6C 65 |.........console|
811FE270: 5F 62 61 75 64 5F 72 61 74 65 00 00 C2 01 00 00 |_baud_rate......|
系统重新上电后,就会按着最后设定的波特率运行。
关于NorFlash空间的安排,原来如此:
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0x81000000 0x81000000 0x00020000 0x00000000
RedBoot config 0x811FE000 0x811FE000 0x00001000 0x00000000
FIS directory 0x811FF000 0x811FF000 0x00001000 0x00000000
暂时还没有其他文件。
文章评论(0条评论)
登录后参与讨论