主题 : Tiny210V2 SDK1301自制BL1,引导裸机程序只能运行一部分 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 99165
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2013-12-20
最后登录: 2017-03-06
楼主  发表于: 2014-06-06 15:47

 Tiny210V2 SDK1301自制BL1,引导裸机程序只能运行一部分

如题,小弟最近研究Tiny210V2 SDK1301的bootloader,打算自己制作引导程序,根据各种攻略
目前已经实现nand(K9F4G08U0B) 8-BIT HWECC,自制的BL1代码已经能正常使用,可以将nand
中保存的裸机程序加载至SDRAM并运行,但问题来了,如果用superboot210加载至SDRAM,裸机
程序可以正常运行,但是用自制的BL1加载至SDRAM,则只运行一部分。死掉的函数中有一个2K的
数组(未初始化),从打印出的信息,我大概知道函数中变量的地址和内容结果都是在0XD0037680 - 0XD0037F80之间
貌似数组的内容没有在内存中。请教各位大神,这是什么情况,难道是我堆栈设置有问题?
为什么只能运行一部分,难道内存初始化也有问题?
我设置的堆栈:sp = 0xD0037D80  我的裸机程序大小:400K
内存是512M DDR 地址 0x00000000 - 0x3fffffff   DRAM控制器:DMC0 bank:0-7
急急急。。。