机械动画公司mediajl 动画制作公司

还记得那段缺芯涨价的日子吗?近年来,由于贸易战和技术打压,芯片国产化成为趋势。

今天给大家推荐一款可以运行Android、Linux、RTOS的开发板,是一款超强的汽车行业国产CPU。这就是今年米勒电子推出的,基于酷睿驰D9系列的核心板和开发板。

机械动画公司mediajl 动画制作公司

D9有什么特点?

1.D9处理器

D9处理器是一款高可靠性、高安全性、高实时性、高性能芯片,专为新一代电力智能设备、工业互联网设备、工业控制设备、工业机器人、工程机械和轨道交通等先进工业应用而设计。

D9处理器的特性:

采用Cortex-A55 + R5组合架构台积电16nm FinFET 制程工艺22.6KDMIPS(4*A55)+3.2KDMPIS(2*R5)车规级处理器,芯片结温范围从-40到125摄氏度可同时运行多个不同操作系统,如安卓、Linux、FreeRTOS、裸系统等

D9系列处理器提供单核、四核、五核、六核处理器和实时处理器的灵活组合。客户可以根据自己的应用需求选择计算能力合适的型号。

2.轧机基于D9芯板。

芯驰D9的芯板采用高密度高速电路板设计。D9系列处理器、电源、LPDDR4、eMMC、QSPI、EEPROM、看门狗芯片等电路集成在82mmx45mm的板上。

核心板支持单核、双核、5核和6核。你看过吗?

Mill根据不同客户需求提供定制服务,可以选择核心板参数。

可选:单核D9-Lite、五核D9-Plus和六核D9-Pro。

3.Mill基于D9背板。

基于D9背板,Mill提供了丰富的外设接口来满足不同用户的需求:

这是工厂提供的官方参数信息:

基于D9开发难吗?

很多开发者有一个误区,认为自己刚开了一个开发板,应该从头开始。

有经验的工程师都知道,如果换一个平台,厂商基本都会提供配套的软件工具,比如系统镜像、SDK、开发工具等。你只需要根据自己的需求,把时间和精力花在应用上。

Mill在设计基于D9的开发板时就考虑到了这个问题,同时引入了支持开发的材料。

对于零基础的朋友来说,可能需要一点时间来熟悉相关知识。但对于有一定基础的开发者来说,基于D9平台开发相对容易。

在这里,我给大家分享一下基于官方数据的D9 Linux软件开发的主要流程:

0.概观

MYD-JD9X搭载基于Linux 4 . 14 . 61版内核的操作系统。

开发板自带交叉编译工具链、U-boot源代码、Linux内核和各驱动模块源代码等数据包,以及适用于Windows桌面环境和PC Linux系统的各种开发调试工具和应用开发例程。

1.发展环境

D9处理器:D9310、D9340、D9350、D9360等。Linux开发主机:Debian, Ubuntu, RHEL等,Ubuntu18.04 64bit 桌面版系统。安装米尔定制的 SDK

在使用SDK构建这个系统镜像的过程中,还需要安装一个跨工具链。Mill提供的SDK不仅包含各种源代码,还提供了必要的跨工具链,可以直接用来编译应用。

SDK的安装步骤如下:

将SDK复制到Linux目录下并解压。

新工具链目录

PC$ sudo mkdir -p /tool

解压缩编译链

PC $ CD $ HOME/MYD-JD 9 xpc $ tar-xvf gcc _ linaro _ 7.3 . tar . gz-C/tool

安装并测试编译链

为了方便编译链的设置,他们提供了一个设置脚本env.sh

2.构建开发板的镜像

第一步:获取源代码

购买开发板将提供源代码和支持工具。

第二步:快速编译图像。

这里我们需要使用Mill提供的envsetup.sh脚本来设置环境变量。

进入SDK目录,执行。/build.sh config项目配置,选择板卡、项目、启动方式、内核版本。然后执行。/build.sh完成编译和打包,镜像生成到out目录。

只需执行build.sh,一键编译映像:

PC美元。/build.sh

镜像编译完成后,将在SDK源代码中生成out目录。out目录是执行build.sh一键编译脚本后自动生成的目录,包含所有镜像组件。

主要部件介绍:

images_d9_ref 板子的镜像主目录binary 目录,包含所有组件的二进制文件build_object 目录,包含 BSP 以及 buildroot 系统等组件的编译信息images 目录,最终的镜像目录,.pac 格式的镜像烧录包

步骤3:建立SD卡的编程设备映像。

在构建sd卡刻录映像之前,您需要先构建完整的映像。

准备完整镜像,进入SDK目录,执行build.sh config命令,选择D9启动SD卡。

然后,编译SD卡镜像,更新镜像包。

3.刻录系统映像

D9系列微处理器有多种启动方式,用户可以根据需要选择不同的方式进行更新。有几种方法可以更新:。

U 烧写:适用于研发调试,测试等场景。制作 SD 卡启动器: 适用于研发调试,快速启动等场景制作 SD 卡烧录器:适用于批量生产烧写 eMMC

官方数据给出了两种方法:SDF Factorytool烧录和SD卡烧录。

方法1: SDFactoryTool燃烧

