关于用ADS编译S3C44B0X开发板BOOTLOADER的问题
- UID
- 149147
- 性别
- 男
|
关于用ADS编译S3C44B0X开发板BOOTLOADER的问题
手头有块三星S3C44B0X开发板,硬件配置是网上最常见的那种,nGcs0接SST39VF1601,nGcs6接HY57V641620。 这两天在看BOOTLOADER,发现一个问题,百思不得其解。 问题描述: 同一个BOOTLOADER程序,在ADS1.2中设置ARM Linker参数为以下两种情况: 情况1:RO BASE 设 0x0000000 RW BASE 设 0xc100000 Image entry point 设 0x0000000 情况2:RO BASE 设 0xc000000 RW BASE 设 0xc100000 Image entry point 设 0xc000000 以上2种情况都能通过编译,将hex文件烧写到Flash中后发现程序运行速度差异很大,情况1很慢,情况2很快。 尤其是执行延迟循环时更加明显,从超级终端看,情况1时CPU执行循环的时间相对于情况2而言长了很多,害我当初以为情况1时是程序跑飞了,后来将循环次数减少,发现程序可以正常运行。 请高手帮我看看这是什么原因造成的?也许这只是一个小问题,可我还不是很清楚,望高手赐教,在此谢过! |
|
|
|
|
|
- UID
- 133947
- 性别
- 男
|
入口地址是0xc...意思是程序在SDRAM中跑,当然比flash ROM中快了. |
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!) |
|
|
|
|
|
- UID
- 149147
- 性别
- 男
|
以下是引用linuxarm在2006-10-31 13:54:00的发言: 入口地址是0xc...意思是程序在SDRAM中跑,当然比flash ROM中快了. 这个我知道,可是44B0X复位后是从0x0地址开始运行,而且程序也是烧写在flash内,BOOTLOADER只是将RW与ZI数据段拷贝到SDRAM中,RO段数据应该还在flash内啊,程序怎么能在SDRAM中跑呢? |
|
|
|
|
|
- UID
- 133947
- 性别
- 男
|
你肯定bootloader没有copy RO段到SDRAM中? |
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!) |
|
|
|
|
|
- UID
- 149147
- 性别
- 男
|
没有,BOOTLOADER程序我仔细看过了 况且44B0X也不支持mmu啊 |
|
|
|
|
|