原创 [eCos移植] Redboot信息在NorFlash的存放

2009-11-16 22:07 3420 4 4 分类: MCU/ 嵌入式
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条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条