电子说
1.rt-thread驱动适配
当前bsp采用bouffalo_lab最新LHAL 驱动库,驱动库与原bl_mcu_sdk代码同步,当前commitid为:e6e8da79a50aeb4fcb67ac380c3bd8885cd56faf。
LHAL 是博流为统一通用外设接口而设计的驱动库,代码精炼并且支持博流所有系列芯片。
在众多小伙伴的一起支持下,目前已完成基本外设驱动适配,包括
uart/gpio/i2c/spi/pwm/rtc/adc/wdt/hwtimer/flash,rt-thread驱动也是一套代码支持以上所有芯片。
2.编译
2.1. 交叉编译器下载
不同的芯片需下载对应的toolchain,请至对应下载链接下载芯片的工具链:
2.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
2.3. 编译
Windows下推荐使用[env工具][1],在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 -j10 或 scons -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
3.下载烧录
3.1. 烧录工具下载
当前bsp必须使用bouffalo_flash_cube-1.0.4工具进行烧录,使用其他工作无法正常运行。
3.2. GUI方式下载
连接好串口并在工具上选择对应的串口号
打开对应芯片文件夹下的flash_prog_cfg.ini文件
按住开发板上的boot按钮后重新上电,进入下载状态
点击”Download”开始下载
3.3. 命令行下载
命令行下载可使用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:芯片名称
/dev/ttyUSB1:下载串口号,linux下为/dev/ttyUSBx或/dev/ttyACMx,windows下为COMx
4.运行
如果编译 & 烧写无误,当复位设备后,会在串口上看到RT-Thread的启动logo信息:
5.支持开发板列表
全部0条评论
快来发表一下你的评论吧 !