Skip to content

🔧 平台抽象层重构

  • 创建了 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 行