在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1786|回复: 0

关于s3c2410的VIVI问题请教

[复制链接]
发表于 2007-7-1 09:44:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好! 我是个新手,最近正在看VIVI的源代码,有些问题想请教大家.
如果我们是利用NAND FLASH来启动的话,资料上介绍说,在复位后会把NAND FLASH的前4K的内容拷贝到Steppingstone这块内部的RAM中.我想请问,ARM的启动都应该是从0X00这个地址开始运行的,那我们把代码都考到Steppingstone中了,那怎么运行呢? 是通过MMU映射,把Steppingstone映射到0X00了吗?如果映射了 是通过什么映射的?没有看到有代码实现这个功能啊.   还有就是如果是映射了, 那代码已经在RAM中执行了,VIVI代码中又再次把代码复制到SDRAM中,这样有必要吗? 那不是还需要把新复制好的代码要映射到0X00处,可是也没有这个代码啊,  如果复制好了后,那不是在两块RAM中都有MAIN.C的程序了吗?那这段程序
@ jump to ram
ldr r1, =on_the_ram
add pc, r1, #0
nop
nop
1: b 1b @ 无限循环
on_the_ram:
ldr sp, DW_STACK_START @
设置堆栈指针
mov fp, #0 @ no previous frame, so fp=0
mov a2, #0 @ set argv to NULL
bl main @ call main,
跳转到init/main.c中的main函数中
最后是跳到哪个RAM中呢?
      如果是在NOR FLASH中启动,那我们就直接把NOR FLASH接到0X00处,这样就可以直接运行了, 在代码中也有把VIVI代码复制到RAM中的代码,那这里有是怎么跳到RAM中执行的呢?   谢谢大家了!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-2-3 07:07 , Processed in 0.018518 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表