用途:为外部设备(如 AT24C02、MPU6050、SSD1306)开发 BSP 驱动,寻找并适配成熟开源驱动库,或在无合适库时生成 BSP 骨架快速起步。
主要能力:按搜索策略在 GitHub/Gitee 寻找候选驱动库并评估打分;用 --scan 分析开源代码的函数签名、HAL 调用、命名风格与依赖;用 --adapt 将代码适配到 BSP 规范并注入 HAL handle;用 --scaffold 生成骨架文件;--list-devices 列出已记录设备与推荐库。
必要输入:目标设备名称、通信总线类型(I2C/SPI/UART/1-Wire/GPIO)、HAL handle 名称(如 hi2c1、hspi2),可选设备 I2C 地址与已下载驱动目录。
用法示例: python3 scripts/bsp_adapter.py --scan ./downloaded_driver/ python3 scripts/bsp_adapter.py --adapt ./downloaded_driver/ --device <device_name> --handle <hal_handle> --output ./Hardware/bsp_<device>/ python3 scripts/bsp_adapter.py --scaffold --device <device_name> --bus <bus_type> --handle <hal_handle> --addr <i2c_addr> --output ./Hardware/bsp_<device>/
限制:脚本仅用 Python 标准库;生成 C 代码遵循 STM32 HAL BSP 规范,兼容 GCC、IAR、Keil。搜索不到库时需参考规格书手动实现;开源库使用裸寄存器或非 STM32 API 时需手动适配通信层;GPL 或无许可证库存在许可风险。编译失败交由 build-* 技能处理。