首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于用ADS编译S3C44B0X开发板BOOTLOADER的问题

关于用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时是程序跑飞了,后来将循环次数减少,发现程序可以正常运行。

请高手帮我看看这是什么原因造成的?也许这只是一个小问题,可我还不是很清楚,望高手赐教,在此谢过!

入口地址是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!)
QUOTE:
以下是引用linuxarm在2006-10-31 13:54:00的发言:
入口地址是0xc...意思是程序在SDRAM中跑,当然比flash ROM中快了.

这个我知道,可是44B0X复位后是从0x0地址开始运行,而且程序也是烧写在flash内,BOOTLOADER只是将RW与ZI数据段拷贝到SDRAM中,RO段数据应该还在flash内啊,程序怎么能在SDRAM中跑呢?
你肯定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!)

没有,BOOTLOADER程序我仔细看过了

况且44B0X也不支持mmu啊

返回列表