关于韦东山书上的裸机程序在mini2440上的运行 .
来源:互联网 发布:怎么用js编写拖拽插件 编辑:程序博客网 时间:2024/04/28 07:52
此文转自 http://blog.csdn.net/bigapple88/article/details/6724788 ,感谢作者!
近来又开始学习韦东山书上的裸机驱动,在运行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上的运行
- 关于韦东山书上的裸机程序在mini2440上的运行
- 关于韦东山书上的裸机程序在mini2440上的运行 .
- 关于韦东山书上的裸机程序在mini2440上的运行
- 关于韦东山书上的裸机程序在mini2440上的运行
- 裸机程序在mini2440上的运行
- 根据韦东山修改的mini2440 nand flash裸机程序
- 韦东山stdio裸机程序分析
- 在mini2440上运行QT4程序
- mini2440按键裸机程序编写运行
- 关于mini2440的一个裸机程序——LED与按键中断
- 关于mini2440的一个裸机程序——LED与按键中断
- 在tq2440上搭建 韦东山 视频的环境
- 在tq2440上搭建 韦东山 视频的环境
- 最简单的ARM裸机程序,帮你理解程序的运行启动(mini2440开发板)
- 制作可在MINI2440上运行的文件系统
- 基于mini2440的裸机led程序及其链接脚本分析
- 关于applet小程序在浏览器上运行的备注
- VC中TRACE与OutputDebugString
- 查看Linux内核版本的命令
- hadoop细节
- Jquery UI插件---手风琴效果
- EGOTableViewPullRefresh添加到uitablview的使用
- 关于韦东山书上的裸机程序在mini2440上的运行 .
- java实现两个字符串的比较
- vb实现能动图形
- 第六周实验报告(任务3)
- 看7k面试题洞悉面向对象的重要性
- Ubuntu 11.04 安装后要做的20件事情
- 关于左值,右值,前自增操作符,后自增操作符
- C++的多态性实现机制剖析
- hadoop MapReduce程序 不包含Reduce的设置