Provides support for ARM Cortex-M4 microcontrollers including BK7252, STM32F4, and other ARM-based embedded systems with automated project generation and driver code creation
Uses Jinja2 templating engine for intelligent code template generation in embedded FreeRTOS projects
Leverages Pydantic for data validation and modeling of chip capabilities and project configurations
Plans to support RISC-V architecture microcontrollers as part of the expansion roadmap for embedded development
Integrates SQLite database for memory management functionality, storing project configurations and enabling continuous development workflow
文心快码嵌入式FreeRTOS MCP扩展
专为文心快码设计的嵌入式FreeRTOS开发MCP扩展,支持BK7252等芯片的自动项目生成。提供完整的嵌入式开发工作流,从项目创建到代码生成的一站式解决方案。
🚀 功能特性
核心功能
智能项目生成: 根据芯片知识库自动创建完整的FreeRTOS项目结构
知识库集成: 集成芯片规格书、SDK文档和项目需求文档
记忆库功能: SQLite数据库保存项目配置,支持持续开发
多芯片支持: 支持BK7252、STM32F4、ESP32等主流嵌入式芯片
模板系统: 基于Jinja2的智能代码模板生成
增强功能
代码验证: 自动验证生成的代码符合FreeRTOS最佳实践
外设驱动生成: 自动生成GPIO、UART、SPI、I2C等外设驱动代码
内存分析: 堆栈使用分析和优化建议
项目配置管理: YAML配置文件管理芯片特性和项目设置
📋 系统要求
基础环境
操作系统: Windows 10/11, Linux, macOS
Python: 3.8 或更高版本
包管理器: pip 最新版本
开发工具(可选)
MSYS2 (Windows): 用于GCC ARM工具链
GCC ARM工具链: 用于代码编译
文心快码插件: 用于MCP集成
🔧 安装部署
1. 快速安装
2. 开发环境配置
Windows环境
Linux环境
macOS环境
3. 文心快码集成配置
在文心快码设置中添加MCP服务器配置:
4. 环境验证
运行测试命令验证安装:
💡 使用方法
1. MCP工具调用
在文心快码中通过自然语言调用工具:
创建新项目
获取芯片信息
生成驱动代码
2. 命令行使用
直接运行MCP服务器
使用项目生成器
3. API接口示例
芯片分析
知识库查询
🗂️ 项目架构
核心模块结构
知识库结构
配置系统
🎯 支持的芯片平台
当前支持的芯片
芯片型号 | 架构 | 主频 | Flash | RAM | 特性 |
BK7252N | Cortex-M4 | 200MHz | 2MB | 512KB | WiFi/BLE, 丰富外设 |
STM32F407 | Cortex-M4 | 168MHz | 1MB | 192KB | 高性能, 丰富外设 |
ESP32-S3 | Xtensa LX7 | 240MHz | 8MB | 512KB | 双核, WiFi/BLE |
GD32F450 | Cortex-M4 | 200MHz | 1MB | 256KB | 国产替代, 兼容STM32 |
扩展支持计划
✅ 已完成: BK7252, STM32F4基础支持
🔄 进行中: ESP32系列深度集成
📅 计划中: RISC-V架构芯片支持
📁 生成的项目结构
标准项目模板
项目配置文件示例
config.h
记忆库功能
保存项目配置: 自动保存项目设置到SQLite数据库
加载历史项目: 快速恢复之前的开发状态
芯片知识积累: 持续学习芯片特性和最佳实践
开发工具
集成以下开发工具:
GCC ARM编译: 使用arm-none-eabi-gcc
Make构建系统: 自动化编译流程
调试支持: 支持J-Link/ST-Link调试器
内存分析: 堆栈使用情况分析
🔍 故障排除与调试
常见问题解决方案
1. 模块导入错误
问题: ModuleNotFoundError: No module named 'yaml'
解决:
2. 工具链路径问题
问题: 找不到arm-none-eabi-gcc 解决:
3. 知识库文件缺失
问题: 芯片配置文件不存在 解决:
4. 权限问题(Windows)
问题: 文件访问被拒绝 解决:
以管理员权限运行命令行
检查文件权限设置
关闭防病毒软件的实时保护
调试模式
启用详细日志输出:
日志文件位置
应用日志:
logs/embedded_freertos_mcp.log
错误日志:
logs/error.log
调试日志:
logs/debug.log
(当启用调试模式时)
🤝 贡献指南
开发环境设置
代码规范
遵循PEP 8代码风格
使用类型注解
添加详细的文档字符串
编写单元测试
提交Pull Request
确保所有测试通过
更新相关文档
提供清晰的变更描述
关联相关Issue
📞 支持与反馈
问题报告
如果您遇到问题,请提供:
操作系统和Python版本
详细的错误信息
复现步骤
相关日志文件
联系方式
GitHub Issues: [项目Issues页面]
文档: 查看本项目Wiki
社区: 嵌入式开发技术论坛
📄 许可证
本项目采用MIT许可证。详见LICENSE文件。
🙏 致谢
感谢以下开源项目的贡献:
FreeRTOS: 实时操作系统内核
Jinja2: 模板引擎
Pydantic: 数据验证
SQLite: 轻量级数据库
嵌入式FreeRTOS MCP扩展 - 让嵌入式开发更智能、更高效! 🚀
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables automated generation of FreeRTOS embedded projects for chips like BK7252, STM32F4, and ESP32. Provides intelligent project structure creation, peripheral driver code generation, and complete embedded development workflows through natural language interaction.