也就是使用SDF Factorytool工具,通过U烧写。

通过U将计算机连接到开发板,选择启动模式,将dip开关切换到U下载模式。

准备刻录映像,并启动SDFactoryTool工具下载映像。

方法二:SD卡刻录

为了满足生产和批量刻录的需要,也可以采用SD卡刻录的方式。

该方法是通过制作TF卡编程设备镜像包来实现的。为了节省时间,Mill编译了sd卡烧录镜像包,用户只需要编译更新镜像包即可。(详情请参考开发手册)

4.修改板级支持包

这部分应该是比较重要也比较难的,包括U-boot、内核等相关内容的编译和更新。

A.车载SSDK汇编和更新

SemiDrive MCU SDK(以下简称SSDK)用于开发SemiDrive各种芯片平台的MCU软件,如D9系列SOC的Safety R5软件。

编译SSDK:

wujl @ system 2-Ubuntu 1804:/media/wujl/D9/D9 _ ssdk $。/build.sh ssdk

编译后可以在source/ssdk/boards/d9 _ ref/build/ref/gcc/secure/的目录下找到safety.bin和secure.bin的二进制文件。

B.板载uboot编译和更新

U-boot是一款开源的引导程序,功能丰富,包括内核引导、下载更新等诸多方面。

编译uboot:

wujl @ system 2-Ubuntu 1804:/media/wujl/D9/D9 _ ssdk $。/build.sh uboot

编译完成后,你可以在 out/images_d9_ref/binary/download_img/目录找到 bootloader.img 二进制文件。编译完成后,可以在out/images _ d9 _ ref/binary/download _ img/目录下找到bootloader.img二进制文件。

更新uboot:

拷贝编译的镜像(bootloader.img)到开发板,uboot 对应的分区为/dev/mmcblk0p26,执行下面的命令更新:将编译好的镜像(bootloader.img)复制到开发板,uboot对应的分区为/dev/mmbclk0p26。执行以下命令进行更新:

root@myd-jd9x:~# echo 0 > /sys/block/mmcblk0boot0/force_roroot@myd-jd9x:~# echo 0 > /sys/block/mmcblk0boot1/force_roroot@myd-jd9x:~# dd if=bootloader.img of=/dev/mmcblk0p26 bs=1M conv=sync 0+1 records in1+0 records out

root @ myd-jd9x:~ # echo 0 & gt;/sys/block/mmcblk 0 boot 0/force _ roroot @ myd-jd9x:~ # echo 0 & gt;/sys/block/mmcblk 0 boot 1/force _ roroot @ myd-jd9x:~ # DD if = boot loader . img of =/dev/mmcblk 0 p 26 bs = 1M conv = sync 0+1 records in 1+0 records out

C.板载内核编译和更新

编译linux:

wujl @ system 2-Ubuntu 1804:/media/wujl/D9/D9 _ ssdk $。/build.sh linux

编译完成后,你可以在 out/images_d9_ref/binary/download_img 目录找到 kernel.img和 dtb.img 二进制文件。编译完成后,可以在out/images _ d9 _ ref/binary/download _ img目录下找到kernel.img和dtb.img二进制文件。

更新内核和设备树:

拷贝编译的镜像(kernel.img)到开发板,kernel 对应的分区为/dev/mmcblk0p38,dtb 对应的分区为/dev/mmcblk0p34,执行下面的命令更新:将编译好的镜像(kernel.img)复制到开发板。内核对应的分区是/dev/mmcblk0p38,dtb对应的分区是/dev/mmcblk0p34。执行以下命令进行更新:

root@myd-jd9x:~# echo 0 > /sys/block/mmcblk0boot0/force_roroot@myd-jd9x:~# echo 0 > /sys/block/mmcblk0boot1/force_roroot@myd-jd9x:~# dd if=kernel.img of=/dev/mmcblk0p38 bs=1M conv=sync9+1 records in10+0 records outroot@myd-jd9x:~# dd if=dtb.img of=/dev/mmcblk0p34 bs=1k conv=sync113+1 records in114+0 records out

root @ myd-jd9x:~ # echo 0 & gt;/sys/block/mmcblk 0 boot 0/force _ roroot @ myd-jd9x:~ # echo 0 & gt;/sys/block/mmcblk 0 boot 1/force _ roroot @ myd-jd9x:~ # DD if = kernel . img of =/dev/mmcblk 0 p 38 bs = 1M conv = sync 9+1记录in10+0记录out root @ myd-jd9x:~ # DD if = dtb . img of =/dev/mmcblk 0 p 34 bs = 1k conv = sync 113+1记录in114+0记录out

5、适应硬件平台

这部分相当于芯片底层驱动相关的内容,以及管脚、属性、电源等。可以通过Core Chi提供的pin配置工具(相应工具由政府提供)快速定义每个节点的。

关于这里的配置细节,请参考《MYD-JD9X_Linux软件开发指南》第6节。

接下来,您可以添加您的应用程序。官方提供了“基于Makefile的应用”的介绍,可以参考一下。

最后

因为技术的压制,选择国产替代是目前的趋势。如果您正在寻找类似的芯片,您可能希望了解这款D9系列开发板:

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论