芯片介绍
NuMicro® MA35D1系列为一颗异核同构的多核心微处理器,适用于高端 Edge IIoT Gateway。它是基于双核 64 位 Arm® Cortex-A35 内核,执行速度可达 800 MHz,并搭载一颗 180 MHz Arm Cortex-M4 内核。基于此高性能内核,MA35D1 系列有助于 Tiny AI/ML 边缘运算。
Buildroot开发Linux实践
环境搭建
物理主机或虚拟主机上安装64位桌面版Ubuntu 20.04
从下面链接处下载64位桌面版Ubuntu 20.04
https://releases.ubuntu.com/20.04/
https://releases.ubuntu.com/20.04/ubuntu-20.04.5-desktop-amd64.iso
- 在命令行下, 执行下述命令完成编译环境搭建
sudo apt update
sudo apt install git build-essential libncurses5-dev automake
代码获取
获取Buildroot, 因为网络连接经常会断开, 这里采用循环执行方式
$ until git clone https://github.com/OpenNuvoton/MA35D1_Buildroot.git ; do echo “retry …” ; done
编译执行步骤(仅适用于我公司产品)
- 拉取最新代码
git clone https://gitee.com/OpenNuvoton/MA35D1_Buildroot.git
- make clean
- 选择芯片型号
make numaker_iot_ma35d16f90_defconfig
- 执行make (大概几个小时),确保新环境,首次编译一定要过,不然会有编译问题
- 编译完成之后,git checkout 0f7a25790637e834b61fe213c4bd297652aa5a25
这个修改点(我公司产品基于该修改点进行开发,不使用最新的版本) - 将buildroot名称改为MS810_Buildroot 切换buildroot版本git checkout 0f7a25790637e834b61fe213c4bd297652aa5a25
- 在
git clone https://gitee.com/OpenNuvoton/MA35D1_u-boot-v2020.07.git
切换uboot版本git checkout 969f42a9f0b44cf4201831cee14df698a9cae89e - 在
git clone https://gitee.com/OpenNuvoton/MA35D1_arm-trusted-firmware-v2.3.git
切换tf版本 git checkout b5010e117d605ef55df8736e3067786090250def - 以下在MS810_Buildroot目录操作, 在MS810_Buildroot目录下创建文件vi local.mk
添加指定:
UBOOT_OVERRIDE_SRCDIR=$(CONFIG_DIR)/../MA35D1_u-boot-v2020.07
ARM_TRUSTED_FIRMWARE_OVERRIDE_SRCDIR=$(CONFIG_DIR)/../local_repo/MA35D1_arm-trusted-firmware-v2.3
UBOOT_OVERRIDE_SRCDIR=$(CONFIG_DIR)/../MA35D1_u-boot-v2020.07
ARM_TRUSTED_FIRMWARE_OVERRIDE_SRCDIR=$(CONFIG_DIR)/../MA35D1_arm-trusted-firmware-v2.3
- 执行
tar -mxzvf m-add-tech2-240704.tar.gz
- 进入MS810_Buildroot 执行
make doton_ms810v2_defconfig
- 执行make (大概四五十分钟)
- 执行
tar -mxzvf m-add-tech2-240704.tar.gz
make libopenssl-dirclean
make libopenssl-rebuild
/* 这一步是否为了解决bug,用于获取openssl,大多数情况不需要执行 */
make optee-os-rebuild
make uboot-rebuild
make arm-trusted-firmware-rebuildls
make linux-rebuild
make
后续有需要更改的
- 执行tar -mxzvf m-add-tech2-240704.tar.gz
- make optee-os-rebuild
- make uboot-rebuild
- make arm-trusted-firmware-rebuild
- make linux-rebuild (报错时,执行make linux-dirclean,在执行make linux-rebuild即可)
- make
输出文件目录
MS810_Buildroot/output/images/