Files
rt-thread/bsp/bouffalo_lab/README.md
Bernard Xiong 743b614875
Some checks failed
RT-Thread BSP Static Build Check / 🔍 Summary of Git Diff Changes (push) Has been cancelled
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (push) Has been cancelled
RT-Thread BSP Static Build Check / collect-artifacts (push) Has been cancelled
doc_doxygen / doxygen_doc generate (push) Has been cancelled
doc_doxygen / deploy (push) Has been cancelled
pkgs_test / change (push) Has been cancelled
utest_auto_run / A9 :components/dfs.cfg (push) Has been cancelled
utest_auto_run / A9 :components/lwip.cfg (push) Has been cancelled
utest_auto_run / A9 :components/netdev.cfg (push) Has been cancelled
utest_auto_run / A9 :components/sal.cfg (push) Has been cancelled
utest_auto_run / A9 :cpp11/cpp11.cfg (push) Has been cancelled
utest_auto_run / AARCH64-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / A9-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / XUANTIE-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64 :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64-smp :default.cfg (push) Has been cancelled
utest_auto_run / A9 :default.cfg (push) Has been cancelled
utest_auto_run / A9-smp :default.cfg (push) Has been cancelled
utest_auto_run / RISCV :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-smp :default.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/atomic_c11.cfg (push) Has been cancelled
utest_auto_run / RISCV :kernel/atomic_c11.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/ipc.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/kernel_basic.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/mem.cfg (push) Has been cancelled
ToolsCI / Tools (push) Has been cancelled
Weekly CI Scheduler / Trigger and Monitor CIs (push) Has been cancelled
Weekly CI Scheduler / Create Discussion Report (push) Has been cancelled
[components][clock_time] Refactor time subsystem around clock_time (#11111)
* [components][clock_time] Refactor time subsystem around clock_time

Introduce the clock_time core with clock source/event separation, high-resolution scheduling, and boot-time helpers, plus clock_timer adapters for timer peripherals.

Remove legacy ktime/cputime/hwtimer implementations and migrate arch and BSP time paths to the new subsystem while keeping POSIX time integration functional.

Update drivers, Kconfig/SConscript wiring, documentation, and tests; add clock_time overview docs and align naming to clock_boottime/clock_hrtimer/clock_timer.

* [components][clock_time] Use BSP-provided clock timer frequency on riscv64

* [risc-v] Use runtime clock timer frequency for tick and delays

* [bsp] Add clock timer frequency hooks for riscv64 boards

* [bsp] Update Renesas RA driver doc clock_timer link

* [bsp] Sync zynqmp-r5-axu4ev rtconfig after config refresh

* [bsp][rk3500] Update rk3500 clock configuration

* [bsp][hpmicro] Add rt_hw_us_delay hook and update board delays

* [bsp][stm32l496-st-nucleo] enable clock_time for hwtimer sample in ci

* [bsp][hpmicro] Fix rtconfig include scope for hpm6750evk

Move rtconfig.h include outside the ENET_MULTIPLE_PORT guard for hpm6750evk and hpm6750evk2 so configuration macros are available regardless of ENET settings.

* [bsp][raspi3] select clock time for systimer

* [bsp][hpm5300evk] Trim trailing blank line

* [bsp][hpm5301evklite] Trim trailing blank line

* [bsp][hpm5e00evk] Trim trailing blank line

* [bsp][hpm6200evk] Trim trailing blank line

* [bsp][hpm6300evk] Trim trailing blank line

* [bsp][hpm6750evk] Trim trailing blank line

* [bsp][hpm6750evk2] Trim trailing blank line

* [bsp][hpm6750evkmini] Trim trailing blank line

* [bsp][hpm6800evk] Trim trailing blank line

* [bsp][hpm6e00evk] Trim trailing blank line

* [bsp][nxp] switch lpc178x to gcc and remove mcx timer source

* [bsp][stm32] fix the CONFIG_RT_USING_CLOCK_TIME issue.

* [docs][clock_time] add clock time documentation

* [docs][clock_time] Update clock time subsystem documentation

- Update device driver index to use correct page reference
- Clarify upper layer responsibilities in architecture overview
- Update README to describe POSIX/libc, Soft RTC, and device driver usage
- Refine architecture diagram with improved layout and color scheme
- Remove obsolete clock_timer.md file

* [kernel][utest] Trim trailing space

* [clock_time] Fix hrtimer wrap handling

* [clock_time] fix the static rt_inline issue

* [clock_time] fix the rt_clock_hrtimer_control result issue
2026-01-31 17:44:27 +08:00

11 KiB
Executable File
Raw Permalink Blame History

English | 中文

bouffalo_lab bsp

1. 简介

bouffalo_lab bsp针对bouffalo_lab的系列AIoT芯片采用bouffalo_lab最新LHAL 驱动库,驱动库与bouffalo_sdk(原bl_mcu_sdk)代码同步当前commitid:e6e8da79a50aeb4fcb67ac380c3bd8885cd56faf

目前支持以下芯片:

芯片型号 内核
1 bl60x(bl602/bl604) RISC-V SiFive E24
2 bl70x(bl702/bl704/bl706) RISC-V SiFive E24
3 bl61x(bl616/bl618) RISC-V T-Head E907
4 bl808 RISC-V T-Head E902(lp)+E907(m0)+C906(d0)

LHAL 是博流为统一通用外设接口而设计的驱动库,代码精炼并且支持博流所有系列芯片。

外设 BL602/BL604 BL702/BL704/BL706 BL616/BL618 BL808
ADC
CAM - × × ×
CKS
DAC
DMA
EFUSE ×
EMAC -
FLASH
GPIO
I2C
I2S
IR
MJPEG × ×
PWM_v1 - -
PWM_v2 - -
RTC
SEC_AES
SEC_SHA
SEC_TRNG
SEC_PKA
SPI
TIMER
UART
USB_v1 - - -
USB_v2 - -
WDG

备注: 表示已支持;× 表示未支持; 表示已支持但未测试;- 表示没有该外设。

2. 环境搭建及编译

bl60x/bl70x/bl61x可在对应芯片直接编译bl808是多核异构架构分为m0、lp、d0每个核需要单独编译并烧录到对应的位置bl808三核使用详细参考bl808三核使用指南

以下操作以单核bl61x为例其他芯片操作类同。

2.1. 下载

请至对应下载链接下载芯片的工具链

芯片型号 下载地址
bl60x/bl70x Linux/windows
bl61x/bl808 T-Head官网Linux/windows

2.2. 设置

Windows下请使用使用env工具,使用命令 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:\Users\xxxx\Downloads\Xuantie-900-gcc-elf-newlib-x86_64-V2.6.1\bin

Linux:

export RTT_EXEC_PATH=/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.6.1/bin

2.3. 编译

Windows下推荐使用env工具在console下进入bsp/bouffalo_lab/bl61x目录中运行

cd bsp/bouffalo_lab/bl61x
menuconfig
pkgs --update

如果在Linux平台下可以先执行

scons --menuconfig

它会自动下载env相关脚本到~/.env目录然后执行

source ~/.env/env.sh

cd bsp/bouffalo_lab/bl61x
pkgs --update

更新完软件包后,执行 scons -j10scons -j10 --verbose 来编译这个板级支持包。或者通过 scons --exec-path="GCC工具链路径" 命令,在指定工具链位置的同时直接编译。

如果编译正确无误会产生rtthread.elf、rtthread.bin文件编译完成后自动调用libraries/bl_mcu_sdk/tools/bflb_tools/bflb_fw_post_proc对rtthread.bin进行打包处理以用于后续bouffalo_flash_cube工具烧录。

脚本会自动采用curl命令行方式下载bflb_fw_post_proc,如自动下载失败,可采用手工方式下载对应操作系统文件后保存至libraries/bl_mcu_sdk/tools/bflb_tools/bflb_fw_post_proc

下载地址1 windows/Linux/macos
下载地址2 bflb_fw_post_proc-win.tar.gz/bflb_fw_post_proc-linux.tar.gz/bflb_fw_post_proc-macos.tar.gz
下载地址3 bflb_fw_post_proc-win.tar.gz/bflb_fw_post_proc-linux.tar.gz/bflb_fw_post_proc-macos.tar.gz

3. 下载烧录

3.1. 烧录工具下载

当前bsp必须使用bouffalo_flash_cube-1.0.4工具进行烧录,使用其他工作无法正常运行。

  • 烧录工具下载地址1百度网盘

  • 烧录工具下载地址2

bouffalo_flash_cube-win.zip/bouffalo_flash_cube-win.tar.gz

bouffalo_flash_cube-linux.zip/bouffalo_flash_cube-linux.tar.gz

bouffalo_flash_cube-macos.zip/bouffalo_flash_cube-macos.tar.gz

  • 烧录工具下载地址3

bouffalo_flash_cube-win.zip/bouffalo_flash_cube-win.tar.gz

bouffalo_flash_cube-linux.zip/bouffalo_flash_cube-linux.tar.gz

bouffalo_flash_cube-macos.zip/bouffalo_flash_cube-macos.tar.gz

3.2. GUI方式下载

  1. 连接好串口并在工具上选择对应的串口号

  2. 打开对应芯片文件夹下的flash_prog_cfg.ini文件

  3. 按住开发板上的boot按钮后重新上电进入下载状态

  4. 点击"Download"开始下载

Flash Download

3.2. 命令行下载

命令行下载可使用bsp/bouffalo_lab目录下的bouffalo_flash_cube.sh脚本,输入./bouffalo_flash_cube.sh bl616 /dev/ttyUSB1脚本会自动采用curl命令行方式下载bouffalo_flash_cube

如自动下载失败,可采用手工方式下载对应操作系统文件后保存至libraries/bl_mcu_sdk/tools/bflb_tools/bouffalo_flash_cube目录。

其中:

  • bl616芯片名称(bl808三核同时下载或者输入:bl808-m0/bl808-lp/bl808-d0分别烧录对应的核但是m0必须要烧录才能运行)
  • /dev/ttyUSB1下载串口号linux下为/dev/ttyUSBx或/dev/ttyACMxwindows下为COMx

4. 运行

如果编译 & 烧写无误当复位设备后会在串口上看到RT-Thread的启动logo信息

terminal

5. 支持开发板列表

开发板型号
bl602 BL602-IoT-3S/BL-HWC-G1
bl702 Maix Zero Sense
bl616/bl618 M0S Dock/M0P Dock
bl808 M1s Dock

6. 驱动支持列表

驱动 支持情况 备注
UART 支持 默认波特率2000000
GPIO 支持
I2C 支持
SPI 支持 支持DMA
PWM 支持
ADC 支持
RTC 支持
WDT 支持
CLOCK_TIMER 支持
FLASH 支持
SDCARD 支持
Wi-Fi 支持 仅 BL808 支持

7. 联系人信息

维护人:flyingcys

8. 参考