标题: 嵌入式开发学习笔记一:烧写android系统 [打印本页]
作者: FLYING869 时间: 2017-6-15 14:15
标题: 嵌入式开发学习笔记一:烧写android系统
我之前学过单片机arm和c语言就直接买了这款4412板子,开始还担心跨度有点大学不会呢,现在想想还好选了这款,给的资料和视频教程少走不少弯路,分享一下学习笔记。。。
平台: iTOP-4412开发平台
系统:Android 4.0
TF 卡存储容量最少要 2G 以上。
制作可以烧写的TF卡
使用 TF 卡之前,必须要先分区。制作 TF 卡需要在 PC 机的 Ubuntu 系统下,分 3 个步骤来完成。这里需要注意的是,TF 卡制作完成后,就可长期使用,不用每次重新制作,另外如果烧坏了 eMMC的 uboot,那么将无法进行分区,就要参考 4.5 小节先给 TF 卡分区。
1. 给 TF 卡分区。需要将 TF 卡先插入开发板,然后再启动开发板并进入 Uboot 模式
(如何进入可参考前面 2-5 节),然后在超级终端中,依次输入下列烧写命令:
— fdisk -c 1
注意上面的分区命令的是参数“1”,代表的是 tf 卡,如果是“0”则代表是 eMMC。
如果是 2G 的 TF 卡,请将命令“fdisk -c 1”改为“fdisk -c 1 300 300 300”。
— fatformat mmc 1:1
— ext3format mmc 1:2
— ext3format mmc 1:3
— ext3format mmc 1:4
执行完上面的命令之后,就要将 uboot 烧写到 TF 卡。
2. 如下图所示,在光盘文件夹“06_源码_uboot 和 kernel”中有一个压缩包
“iTop4412_uboot_xxx.tar.gz”,压缩包文件名中的“xxx”代表不确定,“xxx”表示日
期,日期信息在系统升级后会变更。
3. 使用 SSH 工具(参考使用手册 3.3.5 安装和使用 SSH 软件),拷贝压缩包
“iTop4412_uboot_xxx.tar.gz”到 PC 机的 Ubuntu 系统中,然后解压压缩包,得到文件夹
“iTop4412_uboot”,进入“iTop4412_uboot”文件夹,如下图所示。
4. 拷贝光盘中文件夹中对应核心板的镜像“u-boot-iTOP-4412.bin”到上一步解压出来
的文件夹“iTop4412_uboot”中,如下图所示。
5. 在 Ubuntu 命令行中输入命令“df -l”,查看一下系统有哪些盘符。
6. 接着使用读卡器将 TF 卡连接到 PC 机的 Ubuntu 系统下,如下图所示,Ubuntu 系统
识别 TF 卡后,可能提示下面的信息。
7. 在虚拟机 VMware Workstation 选项“虚拟机 M”,进入“虚拟机设置”,如下图
所示,根据 USB接口选择一下版本,如果是 USB3.0 则使用 USB3.0。
8. TF 卡连接之后到 Ubuntu 之后, 再次使用 Linux 命令“df -l”查看盘符。将第二次
查看的盘符和第一次查看的盘符对比一下,就会发现 Ubuntu 系统中多出了盘符,这个盘符就是 TF 卡的盘符,盘符名称在接下来的 Linux 命令中会用到,如下图所示。
9. 在执行下面这条命令的时候,要特别特别注意!一定要分清楚,哪个盘符是 TF 卡的
盘符,如果不清楚,请务必先拔掉 TF 卡,看清楚哪些盘符是属于 Ubuntu 系统的硬盘盘符,
看清楚哪些盘符是 Ubuntu 系统的硬盘盘符后,再插入 TF 卡,分辨出哪个盘符是新增加的盘符,新增加的盘符才是 TF 卡的盘符。
10. 进入文件夹“iTop4412_uboot”中。在 Ubuntu 命令行中,执行 Linux 命令:
“./mkuboot /dev/sdx”,mkuboot 是 uboot 源码文件夹中的一个脚本,下图中脚本
命令的对象是上图中识别的“sdb”。
(注意,sdx 用前面查看盘符,多出来的盘符名代替,不要带数字,比如 df -l 看到的 tf 卡
是/dev/sdb0,这个 0 不要带,直接写 sdb)
11. 检查可以烧写的 TF 卡是否制作成功。
检查的方法很简单,使用读卡器连接 TF 卡到 Win7系统上,如果在 Win7 系统上发现 TF
卡的存储空间减少了 2G 以上,那么这个 TF 卡就制作成功了。如下图所示,8G 的 TF 卡只剩5.68G。
使用TF卡烧写
在 Win7 系统和 Ubuntu 系统下,都可以使用 TF 卡烧写。这里以 Win7 为例,Ubuntu
的也是一样,将镜像文件拷贝到 tf 卡中的“sdupdate”文件夹中。
Win7 下 TF 卡烧写步骤如下:
1. 将制作完成的 TF 卡接入 PC 机的 Win7 或者 Ubuntu 系统中,在 TF 卡上建立文件夹
“sdupdate”。注意,文件夹名字一定要使用“sdupdate”。如下图所示。
2. 拷贝相应的镜像文件到 TF 卡的文件夹“sdupdate”中,如下图所示。
3. 将 TF 卡先插入开发板中,进入超级终端的 UBOOT模式,如下图所示。
4. 输入烧写命令“sdfuse flashall”。
这是一个全部烧写的命令,就是将“sdupdate”中全部的镜像烧写到开发板中,如下图
所示。
烧写命令“sdfuse flashall”可以用下面替代的烧写命令:
— sdfuse flash bootloader u-boot-iTOP-4412.bin
— sdfuse flash kernel zImage
— sdfuse flash ramdisk ramdisk-uboot.img
— sdfuse flash system system.img
替代的烧写命令允许单条执行,在执行单条烧写命令的时候,只烧写相应的单个镜像文
件。例如,执行烧写命令“sdfuse flash kernel zImage”,就只会更新 Linux 内核
“zImage”镜像,而不会影响其他的镜像。
5. 等待烧写完成,最后在超级终端中,输入以下命令:
— reset(在超级终端中执行该命令会重启开发板)
完成。
作者: ensemble 时间: 2017-6-29 09:58
待着疑问学习了,
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |