スキル一覧に戻る
bouffalolab

bouffalo-sdk

by bouffalolab

bouffalo-sdkは、other分野における実用的なスキルです。複雑な課題への対応力を強化し、業務効率と成果の質を改善します。

450🍴 159📅 2026年1月18日
GitHubで見るManusで実行

SKILL.md


name: bouffalo-sdk description: Bouffalo SDK开发指南,提供完整的Bouffalo芯片系列开发文档和参考资料。当需要使用bouffalo_sdk开发IoT/MCU应用、了解SDK架构、配置构建系统、使用外设驱动、开发无线功能、管理电源、调试固件时使用此skill。

Bouffalo SDK 开发指南

本skill提供Bouffalo SDK的完整开发指南,涵盖从基础配置到高级应用的所有方面。

项目概述

Bouffalo SDK是Bouffalo Lab提供的IoT和MCU软件开发套件,支持所有Bouffalo芯片系列,包括BL602/BL702/BL616/BL808等。

开始前,阅读01-overview.md了解:

  • SDK简介和芯片系列
  • 目录结构和核心设计原则
  • 关键特性和依赖的第三方库
  • 开发环境要求和常用资源

SDK架构

理解SDK架构是高效开发的基础。

阅读02-architecture.md了解:

  • 整体架构和分层设计
  • LHAL(低级别硬件抽象层)设计理念
  • 组件化系统和板级抽象(BSP)
  • 构建系统和配置系统
  • 无线协议栈架构
  • 多核架构(BL808、BL606P、BL616D)
  • 内存管理、安全架构、电源管理架构

LHAL驱动

LHAL提供跨芯片的统一外设API。

阅读03-lhal-drivers.md了解:

  • LHAL设计和API模式
  • 核心外设驱动(GPIO、UART、SPI、I2C、I2S、ADC、DAC、DMA、定时器、PWM、RTC等)
  • 中断管理
  • 跨芯片兼容性(设备表机制)
  • 性能优化(ROM API、DMA加速)
  • 最佳实践

芯片差异

不同芯片系列在外设、无线协议、内存、功耗等方面有差异。

阅读04-chips-diff.md了解:

  • 各芯片系列特性和应用场景
  • 外设支持矩阵
  • 核心差异(单核、双核、多核)
  • 内存差异(Flash、SRAM、PSRAM)
  • 电源管理差异
  • 编译差异(CPU_ID参数)
  • 选择建议和移植指南

无线开发

SDK支持多种无线协议:WiFi 4/6、BLE、Zigbee、Thread。

阅读05-wireless.md了解:

  • 无线协议支持矩阵
  • WiFi架构和使用(Station、AP模式、Socket通信)
  • BLE架构和使用(Peripheral、Central、GATT)
  • WiFi/BLE共存(Coex)
  • 无线协议选择建议(功耗、吞吐量、连接数量对比)
  • 调试和测试
  • 常见问题

构建系统

Bouffalo SDK使用混合构建系统:Makefile(入口)+ CMake(构建引擎)+ Kconfig(配置系统)。

阅读06-build-system.md了解:

  • 构建流程和Makefile详解
  • CMakeLists.txt和Kconfig语法
  • 配置系统(menuconfig使用)
  • 工具链配置和编译器标志
  • 组件构建
  • 常见构建问题
  • 最佳实践

开发工作流

从环境设置到编译、烧录、调试的完整开发流程。

阅读07-development-workflow.md了解:

  • 工具链安装(Windows/Linux/macOS)
  • 安装构建工具和Python依赖
  • 配置串口访问(Linux)
  • 项目创建(基于示例或从零创建)
  • 编译流程(单核/多核芯片)
  • 配置管理(menuconfig)
  • 烧录固件(基本烧录、多核芯片、波特率设置)
  • 调试(CKLink、Eclipse、GDB初始化脚本、崩溃分析)
  • 日志和调试(printf、Shell、串口查看器)
  • 常见开发任务(添加自定义组件、修改启动代码、添加自定义外设驱动)
  • 性能分析(Puncover、Flash使用、内存使用)
  • 常见问题排查
  • 版本管理和最佳实践

外设使用

通过LHAL API使用各种外设。

阅读08-peripherals.md了解:

  • GPIO(中断、常用应用)
  • UART(轮询、中断、DMA模式)
  • SPI(主机/从机模式)
  • I2C(主机模式、常用应用)
  • I2S(音频接口)
  • ADC(模数转换)
  • DAC(数模转换)
  • 定时器(中断模式)
  • PWM(PWM v1/v2)
  • RTC(实时时钟、闹钟)
  • DMA(直接内存访问)
  • 外设最佳实践(初始化顺序、错误处理、资源释放、RTOS使用、低功耗)

