主题 : 裸机程序下载初始化问题 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 71077
精华: 0
发帖: 115
金钱: 595 两
威望: 119 点
贡献值: 0 点
综合积分: 230 分
注册时间: 2012-05-30
最后登录: 2024-03-19
楼主  发表于: 2014-03-12 20:14

 裸机程序下载初始化问题

       S5PV210的datasheet中阐述了芯片上电启动后,片内IROM里固有的BL0代码会对芯片作一些初始化:包括初始化cache、关闭关门狗、设置堆栈、设置时钟和PLL。。。但是没有对NAND和DDR进行初始化的功能,在编写裸机程序时,对Start.s的作用有些不明白,无论我是否在Start.s加入初始化的代码,对程序运行没有影响,即无论我是否在Start.s中初始化DDR和NAND,程序照样可以正常运行。
        所以, 我很疑惑在使用友善之臂的Minitools下载裸机程序时,Minitools是否对芯片进行NAND Flash和DDR进行初始化?
级别: 侠客
UID: 81596
精华: 0
发帖: 61
金钱: 310 两
威望: 62 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2012-11-11
最后登录: 2016-12-26
1楼  发表于: 2014-03-13 08:12
引用楼主10057672于2014-03-12 20:14发表的 裸机程序下载初始化问题 :
       S5PV210的datasheet中阐述了芯片上电启动后,片内IROM里固有的BL0代码会对芯片作一些初始化:包括初始化cache、关闭关门狗、设置堆栈、设置时钟和PLL。。。但是没有对NAND和DDR进行初始化的功能,在编写裸机程序时,对Start.s的作用有些不明白,无论我是否在Start.s加入初始化的代码,对程序运行没有影响,即无论我是否在Start.s中初始化DDR和NAND,程序照样可以正常运行。
        所以, 我很疑惑在使用友善之臂的Minitools下载裸机程序时,Minitools是否对芯片进行NAND Flash和DDR进行初始化?

             不初始NAND是可以运行的!但不初始化DDR,你的裸机代码必须小于16K!大于16K的代码必须初始化DDR,把程序复制到初始化完成的DDR内存中再引导运行。否则运行一定会出错的! 如果你用的是MINITOOLS下载的裸机程序,其实是SUPERBOOT加载后,C的RUNTIME已经准备好了,在这种情况下,其实与PC启动前有BIOS运行后,然后再交给引导程序相同了。所以在SUPERBOOT启动后,已经把DDR和NAND初始化好了。  
    你想写真的裸机程序请查看:
给210裸机程序添加启动代码 这位大神写的才是真正的裸机程序。
[ 此帖被windsun在2014-03-13 08:19重新编辑 ]
级别: 侠客
UID: 71077
精华: 0
发帖: 115
金钱: 595 两
威望: 119 点
贡献值: 0 点
综合积分: 230 分
注册时间: 2012-05-30
最后登录: 2024-03-19
2楼  发表于: 2014-03-13 20:41

 回 1楼(windsun) 的帖子

谢谢~~~~~~~~~~~及时雨啊