|
我的开发板是广嵌的GEC2410(据老大说是骗子公司,但板子还是他买的,我服了),它的bios 是抄的优龙的,能同时引导linux与wince的一个比较通用的那个,界面如下的这个东东,大家应该比较熟悉吧
AND Flash Boot
Please select function :
0 : USB download file
1 : Uart download file
2 : Write Nand flash with download file
3 : Load Pragram from Nand flash and run
4 : Erase Nand flash regions
5 : Write NOR flash with download file
6 : Set boot params
7 : Set AutoBoot parameter,1:linux 2:wince
我在bios加入将logo图片对应的数组加入后,编译后得到了bios.bin文件变了70多K,而在nandflash分区中给bios分的却是256K,其余都没有改动,可烧写nandflash后就无法启动wince内核了,后来我把图片改小点,发现当启动wince时,下面有一部分图片则不显示了(只显示了图片的一部分),可bin文件并没有超过256K,不明白到底怎么回事?
后来继续将logo图片改小,没有问题。
现在bios.bin为58.7K,nandflash的分区信息如下:
0 : offset 0x0 , size 0x40000 [boot]
1 : offset 0x40000 , size 0x1d0000 [kernel]
2 : offset 0x200000 , size 0x1e00000 [cramfs]
3 : offset 0x2000000 , size 0x2000000 [ext-fs3]
其中wince是烧写在分区3中的。
现在在ADS中编译链接后我又一个新问题
在ADS中链接后显示
RO size(code+ro data) 38.4K
RW size(rw data + zi data) 171.07K
ROM size (code + rw data +ro data) 58.76K
看来烧入到flash中的数据大小只是rom size这一块了?
而在ADS工程中设置RO BASE 为0x30100000(在SDRAM中,我的SDRAM空间起如地址为0x30000000,大小为64M,上电重nandfalsh启动),这个就是说当上电以后,bios在从sdram中的0x30100000这个地址开始运行,而bios在sdram中的运行地址范围是多少呢?
|
|