🔧 平台抽象层重构
- 创建了 embassy-preempt-platform 模块,定义了统一的 Platform trait 接口
- 将所有硬件相关的代码从 executor 模块迁移到 platform 模块
- 实现了 STM32F401RE 平台的具体支持
- 为未来支持 RISC-V 做好了准备
- 将PendSV的平台依赖代码块和业务逻辑代码块区分
- 提供了完善的platform trait文档 见代码
依赖关系优化
- 模块间依赖关系重组 优化前:
优化后:
可以发现,平台相关的 cortex-m 库仅有platform平台支持库和driver驱动库依赖,这是良好的。
🧪 自动化集成测试框架搭建
- 在 example/tests/ 目录下创建了完整的测试套件
- 实现了优先级调度测试、任务创建测试的集成测试
- 添加了自动化测试配置
🐛 修复结构体对齐 Bug
- 修复了 OS_TASK_STORAGE 结构体的内存布局问题
- 仅在 opt-level=0 时产生,非常神秘
- 添加 #[repr(C)] 属性确保 C 结构体布局兼容性
- 增加了运行时地址验证机制
- 改进了相关的日志输出和调试信息
📝 其他改进
- 删除了原仓库中不需要的文件和依赖
- 将 app 模块重命名为 driver 模块
- 提取了独立的 mem 模块
- 添加了 shutdown 函数实现(用于测试)
- 优化了程序栈大小配置(暂时将程序栈设置为4Kb,防止爆栈。后续迁移至cfg中)
- 为各个模块添加了 README 文档
📊 工作成果统计
- 提交数量: 20 个 commits
- 文件变更: 133 个文件
- 代码增删: +3,371 / -34,160 行