关于韦东山书上的裸机程序在mini2440上的运行

转载 2012年03月25日 19:18:10

      近来又开始学习韦东山书上的裸机驱动,在运行SDRAM中的代码的时候发现不能正确运行,当初下载的方法是通过mini2440自带的supervivi的d命令烧写程序。现在想想真是犯了很多错误。在韦东山的书上不止一次强调这些裸机程序要下载到nandflash上运行,但我都是通过supervivi的d命令来下载到SDRAM中运行,呵呵,能正常运行才怪。现在稍微总结下:

       1.这些裸机程序是需要下载到nandflash中运行的。当从nandflash启动CPU时,CPU会通过内部的硬件将nandflash开始的4KB的数据复制到称为"Steppingston"的4KB的内部RAM中(起始地址为0),然后跳到RAM的地址0开始执行。

       2.通过supervivi的d命令是把程序下载到SDRAM就是内存的起始地址0x3000000中的。这时候其实是从nor flash启动的。本例中如果先从nor flash启动,把程序直接下载到SDRAM中运行,就开始运行SDRAM中的代码,把steppingston中4KB的代码复制SDRAM中,这个时候由于steepingston中的东西是未知的,所以会把SDRAM中的代码覆盖掉,导致程序错乱。

       3.正确的操作方法是先从nor flash启动,然后用v命令(把程序下载到nandflash的vivi分区,而vivi分区的地址是0x0-0x50000)下载程序到nandflash , 其实v命令的过程是通过DNW先把程序下载到SDRAM中,然后执行了nand写操作,把0x30000000开始的那段代码复制到了nandflash的0地址处(这段是听网上一个朋友说的)。这样就把代码下载到了nandflash中。然后再从nandflash重新启动,这样stepingston中就是nandflash中的代码了,本试验就能正常运行了。


相关文章推荐

关于韦东山书上的裸机程序在mini2440上的运行 .

此文转自 http://blog.csdn.net/bigapple88/article/details/6724788 ,感谢作者! 近来又开始学习韦东山书上的裸机驱动,在运行SDRAM中的代码的...

mini2440 mdk uart 裸机程序

  • 2014-06-14 13:28
  • 360KB
  • 下载

mini2440 IIC 裸机程序记录

调了两天终于把2440上面的IIC调通了,代码记录如下: head.s   @this is a test program of uart using com0, the properties ...

mini2440_KeilMDK裸机程序

  • 2013-12-13 22:33
  • 2.34MB
  • 下载

国嵌实验:触摸屏 分类: mini2440 裸机程序 2011-09-27 15:28 17人阅读 评论(0) 收藏 举报 #define GLOBAL_CLK 1 #include <st

#define GLOBAL_CLK1 #include #include #include "def.h" #include "option.h" #include "2440addr...

mini2440 触摸屏裸机程序

  • 2012-05-17 10:44
  • 285KB
  • 下载

mini2440裸机程序

  • 2012-09-21 20:26
  • 57KB
  • 下载

Mkefile文件编写及点亮两个led的mini2440裸机程序

Makefile的语法规则:                 target: ....:prerequisites.....              ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)