主题 : nand flash启动 复制链接 | 浏览器收藏 | 打印
Are you mad at me?
级别: 新手上路
UID: 24333
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2010-07-06
最后登录: 2010-07-20
楼主  发表于: 2010-07-15 19:40

 nand flash启动

有个问题想请教你们一下。启动代码有这么一段:
copy_proc_beg
          adr    r0, ResetEntry
          ldr    r2, BaseOfROM
          cmp    r0, r2
          ldreq    r0, TopOfROM
          beq        InitRam        
     ldr r3, TopOfROM
0    
          ldmia    r0!, {r4-r7}
          stmia    r2!, {r4-r7}
          cmp    r2, r3
          bcc    %B0
    
          sub    r2, r2, r3
          sub    r0, r0, r2    
这段代码有什么作用?我发现不论从nand还是从nor启动都要执行这段代码。
Are you mad at me?
级别: 新手上路
UID: 24333
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2010-07-06
最后登录: 2010-07-20
1楼  发表于: 2010-07-16 15:25
连一楼都没有。还是自己的问题不上档次。高手都不愿回答。幸好我自己想出来了。自己顶一下!!!!!!!!!!!!!!!!!!!!!!!!!
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
2楼  发表于: 2010-07-16 16:38
把代码从rom拷贝到内存运行
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
Are you mad at me?
级别: 新手上路
UID: 24333
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2010-07-06
最后登录: 2010-07-20
3楼  发表于: 2010-07-16 17:32
我自己用C写了一个拷贝程序,就是把nand拷贝到SDRAN里的。如果想你理解的那样。是不是拷贝重复了啊?
Are you mad at me?
级别: 新手上路
UID: 24333
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2010-07-06
最后登录: 2010-07-20
4楼  发表于: 2010-07-16 17:36
我的理解是那段代码是,本身已经在内存里了,只是把加载域变成运行域而已。我不知道是不是我理解错了。要是我理解的那样,可程序跑起来还是有点问题。
Are you mad at me?
级别: 新手上路
UID: 24333
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2010-07-06
最后登录: 2010-07-20
5楼  发表于: 2010-07-19 09:49
哦,没有人理我;算了吧,还是回家吃饭吧。