bl808是三核異構(gòu)架構(gòu),分為m0、lp、d0,使用的都是平臺(tái)哥的RISC-V核,分別為E907/E902/C906,每個(gè)核需要單獨(dú)編譯并燒錄到對(duì)應(yīng)的位置,通過(guò)本文可以了解三核編譯、燒錄、運(yùn)行。
1.簡(jiǎn)介
BL808 是高度集成的 AIoT 芯片組,具有 Wi-Fi/BT/BLE/Zigbee 等無(wú)線互聯(lián)單元,包含多個(gè) CPU 以及音頻編碼譯碼器、視頻編碼譯碼器和 AI 硬件加速器,適用于各種高性能和低功耗應(yīng)用領(lǐng)域。
BL808 系列芯片主要包含無(wú)線和多媒體兩個(gè)子系統(tǒng)。
無(wú)線子系統(tǒng)包含一顆 RISC-V 32-bit 高性能 CPU(m0),集成 Wi-Fi/BT/Zigbee 無(wú)線子系統(tǒng),可以實(shí)現(xiàn)多種無(wú)線連接和數(shù)據(jù)傳輸,提供多樣化的連接與傳輸體驗(yàn)。
多媒體子系統(tǒng)包含一顆 RISC-V 64-bit 超高性能 CPU(d0),集成 DVP/CSI/ H264/NPU 等視頻處理模塊,可以廣泛應(yīng)用于視頻監(jiān)控/智能音箱等多種 AI 領(lǐng)域
多媒體子系統(tǒng)組成部分如下:
NPU HW NN 協(xié)處理器 (BLAI-100),適用于人工智能應(yīng)用領(lǐng)域
攝像頭接口
音頻編碼譯碼器
視頻編碼解碼器
傳感器
顯示接口
電源管理單元控制低功耗模式。
此外,還支持各種安全功能。
外圍接口包括 USB2.0、 Ethernet、 SD/MMC、 SPI、 UART、 I2C、 I2S、 PWM、 GPDAC/GPADC、 ACOMP、 PIR、 Touch、IR remote、 Display 和 GPIO。
支持靈活的 GPIO 配置, BL808 最多可達(dá) 40 個(gè) GPIO。
芯片規(guī)格包括如下:
2.RT-Thread 版本
BL808是三核異構(gòu)架構(gòu),分別為m0、lp、d0,當(dāng)前bsp已實(shí)現(xiàn)三核同時(shí)啟動(dòng),三核分別采用了不同的RT-Thread版本
3.編譯說(shuō)明
BL808是三核異構(gòu)架構(gòu),分別為m0、lp、d0,三核需要單獨(dú)編譯,并燒錄到對(duì)應(yīng)的位置。
3.1. m0/lp
工具鏈下載
下載risc-v的工具鏈,下載地址1或下載地址2
Windows下請(qǐng)使用使用[env工具][1],使用命令 tar -xvf Xuantie-900-gcc-elf-newlib-mingw-V2.6.1-20220906.tar.gz 解壓交叉編譯器,使用Windows下解壓工具直接解壓可能出現(xiàn)Windows下編譯錯(cuò)誤。
在rtconfig.py中將risc-v工具鏈的本地路徑加入 EXEC_PATH 或通過(guò) RTT_EXEC_PATH 環(huán)境變量指定路徑
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下進(jìn)入bsp/bl808目錄中,選擇需要編譯的核心,m0或lp,運(yùn)行:
cd bsp/bl808/m0
menuconfig
pkgs --update
如果在Linux平臺(tái)下,可以先執(zhí)行:
scons --menuconfig
它會(huì)自動(dòng)下載env相關(guān)腳本到~/.env目錄,然后執(zhí)行
source ~/.env/env.sh
cd bsp/bl808/m0
pkgs --update
更新完軟件包后,執(zhí)行 scons -j10 或 scons -j10 --verbose 來(lái)編譯這個(gè)板級(jí)支持包。或者通過(guò) scons --exec-path="GCC工具鏈路徑" 命令,在指定工具鏈位置的同時(shí)直接編譯。
如果編譯正確無(wú)誤,會(huì)產(chǎn)生rtthread.elf、rtthread_m0.bin文件。其中rtthread_m0.bin需要燒寫到設(shè)備中進(jìn)行運(yùn)行。
注意
由于BL808為三核異構(gòu),lp核、d0核都是通過(guò)m0核啟動(dòng)的,必須正確燒錄m0核才可以實(shí)現(xiàn)三核正常運(yùn)行
m0燒錄配置文件:bsp/bouffalo_lab/bl808/m0/flash_prog_cfg.ini
3.2. d0
bl808-d0運(yùn)行在S態(tài)下,支持RT-Smart,采用的交叉編譯器為riscv64-unknown-linux-musl-gcc,編譯請(qǐng)參考構(gòu)建內(nèi)核鏡像
其中內(nèi)核虛擬地址開始地址為0x50000000
bl808-d0編譯完成后通過(guò)merge_rtsmart.py腳本,將hw.dtb.5M,spl_bl808_d0.bin,opensbi_v0.6.bin與rtthread_d0.bin,合成最終燒錄文件whole_img_d0.bin,燒錄地址為0x100000,否則無(wú)法啟動(dòng)。
3.3. 三核同時(shí)編譯與燒錄
可運(yùn)行bsp/bouffalo_lab/bl808/build_bl808_all.sh依次編譯m0、lp、d0核
可通過(guò)bsp/bouffalo_lab/bl808/flash_prog_cfg.ini燒錄配置文件,同時(shí)燒錄m0、lp、d0核。
正常啟動(dòng)
-
傳感器
+關(guān)注
關(guān)注
2567文章
53012瀏覽量
767729 -
協(xié)處理器
+關(guān)注
關(guān)注
0文章
84瀏覽量
18546 -
GPIO
+關(guān)注
關(guān)注
16文章
1280瀏覽量
54132 -
硬件加速器
+關(guān)注
關(guān)注
0文章
43瀏覽量
13069 -
RISC-V
+關(guān)注
關(guān)注
46文章
2577瀏覽量
48869
發(fā)布評(píng)論請(qǐng)先 登錄
BL808 RT-Thread Wi-Fi驅(qū)動(dòng)適配
【博流 BL-HWC-G1 開發(fā)板試用】初上手(暫未使用openharmony)
【博流 BL-HWC-G1 開發(fā)板試用】OpenHarmony編譯和燒錄
記錄BL808 BSP添加GPIO驅(qū)動(dòng)時(shí)踩到的一些坑及解決方案
ModelSim快速上手指南
如何把OpenHarmony燒錄進(jìn)博流BL-HWC-G1開發(fā)板上

適用于TI mmWave sensor的CCS在線調(diào)試腳本上手指南

RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

RT-Thread文檔_正點(diǎn)原子 nano STM32F103 上手指南

RT-Thread文檔_正點(diǎn)原子阿波羅 STM32F429 上手指南

評(píng)論