iMX8 Android Q 芯片级开发
目前市场上很多开发板、核心板出售,但是实际上企业一般会使用官方资料进行开发,主要有以下几个原因:
(1)考虑性价比,核心板成本较高;
(2)企业重视知识产权,核心板大部分资料在开发板厂家手中;
(3)产品不同对尺寸要求也不一样,核心板预留接口较多,空间利用率不高;
(4)版本升级成本较高,一般核心板厂家都需要定制费用;
因此大家一定不要被轻易忽悠,核心板怎么怎么方便,华为、oppo、小米等大厂,在产品上绝对不会用核心板方案的。
说这么多也不是否定核心板所有的优势,核心板的定位之处是为了部分出货量小,研发能力弱的企业、初学者使用的,大部分最终都会走向芯片级开发,因此今天给大家分享一款曾经很火的芯片imx8的开发。
在这里没有收NXP一分钱,毕竟我也是个小博主,最近正好学习了这部分,感谢大家的关注,废话不多说,接下来上正题。
Android Q环境搭建
- NXP官方评估板链接
https://www.nxp.com.cn/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-applications-processor:MCIMX8M-EVK
在 “设计资源” 选项中找到自己需要的Android版本,我这里以Android 10为例如下:
三个文件分别是:
(1)8MPLUSLPD4-PWR-DESIGN-FILES.zip demo板原理图、PCB
(2)android_Q10.0.0_1.0.0_docs.zip 官方资料
(3)imx-android-10.0.0_2.5.0.tar.gz Android 10 BSP包
注意:
(1)再声明一下这里不是推销板子,而是嵌入式的开发方式你也懂,首先需要找到评估板,用官方评估板资料去开发,先要找到官方评估板吧
(2)如果英文能力强点的直接看文档文件也可以
- 安装Ubuntu 20.04虚拟机
这一步不用多赘述了吧,VMware 安排上,这里就不教大家了 - 配置Android 编译环境
在Ubuntu 20.04版本上输入如下命令安装工具
sudo apt-get install zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop git-core curl u-boot-tools mtd-utils android-tools-fsutils openjdk-8-jdk device-tree-compiler gdisk m4 libz-dev bison flex libssl-dev libncurses5
- 交叉编译工具链安装可以参考下面这篇
- 下载repo
git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo - 修改repo里REPO_URL
REPO_URL = ‘https://mirrors.bfsu.edu.cn/git/git-repo’ - 在~/.bashrc 文件中,添加环境变量(上面下载的repo和交叉编译工具路径)
export PATH=$PATH:上面下载的repo路径
export AARCH64_GCC_CROSS_COMPILE=交叉编译工具的路径 - 运行source imx_android_setup.sh,此时会报错,等到报错的时候Ctrl + C中端运行
- 修改aosp-android-10.0.0_2.5.0.xml,你懂得改成国内源
~/imx-android-10.0.0_2.5.0/android_build$ vim .repo/manifests/aosp-android-10.0.0_2.5.0.xml
修改为:
<remote name="aosp"
fetch="https://mirrors.bfsu.edu.cn/git/AOSP/"
review="/" />
- 运行再次运行source imx_android_setup.sh,注意文件路径
- 这个过程很漫长,网速快1天左右,网速慢的话不好说喽,下面是我下载完的完整目录