组件系统

SDK提供丰富的软件组件:操作系统、网络协议栈、文件系统、加密库、图形库、多媒体组件等。

阅读09-components.md了解:

  • 组件目录结构
  • 操作系统组件(FreeRTOS、NuttX)
  • 网络组件(LwIP、MQTT-C)
  • 文件系统组件(FatFS、LittleFS、ROMFS)
  • 加密组件(mbedTLS)
  • 图形库组件(LVGL v8/v9)
  • USB组件(CherryUSB)
  • 工具库组件(cJSON、partition)
  • 核间通信组件(OpenAMP + RPMsg)
  • Shell组件(命令行界面)
  • 组件依赖管理
  • 自定义组件
  • 组件最佳实践

内存管理

SDK提供多种内存管理方案。

阅读10-memory-management.md了解:

  • 内存层次(Flash、SRAM、PSRAM)
  • 芯片内存配置
  • 内存管理方案(TLSF、FreeRTOS Heap、NuttX MM)
  • Flash管理(读/写/擦除、分区、加密)
  • PSRAM管理(初始化、配置、使用、分配)
  • 内存对齐
  • 内存优化(减少堆使用、复用内存、使用const、编译器优化)
  • 内存调试(内存泄漏检测、内存破坏检测、堆栈溢出检测)
  • 低功耗内存管理
  • 内存映射
  • 最佳实践

安全特性

SDK提供多层安全机制。

阅读11-security.md了解:

  • 安全架构和硬件安全引擎
  • AES加密(ECB、CBC、CTR、GCM模式)
  • SHA哈希(SHA-1、SHA-224、SHA-256)
  • TRNG(真随机数生成)
  • PKA(公钥算法)
  • 安全启动
  • 安全OTA(HTTPS FOTA)
  • Flash加密
  • 密钥管理(EFUSE、硬件密钥存储)
  • 抗回滚保护
  • mbedTLS集成
  • 安全最佳实践
  • 安全检查清单

电源管理

SDK提供完整的电源管理功能。

阅读12-power-management.md了解:

  • 电源模式(运行、浅睡眠、深度睡眠、休眠、关机)
  • 各模式特性和对比
  • 运行模式、浅睡眠、深度睡眠、休眠模式的使用
  • 唤醒机制(GPIO、定时器、RTC)
  • 低功耗优化(动态频率调整、关闭未使用的外设、使用低功耗模式、WiFi/BLE低功耗)
  • 电源管理配置(Kconfig、动态配置)
  • 状态保存和恢复
  • 低功耗测量
  • 多核电源管理(BL808、BL616)
  • 低功耗最佳实践
  • 常见问题

示例代码

SDK提供丰富的示例代码,涵盖从基础功能到复杂应用。

阅读13-examples.md了解:

  • 示例目录结构
  • 基础示例(helloworld)
  • 外设示例(UART、SPI、I2C、ADC、PWM等)
  • WiFi示例(Station、AP、HTTP请求)
  • BLE示例(Peripheral、Central)
  • 文件系统示例(FatFS、LittleFS)
  • FreeRTOS示例
  • LVGL示例
  • 电源管理示例
  • 使用示例的步骤
  • 基于示例创建项目
  • 示例最佳实践

快速开始

编译示例

# 进入示例目录
cd examples/helloworld

# 编译BL616
make CHIP=bl616 BOARD=bl616dk

烧录固件

# Linux
make flash CHIP=bl616 COMX=/dev/ttyUSB0

# Windows
make flash CHIP=bl616 COMX=COM5

多核芯片编译

# BL808 M0核心
make CHIP=bl808 BOARD=bl808dk CPU_ID=m0

常用资源

使用建议

  1. 新手入门:从01-overview.md开始,然后阅读13-examples.md,运行helloworld示例
  2. 了解架构:阅读02-architecture.md理解SDK设计
  3. 开发应用:根据需求阅读对应的references(外设→08-peripherals.md,无线→05-wireless.md等)
  4. 配置构建:阅读06-build-system.md和07-development-workflow.md
  5. 优化性能:阅读10-memory-management.md、11-security.md、12-power-management.md
  6. 故障排查:在对应的references中查找常见问题部分

スコア

総合スコア

85/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

レビュー

💬

レビュー機能は近日公開予定です