米爾芯馳D9超強國產(chǎn)CPU, 能跑安卓、Linux、RTOS
你還記得缺芯、漲價(jià)的那段日子嗎?近幾年,因為貿易戰、技術(shù)打壓,芯片國產(chǎn)化已成為趨勢。
本文引用地址:http://dyxdggzs.com/article/202308/449698.htm今天給大家推薦一款能跑安卓、Linux、RTOS的開(kāi)發(fā)板,而且是車(chē)規級工業(yè)超強國產(chǎn)CPU。那就是米爾電子今年新推出的,基于芯馳D9系列核心板及開(kāi)發(fā)板。
芯馳D9有什么特點(diǎn)?
1、D9處理器D9處理器是國產(chǎn)廠(chǎng)商芯馳推出的專(zhuān)為新一代電力智能設備、工業(yè)互聯(lián)網(wǎng)設備、工業(yè)控制設備、工業(yè)機器人、工程機械、軌道交通等先進(jìn)工業(yè)應用設計的高可靠、高安全、高實(shí)時(shí)、高性能芯片。
D9處理器特點(diǎn):
■ 采用Cortex-A55 + R5組合架構
■ 臺積電16nm FinFET 制程工藝
■ 22.6KDMIPS(4*A55)+3.2KDMPIS(2*R5)
■ 車(chē)規級處理器,芯片結溫范圍從-40到125攝氏度
■ 可同時(shí)運行多個(gè)不同操作系統,如安卓、Linux、FreeRTOS、裸系統等
D9系列處理器提供單核、四核、五核、六核處理器+實(shí)時(shí)處理器的靈活組合,客戶(hù)可依據自己的應用程序需求選擇合適運算能力的型號。
2、米爾基于D9核心板芯馳D9核心板采用高密度高速電路板設計,在大小為82mmx45mm 的板卡上集成了D9系列處理器、電源、LPDDR4、eMMC、QSPI、EEPROM、看門(mén)狗芯片等電路。
一個(gè)核心板支持單核、雙核、5核、6核,你見(jiàn)過(guò)嗎?
米爾針對不同客戶(hù)需求,提供定制服務(wù),可以選配核心板參數??蛇x: 單核D9-Lite、5核D9-Plus、六核D9-Pro。
3、米爾基于D9底板
米爾基于D9底板為滿(mǎn)足不同用戶(hù)的需求,提供了豐富的外設接口:
這是米爾官方提供的參數信息:
基于芯馳D9開(kāi)發(fā)難嗎?
很多開(kāi)發(fā)者都有一個(gè)誤解,剛入手一塊開(kāi)發(fā)板,要從零開(kāi)始搞起。而有經(jīng)驗的工程師都知道,換一個(gè)平臺,廠(chǎng)家基本都會(huì )提供配套軟件工具,比如系統鏡像、SDK、開(kāi)發(fā)工具等這些廠(chǎng)家都會(huì )提供。你只需要根據自己需求把時(shí)間和精力花在應用上即可。米爾設計這款米爾基于D9開(kāi)發(fā)板時(shí)就考慮到了這個(gè)問(wèn)題,在推出開(kāi)發(fā)板的同時(shí)就推出了配套的開(kāi)發(fā)資料。
對于零基礎的朋友,可以能需要一點(diǎn)時(shí)間熟悉一下相關(guān)知識。但對于有一定基礎的開(kāi)發(fā)者而言,基于D9平臺開(kāi)發(fā)還是相對不難。
這里結合官方資料給大家分享一下 D9 Linux 軟件開(kāi)發(fā)主要流程:
1、概述
MYD-JD9X 搭載基于 Linux 4.14.61 版本內核的操作系統。
開(kāi)發(fā)板出廠(chǎng)附帶嵌入式 Linux 系統開(kāi)發(fā)所需要的交叉編譯工具鏈,U-boot 源代碼,Linux 內核和各驅動(dòng)模塊的源代碼等資料包,以及適用于 Windows 桌面環(huán)境和PC Linux 系統的各種開(kāi)發(fā)和調試工具,應用開(kāi)發(fā)例程等。
2、開(kāi)發(fā)環(huán)境
■ D9處理器:D9310、D9340、D9350、D9360等。
■ Linux開(kāi)發(fā)主機:Debian, Ubuntu, RHEL等,Ubuntu18.04 64bit 桌面版系統。
■ 安裝米爾定制的SDK
在使用 SDK 構建這個(gè)系統鏡像過(guò)程中,還需要安裝交叉工具鏈,米爾提供的這個(gè) SDK 中除了包含各種源代碼外還提供了必要的交叉工具鏈,可以直接用于編譯應用程序等。
SDK 的安裝步驟,如下:
拷貝 SDK 到 Linux 目錄并解壓
新建工具鏈目錄PC$ sudo mkdir -p /tool
解壓編譯鏈
PC$ cd $HOME/MYD-JD9X
PC$ tar -xvf gcc_linaro_7.3.tar.gz -C /tool
安裝、 測試編譯鏈
為方便設置編譯鏈,他們提供一個(gè)設置腳本 env.sh
3、構建開(kāi)發(fā)板鏡像
第1步:獲取源碼購買(mǎi)開(kāi)發(fā)板會(huì )提供源碼和配套的工具。
第2步:快速編譯鏡像
這里我們需要使用米爾提供的 envsetup.sh 腳本進(jìn)行環(huán)境變量的設置。
進(jìn)入 SDK 目錄,執行./build.sh config 工程配置, 選擇 board、 project、 啟動(dòng)方式和內核版本。然后執行./build.sh 完成編譯和打包, 鏡像生成到 out 目錄。
只需執行 build.sh 就可以一鍵編譯鏡像:
PC$ ./build.sh
鏡像編譯完成之后,在 SDK 源碼會(huì )生成 out 目錄,out 目錄是執行 build.sh 一鍵編譯腳本后自動(dòng)生成的目錄,包含所有的鏡像組件。
主要組件介紹:
■ images_d9_ref 板子的鏡像主目錄
■ binary 目錄,包含所有組件的二進(jìn)制文件
■ build_object 目錄,包含 BSP 以及 buildroot 系統等組件的編譯信息
■ images 目錄,最終的鏡像目錄,.pac 格式的鏡像燒錄包
第3步:構建 SD 卡燒錄器鏡像
構建 sd 卡燒錄鏡像之前,需要先構建完 full 鏡像。準備 full 鏡像,進(jìn)入 SDK 目錄,執行 build.sh config 命令,選擇 D9 為 SD 卡啟動(dòng)。然后,編譯 SD 卡鏡像,編譯更新鏡像包。
4、燒錄系統鏡像D9 系列微處理器啟動(dòng)方式有多種,用戶(hù)可以根據需求選擇不同的方式進(jìn)行更新。更新方式主要有以下幾種:.
■ USB 燒寫(xiě):適用于研發(fā)調試,測試等場(chǎng)景。
■ 制作 SD 卡啟動(dòng)器: 適用于研發(fā)調試,快速啟動(dòng)等場(chǎng)景
■ 制作 SD 卡燒錄器:適用于批量生產(chǎn)燒寫(xiě) eMMC
官方資料給出了兩種方法:SDFactoryTool 燒錄、制作 SD 卡燒。
方法一:SDFactoryTool 燒錄也就是使用SDFactoryTool工具,通過(guò)USB進(jìn)行燒錄。
通過(guò)USB將電腦和開(kāi)發(fā)板連接,選擇啟動(dòng)模式,將撥碼開(kāi)關(guān)撥到 USB 下載模式。
準備燒錄鏡像,啟動(dòng) SDFactoryTool 工具進(jìn)行下載即可。
方法二:SD卡燒錄為滿(mǎn)足生產(chǎn),大批量燒錄,也可以使用SD卡燒錄的方法。
這里通過(guò)制作 TF 卡燒錄器鏡像包實(shí)現這種方法,為節省時(shí)間,米爾已經(jīng)把 sd 卡燒錄鏡像包編譯完成,用戶(hù)只需編譯更新鏡像包就行。(具體可以參考開(kāi)發(fā)手冊)
5、修改板級支持包這一節應該是相對比較重要的,也是相對比較難的,包括U-boot、 kernel等相關(guān)內容的編譯與更新。
a.板載 SSDK 編譯與更新SemiDrive MCU SDK(以下簡(jiǎn)稱(chēng) SSDK) 用于 SemiDrive 各芯片平臺的 MCU 軟件開(kāi)發(fā),例如 D9 系列 SOC 的 Safety R5 軟件。
編譯 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 二進(jìn)制文件。
b.板載 uboot 編譯與更新
U-boot 是一個(gè)功能非常豐富的開(kāi)源啟動(dòng)引導程序,包括內核引導,下載更新等眾多方面。
編譯 uboot:
wujl@system2-ubuntu1804:/media/wujl/D9/d9_ssdk$ ./build.sh uboot
編譯完成后,你可以在 out/images_d9_ref/binary/download_img/目錄找到 bootloader.img 二進(jìn)制文件。
更新 uboot:
拷貝編譯的鏡像(bootloader.img)到開(kāi)發(fā)板,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
c.板載 Kernel 編譯與更新
編譯 linux:
wujl@system2-ubuntu1804:/media/wujl/D9/d9_ssdk$ ./build.sh linux
編譯完成后,你可以在 out/images_d9_ref/binary/download_img 目錄找到 kernel.img和 dtb.img 二進(jìn)制文件。
更新內核和設備樹(shù):
拷貝編譯的鏡像(kernel.img)到開(kāi)發(fā)板,kernel 對應的分區為/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
6、適配硬件平臺這一節相當于是芯片底層驅動(dòng)相關(guān)的內容,可通過(guò)芯馳提供的引腳配置的工具,快速定義各個(gè)節點(diǎn)的管腳,屬性,電源等(官方提供了對應工具)。
這里配置的具體細節,可以參看《MYD-JD9X_Linux軟件開(kāi)發(fā)指南》第6節。
接下來(lái),就可以添加你的應用程序了,官方提供了“基于 Makefile 的應用”的介紹,大家可以參看一下。
03.最后總結
因為技術(shù)打壓的原因,選擇國產(chǎn)替代已是當下的趨勢,如果你正在尋找一款類(lèi)似的芯片,不妨了解一下這款D9系列開(kāi)發(fā)板:
評論