嵌入式开发学习笔记一:烧写android系统

2019-07-20 14:01发布

我之前学过单片机arm和c语言就直接买了这款4412板子,开始还担心跨度有点大学不会呢,现在想想还好选了这款,给的资料和视频教程少走不少弯路,分享一下学习笔记。。。 平台: iTOP-4412开发平台系统:Android 4.0 TF 卡存储容量最少要 2G 以上。制作可以烧写的TF使用 TF 卡之前,必须要先分区。制作 TF 卡需要在 PC 机的 Ubuntu 系统下,分 3 个步骤来完成。这里需要注意的是,TF 卡制作完成后,就可长期使用,不用每次重新制作,另外如果烧坏了 eMMCuboot,那么将无法进行分区,就要参考 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:1ext3format mmc 1:2ext3format mmc 1:3ext3format mmc 1:4执行完上面的命令之后,就要将 uboot 烧写到 TF 卡。2. 如下图所示,在光盘文件夹“06_源码_uboot kernel”中有一个压缩包iTop4412_uboot_xxx.tar.gz”,压缩包文件名中的“xxx”代表不确定,“xxx”表示日期,日期信息在系统升级后会变更。 图片1.jpg 3. 使用 SSH 工具(参考使用手册 3.3.5 安装和使用 SSH 软件),拷贝压缩包iTop4412_uboot_xxx.tar.gz”到 PC 机的 Ubuntu 系统中,然后解压压缩包,得到文件夹iTop4412_uboot”,进入“iTop4412_uboot”文件夹,如下图所示。 图片2.jpg 4. 拷贝光盘中文件夹中对应核心板的镜像“u-boot-iTOP-4412.bin”到上一步解压出来的文件夹iTop4412_uboot”中,如下图所示。 图片3.jpg 5. Ubuntu 命令行中输入命令“df -l”,查看一下系统有哪些盘符。 图片4.jpg 6. 接着使用读卡器将 TF 卡连接到 PC 机的 Ubuntu 系统下,如下图所示,Ubuntu 系统识别 TF 卡后,可能提示下面的信息。 图片5.jpg 7. 在虚拟机 VMware Workstation 选项“虚拟机 M”,进入“虚拟机设置”,如下图所示,根据 USB接口选择一下版本,如果是 USB3.0 则使用 USB3.0 图片6.jpg 8. TF 卡连接之后到 Ubuntu 之后, 再次使用 Linux 命令“df -l”查看盘符。将第二次查看的盘符和第一次查看的盘符对比一下,就会发现 Ubuntu 系统中多出了盘符,这个盘符就是 TF 卡的盘符,盘符名称在接下来的 Linux 命令中会用到,如下图所示。 图片7.jpg 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) 图片8.jpg 11. 检查可以烧写的 TF 卡是否制作成功。检查的方法很简单,使用读卡器连接 TF 卡到 Win7系统上,如果在 Win7 系统上发现 TF卡的存储空间减少了 2G 以上,那么这个 TF 卡就制作成功了。如下图所示,8G TF 卡只剩5.68G 图片9.jpg 使用TF卡烧写 Win7 系统和 Ubuntu 系统下,都可以使用 TF 卡烧写。这里以 Win7 为例,Ubuntu的也是一样,将镜像文件拷贝到 tf 卡中的“sdupdate”文件夹中。Win7 TF 卡烧写步骤如下: 1. 将制作完成的 TF 卡接入 PC 机的 Win7 或者 Ubuntu 系统中,在 TF 卡上建立文件夹sdupdate”。注意,文件夹名字一定要使用“sdupdate”。如下图所示。 图片10.jpg 2. 拷贝相应的镜像文件到 TF 卡的文件夹“sdupdate”中,如下图所示。 图片11.jpg 3. TF 卡先插入开发板中,进入超级终端的 UBOOT模式,如下图所示。 图片12.jpg 4. 输入烧写命令sdfuse flashall”。这是一个全部烧写的命令,就是将sdupdate”中全部的镜像烧写到开发板中,如下图所示。 图片13.jpg 烧写命令sdfuse flashall”可以用下面替代的烧写命令:sdfuse flash bootloader u-boot-iTOP-4412.binsdfuse flash kernel zImagesdfuse flash ramdisk ramdisk-uboot.imgsdfuse flash system system.img替代的烧写命令允许单条执行,在执行单条烧写命令的时候,只烧写相应的单个镜像文件。例如,执行烧写命令sdfuse flash kernel zImage”,就只会更新 Linux 内核zImage”镜像,而不会影响其他的镜像。 5. 等待烧写完成,最后在超级终端中,输入以下命令:reset(在超级终端中执行该命令会重启开发板)完成。 图片14.jpg
0条回答

一周热门 更多>