MINI2440和GQ2440烧录问题
来源:互联网 发布:七月煤炭进出口数据 编辑:程序博客网 时间:2024/06/06 10:27
声明:以下是自己使用GQ2440和MINI2440的学习过程,仅供参考。
刚学习嵌入式Linux时候,可能会接触到很多的知识点,内核,根文件,引导什么的,对于新手来说是相当的苦恼,而且很多问题其实只是某些配置,安装环节的失误导致后续工作根本进行不下去,我一开始使用了国嵌的教程来进行学习的,一开始就因为各种驱动安装失败的问题困扰了很久。
在解决了些硬件上的问题后,一头扎进了supervivi,和uboot的世界(实际刚学的时候建议不要去碰太多这些东西,真的头痛,其实就是类似与windows中开启的BIOS差不多的,友情说明下国嵌里自带的supervivi是不能用的。),很多的教程都是介绍JTAG进行BIOS的烧录,但是一般大部分人都是使用“正版”J-Link来进行烧写的,MINI2440的用户手册没有介绍,建议可以看下国嵌的BIOS烧入。好不容易把supervivi 烧进了Nor-flash里。但是在烧入内核的阶段就一直失败了。检查了很久也没找到问题,浪费了很多时间。后面就换了MINI2440来使用,因为MINI2440已经烧入了好了bootloader和OS,因此其实是可以直接做一个体验再去了解其他的,但是我也不知道我做了什么操作,导致了后面的NOR-FLASH和NAND-FLASH切换没有任何的作用,直接启动启动(求教),以至于SD卡烧入不能实现,我猜想应该是和引导有关把,于是我尝试烧入一下bootloader到Nor-flash里,但是发现J-LINK都连不上,因为之前的GQ我是可以正常烧入bootloader的,于是我又还回来了,这次烧入的是MINI2440里提供的supervivi,支持SD卡的快速烧入系统,只能说黄天不负有心人,终于烧入系统成功了,可以进行下一步的学习了。下图是串口打印的信息,之后切换到NAND-FLASH就可以启动系统了。
典型嵌入式linux系统启动过程
1.典型嵌入式系统的部署:uboot程序部署在Flash(能作为启动设备的>Flash)上、OS部署在FLash(嵌入式系统中用Flash代替了硬盘)上、
内存在掉电时无作用,CPU在掉电时不工作。
2.启动过程:嵌入式系统上电后先执行uboot、然后uboot负责初始化>DDR,初始化Flash,然后将OS从Flash中读取到DDR中,然后启动OS
(OS启动后uboot就无用了)
norflash:非易失闪存,是一种外部存储介质,芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中,由于它有地址总线,cpu可以直接从norflash中取指,直接从FLASH中运行程序,但是工艺复杂,价格比较贵,容量较小(1~4M),NOR的传输效率很高
nandflash:它也是非易失闪存(掉电不丢失)的一种,但是它虽然有数据总线,但是没有地址总线,所以cpu不能直接从nandflash中取指运行,由于它价格便宜,所以常常用来存储大量数据,和我们常说的似。
嵌入式Linux一般开发流程
1.建立开发环境
2.配置开发主机
3.建立引导装载程序BOOTLOADER
4.下载别人已经移植好的linux操作系统
5.建立根文件系统
6.建立应用程序的FLASH磁盘分区
7.应用开发
一般是开发过程中是先把uboot载到nor中,然后通过nor中的uboot再把uboot跟linux 内核,根文件系统下到nandflash,它的最终位置应该是在nandflash。。。至于nor跟nand有什么区别,nor里面的代码可以直接运行,不需要加载到RAM(内存),而nandflash里面的代码需要加载到RAM才能运行,nor的速度没有ram快,所以一般最终版本的代码应该下载到nand,系统启动的时候会自动拷贝nand里面的前面4k代码到ram中,你这4k的代码必须完成硬件初始化并且把其余的代码全部拷贝到ram中。
参考:
https://zhidao.baidu.com/question/539358089.html
http://www.cnblogs.com/aaronLinux/p/5540606.html
- MINI2440和GQ2440烧录问题
- mini2440在linux下实现usb烧录(终端和下载工具)
- mini2440在linux下实现usb烧录
- mini2440在linux下实现usb烧录
- 友善官方<<Mini2440 Linux移植开发实战指南>>问题勘误录
- CC26xx芯片烧录问题
- 《micro2440开发》第九章:micro/mini2440上使用dnw烧录Nand Flash
- mini2440烧录内核时重启出错:No filesystem could mount root, tried: ext3 cramfs vfa
- mini2440 文件系统无法烧写问题
- 问题录
- NXP JN5168 Zigbee 芯片烧录问题
- arduino pro mini烧录问题
- 串口实验烧录问题总结
- DNW软件烧录进度条不动问题
- mini2440移植注意问题
- mini2440安装问题汇总
- mini2440调试问题
- Android ROM的创建和烧录
- bootstrap解决图标显示不出来问题,出现GET .woff 404 (Not Found)的问题
- JAVA RMI使用
- java实现链表
- 自定义select-box
- shader中的片元函数与顶点函数
- MINI2440和GQ2440烧录问题
- Tango手机分析 3D点云 室内环境重建
- Singleton 单例模式 -- 饿汉
- iOS 对Image图片本身进行旋转0,90,180,270
- c++中ctype常用函数总结
- Scala 之 mysql 数据库连接池
- 设计模式之单例模式
- Spring Security笔记:Remember Me(下次自动登录)
- Java反射机制