主题 : uboot在RAM中调试问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 34148
精华: 0
发帖: 17
金钱: 90 两
威望: 18 点
贡献值: 0 点
综合积分: 34 分
注册时间: 2010-12-11
最后登录: 2017-09-13
楼主  发表于: 2013-05-29 10:35

 uboot在RAM中调试问题

刚移植了UBOOT-1.1.1到44B0开发板上。开发板采用的是恒丰的板子,搭载SST39VF160 FLASH和现代的SDRAM 8M。
现在的问题是,u-boot.bin下载到开发板上可以成功引导uclinux内核。但我想用UBOOT的命令loadb将u-boot.bin加载到SDRAM运行。
我的u-boot.bin编译的时候TEXT_BASE=0x0c600000。而烧录到FLASH中的正在工作的UBOOT的TEXT_BASE=0x0c700000。
可以用loadb命令将需要调试的u-boot.bin加载到0x0c600000处,然后,用go 0x0c600000运行时,则没有任何显示。我用LED灯调试了一下。可以进入到start_armboot()函数中,但是不能进入到display_banner()函数中开始打印信息。而且还有一个奇怪的问题是,我在调试的u-boot中打开了CONFIG_INIT_CRITICAL定义。因此,会执行硬件初始化和存储器控制器的初始化memsetup。我在这之后,加入LED点灯测试代码。但是,我仍然能看到我的开发板上的LED是按我的设计正常工作的。但如果程序在SDRAM中运行时,再次对SDRAM进行初始化不是应该清空SDRAM中的数据么?