三九宝宝网宝宝百科宝宝知识

tq6410 wince怎样烧写成 android

02月09日 编辑 39baobao.com

[如何在iOS与Android间移植APP]除了像"I am rich"这种定点打击苹果烧包族的APP外,大多数应用都会尽量覆盖包含尽可能多的用户。这就需要考虑在iOS和Android两种主流操作系统间移植的问题。如果为各个平台量身...+阅读

现在手头有几块板子,24

10、2440都是以前用的,现在主要是用6410,一块是一个公司的JFJ6410开发板,另外一个是天嵌的6410V1.今天总结一下Mini64

10、OK64

10、TQ6410以及Real6410这几个国内买的比较多的开发板烧写Android的方式。其实主要是烧写UBI文件系统的方式。之前做嵌入式用的比较多的文件系统是cramfs和yaffs2文件系统。但是随着Android的流行,烧写Android系统便多了个更好的选择,那就是UBI文件系统,UBI相对于cramfs以及yaffs2在性能上的优势我不清楚,但是至少UBI的压缩对我们使用开发板学习是个不错的特性。烧写一般都使用U-Boot。首先是友善之臂的Mini6410,它提供了两种Boot,一种是移植的三星提供U-Boot1.1.6,这个版本不支持UBI文件系统的烧写,他们自己做了个superboot,支持UBI,但是不开源,没用过。然后就是飞凌的OK6410,他们使用的也是三星提供的U-Boot,不支持UBI。所以想出另外的方式来烧写。他们的烧写使用了自己的 SD卡烧写工具:SD_Writer,首先烧写了一个mmc.bin和一个zImage-sd的文件到SD卡中,前者mmc.bin其实就是用于SD卡启动的,后者zImage-sd是一个内核文件。我们首先来看看mmc.bin做了哪些事情,从SD卡启动,进入U-Boot的下载模式,使用printenv打印环境变量,可得:[plain]SMDK6410 # printenv bootargs=rootdelay=0 console=ttySAC0,115200 bootcmd=nand erase; [plain]fatload mmc 0:1 0x50008000 u-boot.bin;nand write.uboot 0x50008000 0 0x100000; [plain]fatload mmc 0:1 0x50008000 zImage;nand write.e 0x50008000 0x100000 0x500000; [plain]movi read kernel 0x50008000;bootm 0x50008000从上面得bootcmd可以知道做的事情分四步:

1、擦除整个NAND Flash;

2、从SD卡中将u-boot.bin文件下载到内存中,然后烧写到NAND Flash上;

3、从SD卡中将zImage下载到内存中,然后烧写到NAND Flash上;

4、从SD卡读取内核(不是上一步烧写的zImage,而是之前使用SD卡烧写工具烧写的zImage-sd)到内存,然后启动这个内核。而启动参数就是上面的bootargs所显示。进入这个内核之后,就会进入下面这个命令行,可能有人会觉得之前烧写了U-Boot和zImage-sd到SD卡上,并没有烧写文件系统,那这个内核怎么启动呢?这里我们看一下命令提示符前面“initramfs”这几个字符就明白了。所有的2.6版本linux内核都有一个特殊的文件系统rootfs,是内核启动的初始始根文件系统,initramfs的文件会复制到rootfs。如 果把initramfs比作种子,那么rootfs就是它生长的土壤。大部分linux系统正常运行后都会安装另外的文件系统,然后忽略rootfs。这下大家就知道了吧,但是由于飞凌没提供的源文件,所以不知道yjsx这个程序具体是啥,只能通过看烧写的过程知道了,这里我就不贴了。主要做的工作就是把拷贝到SD卡中的文件系统烧写到NAND Flash上,注意,这里他们烧写的是yaffs格式,而不是ubi,我猜想他们仅仅是为了方便用户使用SD卡烧写(毕竟友善之臂的烧写方式确实非常好),而不是使用ubi文件系统。这里再来说一些Real6410和TQ6410,他们做法类似,Real6410是在NAND分区的时候分了两个文件系统区,一个是cramfs,一个是真正用到的文件系统区。先启动内核进入cramfs文件系统,将NAND格式化为UBI格式的,再进行烧写。同样,TQ6410也是先挂载NFS文件系统,将NAND格式化UBI,然后进行烧写。不过貌似TQ6410V2已经支持了UBI烧写,这个还没看。好了,就这样吧,简单记一下,呵呵,不清楚的可以看看几家公司提供的使用手册。

以下为关联文档:

市面上有一款android的按键精灵他是基于什么原理实现的实现基于Lua 脚本语言。触动精灵的脚本编写基于Lua 脚本语言,支持其所有标准函数库。除了能够模拟点击、移动、单击 Home键之外,触动精灵还提供一系列取色、找色、截图、找图等函...

Sony Walkman有蓝牙的版本 Android例如F885有几种播放模式Android是一种基于Linux的自由及开放源代码的操作2113系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统5261最初由Andy...

标题:乖孩子不一定是好孩子要求写成议论文我在小学时的成绩还不是特别好。我记得那时候我的老师和我的父母再三对我说,你太粗心。怎么表现出来的呢?譬如用墨水写字,常常把一大块墨滴在纸上。假如我当时字写得好些,没有乱...

android系统如何刷机?我也是安卓的,虽然手机不一样,关于安卓系统我觉得不必非得跟上更新 因为各种安卓系统是由原生安卓改版来的,每个论坛也有他的改版系统,当然了,原始的系统应该是英文的,无论新的系...

android的这种动画效果的listview是怎么做出来的靠布局和一点小逻辑就可以做到,具体就是列表正文其实左右有个Margin值,而上面的透明覆盖层,左右是抵满的,这样一来就很简单了。可以看我附件的demo,颜色我没调好,我很不擅长调颜色...

如何实现Android ListView快速查找功能关于SectionIndexer接口TextView floatTextView = (TextView)LayoutInflater.from(this).inflate(R.layout.list_position, null); WindowManager.LayoutParams layoutParams = new WindowManager....

android怎么获取listview上内容解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值.大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView...

Android的listview怎么取得select内容.ListView里面你应该有Adapter吧,那就是在adapter上做文章了阿! Adapter会有一下几个实现方法的: public Object getItem(int position); public long getItemId(int position)...

android listview是怎么封装的从你的问题中我总结出来的知识点包括: cursor查询数据库中的数据 AsyncTask异步操作 创建listview有关的Adapter适配器 大体流程操作如下: 由于数据库操作属于耗时操作,因此要...

推荐阅读
图文推荐