【MA35D1】buildroot 编译使用经验

文章目录

  • 芯片介绍
  • Buildroot开发Linux实践
    • 环境搭建
    • 代码获取
    • 编译执行步骤(仅适用于我公司产品)
  • 后续有需要更改的
  • 输出文件目录

芯片介绍

NuMicro® MA35D1系列为一颗异核同构的多核心微处理器,适用于高端 Edge IIoT Gateway。它是基于双核 64 位 Arm® Cortex-A35 内核,执行速度可达 800 MHz,并搭载一颗 180 MHz Arm Cortex-M4 内核。基于此高性能内核,MA35D1 系列有助于 Tiny AI/ML 边缘运算。
【MA35D1】buildroot 编译使用经验_第1张图片

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

编译执行步骤(仅适用于我公司产品)

  1. 拉取最新代码 git clone https://gitee.com/OpenNuvoton/MA35D1_Buildroot.git
  2. make clean
  3. 选择芯片型号 make numaker_iot_ma35d16f90_defconfig
  4. 执行make (大概几个小时),确保新环境,首次编译一定要过,不然会有编译问题
  5. 编译完成之后,git checkout 0f7a25790637e834b61fe213c4bd297652aa5a25
    这个修改点(我公司产品基于该修改点进行开发,不使用最新的版本)
  6. 将buildroot名称改为MS810_Buildroot 切换buildroot版本git checkout 0f7a25790637e834b61fe213c4bd297652aa5a25
  7. git clone https://gitee.com/OpenNuvoton/MA35D1_u-boot-v2020.07.git 切换uboot版本git checkout 969f42a9f0b44cf4201831cee14df698a9cae89e
  8. git clone https://gitee.com/OpenNuvoton/MA35D1_arm-trusted-firmware-v2.3.git
    切换tf版本 git checkout b5010e117d605ef55df8736e3067786090250def
  9. 以下在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
  1. 执行 tar -mxzvf m-add-tech2-240704.tar.gz
  2. 进入MS810_Buildroot 执行make doton_ms810v2_defconfig
  3. 执行make (大概四五十分钟)
  4. 执行tar -mxzvf m-add-tech2-240704.tar.gz
  5. make libopenssl-dirclean
    make libopenssl-rebuild /* 这一步是否为了解决bug,用于获取openssl,大多数情况不需要执行 */
make optee-os-rebuild
make uboot-rebuild
make arm-trusted-firmware-rebuildls
make linux-rebuild
make

后续有需要更改的

  1. 执行tar -mxzvf m-add-tech2-240704.tar.gz
  2. make optee-os-rebuild
  3. make uboot-rebuild
  4. make arm-trusted-firmware-rebuild
  5. make linux-rebuild (报错时,执行make linux-dirclean,在执行make linux-rebuild即可)
  6. make

输出文件目录

MS810_Buildroot/output/images/

你可能感兴趣的:(工作,物联网)