首页 > 技术 > 内容

博流BL808三核编译运行上手指南

时间:2025-12-01  作者:Diven  阅读:0

bl808是三核异构架构,分为m0、lp、d0,使用的都是平台哥的RISC-V核,分别为E907/E902/C906,每个核需要单独编译并烧录到对应的位置,通过本文可以了解三核编译、烧录、运行。

简介

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。

芯片规格包括如下:

1.jpg

RT-Thread 版本

BL808是三核异构架构,分别为m0、lp、d0,当前bsp已实现三核同时启动,三核分别采用了不同的RT-Thread版本

1.jpg

编译说明

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

d0
bl808-d0运行在S态下,支持RT-Smart,采用的交叉编译器为riscv64-unknown-linux-musl-gcc,编译请参考构建内核镜像

其中内核虚拟地址开始地址为0x50000000

1.jpg

bl808-d0编译完成后通过merge_rtsmart.py脚本,将hw.dtb.5M,spl_bl808_d0.bin,opensbi_v0.6.bin与rtthread_d0.bin,合成最终烧录文件whole_img_d0.bin,烧录地址为0x100000,否则无法启动。

1.jpg

三核同时编译与烧录
可运行bsp/bouffalo_lab/bl808/build_bl808_all.sh依次编译m0、lp、d0核
可通过bsp/bouffalo_lab/bl808/flash_prog_cfg.ini烧录配置文件,同时烧录m0、lp、d0核。

1.jpg

正常启动

1.jpg

猜您喜欢


随着电力系统的不断发展,变压器作为电力传输和分配中的关键设备,其性能的稳定性直接关系到电力系统的安全运行。三回路变压器直流电阻测试仪作为专业检测仪器,能够准确测...
2025-11-05 00:30:05
排阻作为重要的电阻器类型,应用于各种电路中。SUPEROHM(美隆)作为知名的排阻品牌,高品质的产品和丰富的规格赢得了市场的认可。本文将详细介绍SUPEROHM...
2016-04-28 02:19:30
电源模块/电源供应器是现代电子设备中不可少的重要组件。主要功能是将输入的电源转换为设备所需的稳定电压和电流,以确保设备的正常运行。无论是在家用电器、计算机、通讯...
2014-04-13 00:00:00
Microsemi公司的SmartFusion2 SoC FPGA是低功耗FPGA器件,集成了第四代基于闪存FPGA架构,166MHz ARM Cortex-M...
2018-05-14 14:20:00
设计流程:设计规划--波形绘制--编写代码--代码编译--编写testbench--对比波形--绑定管脚--全编译--上板验证设计规划使用用户手册,了解硬件资源...
2023-05-22 15:07:00
混合仪是用于将不同成分或物质均匀混合的设备,应用于化工、食品、制药等行业。其基本功能是通过机械手段使不同物质在物理状态上达到均匀分布,从而提高产品的质量和稳定性...
2008-02-11 00:00:00
保险丝作为重要的保护元件,起到了防止电路过载和短路的重要作用。作为业内知名品牌,伊莱科(ELECALL)的一次性保险丝凭借其优异的品质和多样的分类,广受用户青睐...
2020-05-20 03:01:30
贴片电阻本身并没有一个明确的寿命期限,不像灯泡用一段时间就会烧坏。更像一座桥梁,只要不超过的承重限制,理论上可以一直使用。影响贴片电阻长期稳定性的因素有很多,主...
2024-11-29 10:25:53
差分运放是应用于电子电路中的放大器,其分类主要有以下几种:按照工作方式的不同,差分运放可以分为线性差分运放和开关差分运放。线性差分运放用于线性放大信号,而开关差...
2023-08-11 00:00:00
DIP8_9.2X6.4MM是一种广泛应用于电子元件中的封装规格,特别是在集成电路(IC)和其他电子设备中。它的尺寸为9.2毫米×6.4毫米,具有8个引脚,因其...
2025-02-24 16:31:36