BL618开发笔记-串口打印helloworld
摘要
在博流智能(bouffalo)BL618单片机上通过串口打印helloworld.
平台信息
- macOS
- docker
- 开发板:安信可Ai-M61-32S-Kit
安信可Ai-M61-32S-Kit开发板
Ai-M61 系列模组(下称模组)是由深圳市安信可科技有限公司开发的 Wi-Fi6 & 蓝牙双模模组,搭载BL618芯片作为处理器,支持Wi-Fi 802.11b/g/n/ax协议(WIFI6)和BLE 5.3协议。BL618芯片内置低功耗的32位RISC-V CPU,最高主频可达320M. 丰富的外围接口,包括DVP、MJPEG、Dispaly、Audio Codec、USB2.0、SDU、以太网(EMAC)、SD/MMC(SDH)、SPI、UART、I2C、I2S、PWM、GPDAC、GPADC、ACOMP和GPIO等。
Ai-M61-32S-Kit 是针对 Ai-M61-32S 模组设计的开发板。Ai-M61-32S 是由深圳市安信可 科技有限公司开发的 Wi-Fi 6+BLE5.3 模组,该模组搭载 BL618 芯片作为核心处理器,支 持 Wi-Fi 802.11b/g/n/ax 协议和 BLE 协议,支持 Thread 协议。BL618 系统包含一个带有 浮点单元、DSP 单元、高速缓存和存储器的低功耗 32 位 RISC-V CPU,最高主频可达 320M。
Ai-M61-32S 模组具有丰富的外设接口,具体包括 DVP、MJPEG、Dispaly、Audio Codec、 USB2.0、SDU、以太网(EMAC)、SD/MMC(SDH)、SPI、UART、I2C、I2S、PWM、GPDAC、 GPADC、ACOMP 和 GPIO 等。可广泛应用于音视频多媒体、物联网(IoT)、移动设备、 可穿戴电子设备、智能家居等领域。
Ai-M61-32S 模组 Sec Eng 模块支持 AES/SHA/PKA/TRNG 等功能,支持镜像加密和签名 启动,满足物联网领域的各种安全应用需求。
BL618芯片
BL618芯片内置低功耗的32位RISC-V CPU,最高主频可达320M。
丰富的外围接口,包括DVP、MJPEG、Dispaly、Audio Codec、USB2.0、SDU、以太网(EMAC)、SD/MMC(SDH)、SPI、UART、I2C、I2S、PWM、GPDAC、ACOMP和GPIO等。
构建docker编译环境镜像
[https://hub.docker.com/repository/docker/qsbye/build-env2]
#制作qsbye/build-env2:v2镜像
docker pull chinawrj/bouffalolab_build_bunch:latest
docker run -it -v $PWD:/srv --network=bridge chinawrj/bouffalolab_build_bunch:latest bash
mkdir /sdk
cp -r /srv/files/bouffalo_sdk /sdk
cp -r /srv/files/toolchain_gcc_t-head_linux /opt/riscv
echo "export PATH=\"$PATH:/opt/riscv/bin\"" >> ~/.bashrc
source ~/.bashrc
riscv64-unknown-elf-gcc -v
docker commit 2de04e00bda1 qsbye/build-env2:v2
docker push qsbye/build-env2:v2
实现
[https://blog.csdn.net/weixin_64069585/article/details/130900203]
项目目录
.
├── CMakeLists.txt
├── Makefile
├── README.md
├── build
│ ├── CMakeCache.txt
│ ├── CMakeFiles
│ ├── Makefile
│ ├── build_out
│ └── cmake_install.cmake
├── flash_prog_cfg.ini
├── main.c
└── proj.conf
代码
#include "bflb_mtimer.h"
#include "board.h"
#define DBG_TAG "MAIN"
#include "log.h"
int main(void)
{
board_init();
while (1) {
LOG_F("hello world fatal\r\n");
LOG_E("hello world error\r\n");
LOG_W("hello world warning\r\n");
LOG_I("hello world information\r\n");
LOG_D("hello world debug\r\n");
LOG_T("hello world trace\r\n");
LOG_RF("hello world fatal raw\r\n");
LOG_RE("hello world error raw\r\n");
LOG_RW("hello world warning raw\r\n");
LOG_RI("hello world information raw\r\n");
LOG_RD("hello world debug raw\r\n");
LOG_RT("hello world trace raw\r\n");
bflb_mtimer_delay_ms(1000);
}
}
编译&烧录
- 编译
sdk中的project.build文件是编译必须的,所以需要复制整个sdk目录.
docker run --rm -it -v $PWD:/srv qsbye/build-env2:v2 bash -c "cp -r /sdk /srv/software/bouffalo_sdk && cd /srv/software/bouffalo_sdk/examples/helloworld && make CHIP=bl616 BOARD=bl616dk"
- 烧录
打开$PWD/software/bouffalo_sdk/tools/bflb_tools/bouffalo_flash_cube/BLFlashCube-macos
工具,
加载工程文件夹中的flash_prog_cfg.ini
文件,然后会自动配置烧录固件的路径.
烧写固件是需要先按下开发板烧录按键IO2同时再短按复位按键EN.
效果
- 波特率:2000000 bps
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2022-08-17 香橙派(OrangePi)折腾笔记
2022-08-17 zemax光学设计笔记[5]-ZPL或ZOS-API的简单使用