搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-6-8 10:54:19 9594 浏览 0 回复

iTOP-6818开发板Android 5.1系统编译

iTOP-6818开发板可以支持 Android5.1.1版本。Android5.1 和 Android4.4 的版本,需要的编译环境不一样,烧写也有区别,具体的参考本节内容。Qt 的 uboot 和 Android 的 uboot 通用,配置方法和 Android 的 uboot 一模一样。
        Android5.1.1 的编译需要使用 Ubuntu14.04 版本。
        这里还要注意的是,6818 的 Android5.1.1 只支持4G 版本的底板,3G 版本的底板不支持。
1 使用搭建好的编译环境
用户如果使用搭建好的编译环境,直接加载运行 Ubuntu 之后,可以直接用于编译Android5.1.1。
在网盘“iTOP6818 开发板资料汇总(不含光盘内容)\02_iTOP-6818 开发板编译系统所需要的工具包等\02_Ubuntu 系统安装包\04_搭建好开发环境的 Ubuntu14.04 虚拟机镜像”目录下有搭建好的镜像,可以直接用于编译。
2 Android5.1源码获取
将光盘中“iTOP6818开发板光盘资料\iTOP-6818光盘资料\04 源码_Android5.1文件系统” 下 zip 或者 7z 压缩包先解压生成 gz 压缩包,         如下图所示,源码采用分卷压缩,全部下载到 Windows 下之后,然后点击其中一个解压。
将 gz 压缩包拷贝到Ubuntu 系统中,如下图所示。作者是在“/home”目录下新建了 6818 目录,用来存放 Android源码。
使用命令“ tar -vxf lollipop-5.1.1_r6_20160801.tar.gz ”解压源码压缩包,如下图所示。
解压完成,如下图所示 。
生成“lollipop-5.1.1_r6”目录,进入该目录,如下图所示。
如上图所示,目录“u-boot”中是 uboot 源码,目录“kernel”中是 kernel 源码。剩余目录是 Android 源码,镜像输出目录等。
3 配置uboot
        编译前需要将 uboot 配置文件覆盖一下,迅为电子的 iTOP-6818 核心板内存有三种型号,
分别是:
        1. 三星 1G DDR3
        2. 三星 2G DDR3
        3. 镁光 2G DDR3
大家可以通过查看核心板上内存芯片的丝印来确定使用的是哪种型号的内存:
        1. 三星 1G DDR3 内存芯片上的丝印是:K4B4G
        2. 三星 2G DDR3 内存芯片上的丝印是:K4B8G16
        3. 镁光 2G DDR3 内存芯片上的丝印是:9BC12
在编译 Uboot 之前,我们需要按照相应的内存型号配置一下 uboot 的相关文件,下面我们来
讲解下这三种内存的配置:
1. 三星 1G DDR3 内存:
        进入“u-boot”目录,首先使用命令“cp 2ndboot_sdmmc_6818_samsung.bin 2ndboot_sdmmc_6818.bin”拷贝生成“2ndboot_sdmmc_6818.bin”文件,然后使用命令“cp nsih-1G16b-6818.txt nsih.txt”拷贝生成“nsih.txt”文件。如下图所示:
2. 三星 2G DDR3 内存:
        进入“u-boot”目录,首先使用命令“cp 2ndboot_sdmmc_6818_samsung.bin 2ndboot_sdmmc_6818.bin”拷贝生成“2ndboot_sdmmc_6818.bin”文件,然后使用命令“cp nsih-2G16b-6818.txt nsih.txt”拷贝生成“nsih.txt”文件。如下图所示:
3. 镁光 2G DDR3 内存:
        进入“u-boot”目录,首先使用命令“cp 2ndboot_sdmmc_6818_micron.bin 2ndboot_sdmmc_6818.bin”拷贝生成“2ndboot_sdmmc_6818.bin”文件,然后使用命令“cp nsih-2G16b-6818_micron.txt nsih.txt”拷贝生成“nsih.txt”文件。
4 配置kernel
然后我们还需要配置下内核缺省文件,进入源码下的 kernel 目录,如果编译安卓5.1,如下图所示,使用命令:
“cp -r config_for_iTOP6818_android .config”配置缺省文件“.config”。然后使用“export ARCH=arm”命令将目标平台配置为 arm,如下图所示。
另外,如果是 2G 核心板,则打开 kernel 目录下“vim arch/arm/plat-s5p6818/topeet/include/cfg_mem.h”文件,将下图中“#if 1”改为“#if 0”。“#if 1”对应 1G 内核,“#if 0”对应 2G 内核。
5 编译源码
如果编译 Android5.1 ,使用命令“./build_android.sh”运行脚本 build_android.sh可将uboot,kernel,Android5.1一起编译,如下图所示。注意:编译 Android 必须保证给 Ubuntu 系统提供 6G 以上内存。这里“提供 6G 以上内存”的意思,不仅仅是指在 VMware Workstations 虚拟机中设置分配 6G 内存。例如,用户在编译的时候,PC 机的内存一共是 8G,在虚拟机中设置分配6G 内存,但是在 Windows 系统下,开着 QQ,杀毒软件,音乐播放器,浏览器等等,这样在Windows 下占用的内存就快 3G 了,那么虚拟机会自动调整到只占用 5G,甚至不到 5G 的内存,这样就有可能没法编译通过。后面的单独编译 Android 也是需要 6G 以上内存。
        正确的分配内存方法是,首先给虚拟机分配 6G 以上内存,然后在 Windows 下关掉尽量多的不必要的应用,关掉尽量多应用的后台程序。
        当然,如果用户的 PC 是 16G或者32G内存,随意就成。
如下图所示,编译中。它会依次编译 uboot,kernel 和 Android 源码。
如下图所示,编译完成。作者机器 8G 内存,给 Ubuntu 分配 6G,大约 3-5 个小时可以编译完成。
在 result 目录下生成Android镜像,如下图所示。
如果编译Qt的uboot和kernel,进入“lollipop-5.1.1_r6/kernel/”目录,使用命令“cp -r config_for_iTOP6818_linux .config”配置缺省文件,如下图所示。这样编译出来的内核就是 Qt 需要的内核。
另外,如果是 2G 核心板,则打开 kernel 目录下“vim arch/arm/plat-s5p6818/topeet/include/cfg_mem.h”文件,将下图中“#if 1”改为“#if 0”。“#if 1”对应 1G 内核,“#if 0”对应 2G 内核。
运行一键编译脚本“./build_android.sh qt”,如下图所示。
编译中,如下图所示。
编译完成后,在 result 目录下生成镜像文件,U-boot-iTOP-6818.bin,boot.img,system.img。
至此,iTOP-6818 QT 的文件系统编译完成了。Qt 的单独编译可以参考 Android,通过注释“build_uboot”,“build_kernel”等来实现。
6 烧写
参考“10.1.2 OTG烧写Android”,首先使用“setenv bootsystem android”将其设置为启动 Android,然后使用命令“saveenv”保存,如下图所示。
需要先烧写 Android5.1 的 uboot 镜像,重启开发板之后使用命令“setenv fastboot”,“setenv androidversion 5.1”,然后使用命令“saveenv”保存,设置为 Android5.1,然后重启 uboot,进入 uboot 模式,再烧写 Android5.1 的镜像。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表