主题 : 求救:S3C2440从NANDFLASH启动 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 55698
精华: 0
发帖: 27
金钱: 135 两
威望: 27 点
综合积分: 54 分
注册时间: 2011-09-22
最后登录: 2015-05-11
楼主  发表于: 2011-11-01 15:50

 求救:S3C2440从NANDFLASH启动

管理提醒: 本帖被 qq2440 从 micro2440技术交流专区 移动到本区(2013-11-18)
若代码小于4K,则代码直接就可以在S3C2440内部的RAM运行.
若代码大于4K,则需 从nandflash中copy代码至外扩的SDRAM中,再在SDRAM中运行.

这copy代码是怎样个过程啊?
级别: 新手上路
UID: 55698
精华: 0
发帖: 27
金钱: 135 两
威望: 27 点
综合积分: 54 分
注册时间: 2011-09-22
最后登录: 2015-05-11
1楼  发表于: 2011-11-01 15:55
是不是将保存在nandflash中4K以后的代码复制至SDRAM中?

那复制完之后,跳到SDRAM的0x30000000处开始运行,此地址(0x30000000)的内容是不是 为main()的入口地址?
级别: 新手上路
UID: 55698
精华: 0
发帖: 27
金钱: 135 两
威望: 27 点
综合积分: 54 分
注册时间: 2011-09-22
最后登录: 2015-05-11
2楼  发表于: 2011-11-01 16:02
在keil环境下,从nandflash 的4096处开始复制代码到SDRAM的0x3000000中,复制完后跳到main()函数;

实际运行时,拷贝完后没有进入main()函数就停止了.
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2011-11-02 14:19
在NAND Flash启动模式下,由硬件控制将NAND flash前4K的代码复制到起始地址为0x00000000的大小为4K的internal SRAM(stepping stone)并且跳转到0x00000000处开始执行。对于大于4K的代码,需要在前4K的代码中实现将其从NAND flash复制到SDRAM的功能。至于复制完成后跳转到SDRAM哪里,是由前4K中的代码决定的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 55698
精华: 0
发帖: 27
金钱: 135 两
威望: 27 点
综合积分: 54 分
注册时间: 2011-09-22
最后登录: 2015-05-11
4楼  发表于: 2011-11-02 19:11

 回 3楼(kasim) 的帖子

谢谢!
还需多看看资料啊!!!!!!!
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
5楼  发表于: 2011-11-02 20:26

 回 4楼(zou_sky) 的帖子

这方面资料有很多,找一个支持NAND Flash启动的u-boot,跟一下启动的流程是最简单有效的方法。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."