bl808是三核異構架構,分為m0、lp、d0,使用的都是平臺哥的RISC-V核,分別為E907/E902/C906,每個核需要單獨編譯并燒錄到對應的位置,通過本文可以了解三核編譯、燒錄、運行。
1.簡介
BL808 是高度集成的 AIoT 芯片組,具有 Wi-Fi/BT/BLE/Zigbee 等無線互聯單元,包含多個 CPU 以及音頻編碼譯碼器、視頻編碼譯碼器和 AI 硬件加速器,適用于各種高性能和低功耗應用領域。
BL808 系列芯片主要包含無線和多媒體兩個子系統。
無線子系統包含一顆 RISC-V 32-bit 高性能 CPU(m0),集成 Wi-Fi/BT/Zigbee 無線子系統,可以實現多種無線連接和數據傳輸,提供多樣化的連接與傳輸體驗。
多媒體子系統包含一顆 RISC-V 64-bit 超高性能 CPU(d0),集成 DVP/CSI/ H264/NPU 等視頻處理模塊,可以廣泛應用于視頻監控/智能音箱等多種 AI 領域
多媒體子系統組成部分如下:
NPU HW NN 協處理器 (BLAI-100),適用于人工智能應用領域
攝像頭接口
音頻編碼譯碼器
視頻編碼解碼器
傳感器
顯示接口
電源管理單元控制低功耗模式。
此外,還支持各種安全功能。
外圍接口包括 USB2.0、 Ethernet、 SD/MMC、 SPI、 UART、 I2C、 I2S、 PWM、 GPDAC/GPADC、 ACOMP、 PIR、 Touch、IR remote、 Display 和 GPIO。
支持靈活的 GPIO 配置, BL808 最多可達 40 個 GPIO。
芯片規格包括如下:
2.RT-Thread 版本
BL808是三核異構架構,分別為m0、lp、d0,當前bsp已實現三核同時啟動,三核分別采用了不同的RT-Thread版本
3.編譯說明
BL808是三核異構架構,分別為m0、lp、d0,三核需要單獨編譯,并燒錄到對應的位置。
3.1. m0/lp
工具鏈下載
下載risc-v的工具鏈,下載地址1或下載地址2
Windows下請使用使用[env工具][1],使用命令 tar -xvf Xuantie-900-gcc-elf-newlib-mingw-V2.6.1-20220906.tar.gz 解壓交叉編譯器,使用Windows下解壓工具直接解壓可能出現Windows下編譯錯誤。
在rtconfig.py中將risc-v工具鏈的本地路徑加入 EXEC_PATH 或通過 RTT_EXEC_PATH 環境變量指定路徑
Windows:
set RTT_EXEC_PATH=C:UsersxxxxDownloadsXuantie-900-gcc-elf-newlib-x86_64-V2.6.1bin
Linux:
export RTT_EXEC_PATH=/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.6.1/bin
編譯
Windows下推薦使用[env工具][1],在console下進入bsp/bl808目錄中,選擇需要編譯的核心,m0或lp,運行:
cd bsp/bl808/m0
menuconfig
pkgs --update
如果在Linux平臺下,可以先執行:
scons --menuconfig
它會自動下載env相關腳本到~/.env目錄,然后執行
source ~/.env/env.sh
cd bsp/bl808/m0
pkgs --update
更新完軟件包后,執行 scons -j10 或 scons -j10 --verbose 來編譯這個板級支持包。或者通過 scons --exec-path="GCC工具鏈路徑" 命令,在指定工具鏈位置的同時直接編譯。
如果編譯正確無誤,會產生rtthread.elf、rtthread_m0.bin文件。其中rtthread_m0.bin需要燒寫到設備中進行運行。
注意
由于BL808為三核異構,lp核、d0核都是通過m0核啟動的,必須正確燒錄m0核才可以實現三核正常運行
m0燒錄配置文件:bsp/bouffalo_lab/bl808/m0/flash_prog_cfg.ini
3.2. d0
bl808-d0運行在S態下,支持RT-Smart,采用的交叉編譯器為riscv64-unknown-linux-musl-gcc,編譯請參考構建內核鏡像
其中內核虛擬地址開始地址為0x50000000
bl808-d0編譯完成后通過merge_rtsmart.py腳本,將hw.dtb.5M,spl_bl808_d0.bin,opensbi_v0.6.bin與rtthread_d0.bin,合成最終燒錄文件whole_img_d0.bin,燒錄地址為0x100000,否則無法啟動。
3.3. 三核同時編譯與燒錄
可運行bsp/bouffalo_lab/bl808/build_bl808_all.sh依次編譯m0、lp、d0核
可通過bsp/bouffalo_lab/bl808/flash_prog_cfg.ini燒錄配置文件,同時燒錄m0、lp、d0核。
正常啟動
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753077 -
協處理器
+關注
關注
0文章
75瀏覽量
18172 -
GPIO
+關注
關注
16文章
1204瀏覽量
52052 -
硬件加速器
+關注
關注
0文章
42瀏覽量
12763 -
RISC-V
+關注
關注
45文章
2270瀏覽量
46129
發布評論請先 登錄
相關推薦
評論