Realview MDK v4.20 S3C2440的启动代码好像不支持大于4k的程序? 怎么解决呢? 10

我说的是NandFlash启动,从NandFlash复制代码到SDRAM,我是用DNW下载程序的,谁有可以下载大于4k程序的启动代码???... 我说的是NandFlash启动,从NandFlash复制代码到SDRAM , 我是用DNW下载程序的, 谁有可以下载大于4k程序的启动代码??? 展开
 我来答
海叶先生
2012-03-20
知道答主
回答量:14
采纳率:0%
帮助的人:4.7万
展开全部
在启动方式为Nand Flash启动的情况下,系统启动前所有的程序存储在Nand Flash中,系统的启动过程稍微有点复杂:系统上电或复位时,0地址处为S3C2440内部自带的BootSRAM,启动前里面没有任何存储内容,启动后S3C2440先通过硬件机制将Nand Flash前4K的内容拷贝至其中,然后再运行里面的程序(从0地址处)。这种情况下我们需要保证将启动代码保存在Nand Flash开始的位置,并且启动代码的大小要小于4K。如果系统的所有程序在编译链接后的大小小于4K,那在系统的启动代码中无需考虑将程序从Nand Flash搬运到SDRAM这个问题,因为所有的程序在启动时即全部由Nand Flash拷贝至BootSRAM,程序在BootSRAM中运行即可;如果系统的所有程序在编译连接后的大小大于4K,那在系统的启动代码中需要包含一段将系统的全部程序从Nand Flash搬运到SDRAM的代码,因为系统启动时只将Nand Flash的前4K拷贝到了BootSRAM中,还有部分程序保存在Nand Flash中, Nand Flash中是无法运行程序的,需要将所有程序拷贝至SDRAM并在其中运行,所以在系统的启动代码中要包含这段有关程序拷贝的代码,并在所有程序拷贝完成后使程序跳转到SDRAM中运行。
也就是说在启动方式为Nand Flash启动的情况下,因为Nand Flash的特性,程序需要涉及到两次的搬移,一次是从Nand Flash搬移到BootSRAM,搬运的程序量大小是4K,目的是使系统能够启动;第二次搬运是从Nand Flash搬运到系统的SDRAM,如果系统的所有程序量小于4K,这一步可以省略,搬运的程序量大小是系统的所有程序,目的是使程序在SDRAM中运行。第一次搬运是S3C2440通过硬件机制自动实现的,我们无需干预,第二次则需要我们程序员来实现
当大于4K时,要在程序中假如相应的拷贝程序,不然,程序跑得过程中会出现“意想不到”的错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
419836321
2011-04-12
知道答主
回答量:33
采纳率:0%
帮助的人:10.6万
展开全部
因为是没注册的版本啊,找个破解补丁,或者破解版,就可以了!!谢谢
追问
已经破解的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式