| ||
D9有什么特点?
采用Cortex-A55 + R5组合架构
台积电16nm FinFET 制程工艺
22.6KDMIPS(4*A55)+3.2KDMPIS(2*R5)
车规级处理器,芯片结温范围从-40到125摄氏度
可同时运行多个不同操作系统,如安卓、Linux、FreeRTOS、裸系统等
可选: 单核D9-Lite、5核D9-Plus、六核D9-Pro。
基于D9开发难吗?
D9处理器:D9310、D9340、D9350、D9360等。
在使用 SDK 构建这个系统镜像过程中,还需要安装交叉工具链,米尔提供的这个 SDK 中除了包含各种源代码外还提供了必要的交叉工具链,可以直接用于编译应用程序等。
SDK 的安装步骤,如下:
新建工具链目录
PC$ sudo mkdir -p /tool
解压编译链
PC$ cd $HOME/MYD-JD9X PC$ tar -xvf gcc_linaro_7.3.tar.gz -C /tool
为方便设置编译链,他们提供一个设置脚本 env.sh
第2步:快速编译镜像
这里我们需要使用米尔提供的 envsetup.sh 脚本进行环境变量的设置。
进入 SDK 目录,执行./build.sh config 工程配置, 选择 board、 project、 启动方式和内核版本。然后执行./build.sh 完成编译和打包, 镜像生成到 out 目录。
只需执行 build.sh 就可以一键编译镜像:
PC$ ./build.sh
主要组件介绍:
images_d9_ref 板子的镜像主目录
binary 目录,包含所有组件的二进制文件
build_object 目录,包含 BSP 以及 buildroot 系统等组件的编译信息
images 目录,最终的镜像目录,.pac 格式的镜像烧录包
第3步:构建 SD 卡烧录器镜像
构建 sd 卡烧录镜像之前,需要先构建完 full 镜像。
准备 full 镜像,进入 SDK 目录,执行 build.sh config 命令,选择 D9 为 SD 卡启动。
然后,编译 SD 卡镜像,编译更新镜像包。
官方资料给出了两种方法:SDFactoryTool 烧录、制作 SD 卡烧。
编译 SSDK:
wujl@system2-ubuntu1804:/media/wujl/D9/d9_ssdk$ ./build.sh ssdk
编译完成后,你可以在 source/ssdk/boards/d9_ref/build/ref/gcc/secure/目录找到 safety.bin 和 secure.bin 二进制文件。
编译 uboot:
wujl@system2-ubuntu1804:/media/wujl/D9/d9_ssdk$ ./build.sh uboot
编译完成后,你可以在 out/images_d9_ref/binary/download_img/目录找到 bootloader.img 二进制文件。
拷贝编译的镜像(bootloader.img)到开发板,uboot 对应的分区为/dev/mmcblk0p26,执行下面的命令更新:
root@myd-jd9x:~# echo 0 > /sys/block/mmcblk0boot0/force_ro root@myd-jd9x:~# echo 0 > /sys/block/mmcblk0boot1/force_ro root@myd-jd9x:~# dd if=bootloader.img of=/dev/mmcblk0p26 bs=1M conv=sync 0 +1 records in 1+0 records out
编译 linux:
wujl@system2-ubuntu1804:/media/wujl/D9/d9_ssdk$ ./build.sh linux
拷贝编译的镜像(kernel.img)到开发板,kernel 对应的分区为/dev/mmcblk0p38,dtb 对应的分区为/dev/mmcblk0p34,执行下面的命令更新:
root@myd-jd9x:~# echo 0 > /sys/block/mmcblk0boot0/force_ro root@myd-jd9x:~# echo 0 > /sys/block/mmcblk0boot1/force_ro root@myd-jd9x:~# dd if=kernel.img of=/dev/mmcblk0p38 bs=1M conv=sync 9+1 records in 10+0 records out root@myd-jd9x:~# dd if=dtb.img of=/dev/mmcblk0p34 bs=1k conv=sync 113+1 records in 114+0 records out
最后