打印
[嵌入式linux]

迅为4418开发板Android7.1系统编译

[复制链接]
376|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linzhao789|  楼主 | 2020-12-3 10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
4418/6818-Android7.1 的源码编译需要 Ubuntu14.04 及以上的版本。iTOP-4418 的 Android7.1 资料在“iTOP4418 开发板资料汇总(不含光盘部分)\10_iTOP-4418 开发板-Android7.1 资料-20200811”目录下。在网盘资料中有已经搭建好的 Ubuntu14.04 编译环境。路径是“iTOP4418 开发板资料汇总(不含光盘部分)\02_iTOP-4418开发板编译系统所需要的工具包等\02-Ubuntu系统安装包\04_搭建好开发环境的Ubuntu14.04虚拟机镜像”,具体的使用方法参考安装 ubuntu 虚拟机的相关章节。
Android 源码需要先在 Windows 下解压得到 4418/6818-android7.1-20191121.tar.gz 一个单独的压缩包。
将 4418-android7.1-20191121.tar.gz 拷贝到 Ubuntu 下解压得到 nexell_nougat_r2 文件夹。
注意: Android7.1 源码编译完成大约需要 60G 空间。

10.1  搭建编译环境
10.1.1  缺少 dtc

安装 dtc 编译工具:
apt-get install device-tree-compiler
10.1.2 openjdk 版本问题

安装 Openjdk1.8:
add-apt-repository ppapenjdk-r/ppa
apt-get update
apt-get install openjdk-8-jdk
在多个 JDK 版本中切换 JDK:
update-alternatives --config java
update-alternatives --config javac
update-alternatives --config javadoc

检查版本号: java -version

10.2 Android7.1  源码编译
注意:编译 Android 必须保证给 Ubuntu 系统提供 4G 以上内存。这里“提供 4G 以上内存”的意思,不仅仅是指在 VMware Workstations 虚拟机中设置分配 4G 内存。例如,用户在编译的时候, PC 机的内存一共是 6G,在虚拟机中设置分配 4G 内存,但是在 Windows 系统下,开着 QQ,杀毒软件,音乐播放器,浏览器等等,这样在 Windows 下占用的内存就快 2G 了,那么虚拟机会自动调整到只占用 3G,甚至不到 3G 的内存,这样就有可能没法编译通过。后面的单独编译 Android 也是需要 4G 以上内存。
正确的分配内存方法是,首先给虚拟机分配 4G 以上内存,然后在 Windows 下关掉尽量多的不必要的应用,关掉尽量多应用的后台程序。当然,如果用户的 PC 是 8G 或者 16G 内存,随意就成。
在 nexell_nougat_r2 目录下有编译脚本。如下图所示:

根据不同核心板不同内存选择编译脚本执行。4418 脚本编译命令:
./4418_create_1G.sh android
./4418_create_1G.sh qt
./4418_create_1G.sh Ubuntu
Android 源码编译过程:

Android 编译完成在 nexell_nougat_r2 下生成 result-s5p4418-topeet4418_ref 文件夹。里面包含需要已经编译好的镜像文件。

10.3  内核配置文件
4418 路径: nexell_nougat_r2/kernel/arch/arm/configs 下有不同的配置文件,

有 Android、 qt 和 Ubuntu 的配置文件,编译 Android 需要 Android 的配置文件。执行命令:
cp s5p4418_topeet4418_ref_nougat_defconfig-android s5p4418_topeet4418_ref_nougat_defconfig
然后执行以下命令
export ARCH=arm
make s5p4418_topeet4418_ref_nougat_defconfig
特别注意,如果用户想使用 menuconfig 配置缺省文件,请先在控制台输入“export ARCH=arm”,再使用 menuconfig 工具。

10.4  修改屏幕
一 、 uboot 修改
4418 文件:
nexell_nougat_r2/device/nexell/u-boot/u-boot-2016.01/arch/arm/dts/s5p4418-topeet4418-ref.dts

二、 内核修改
内核设备树修改
4418 文件:
nexell_nougat_r2/kernel/arch/arm/boot/dts/s5p4418-topeet4418_ref-common.dtsi
在文件开始有关于屏幕尺寸的宏定义,根据不同的屏幕选择不同的宏定义

三、 内核配置
根据不同系统和屏幕尺寸选择不同的内核配置,进入 kernel 目录执行
export ARCH=arm
make menuconfig
4.3 寸屏配置:
Device Drivers --->
Input device support --->Touchscreens --->
<*> TSC2007 based touchscreens
<> GTP911 based touchscreens
10.1 寸屏幕配置;
Device Drivers --->
Input device support --->Touchscreens --->
<*> GTP911 based touchscreens
其他屏幕配置:
Device Drivers --->
Input device support --->Touchscreens --->
<> GTP911 based touchscreens
<*> select FT5X0X based touchscreens
select ft5x0x system (android system) --->
(X) android system
( ) QT system
select lcd type (lvds 7.0) --->
(X) lvds 7.0
( ) lvds 9.7
( ) RGB 7.0
( ) RGB 5.0
迅为4418开发板资料更新了


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

636

主题

716

帖子

1

粉丝