Skip to content

第四周工作总结

❌迁移尝试

  • 尝试性迁移: 尝试迁移到riscv平台,发现platform库结构和依赖关系需要重新梳理,所以退回之前的工作。
  • 尝试迁移结果: 能在riscv上运行基础的上下文切换,但不稳定。代码结构和依赖关系紊乱。

🔧 Platform库重构与优化

在platform提供两个方法get_platformget_platform_trait

前者由用户获取,可以从得到驱动实例;后者由系统代码获取,仅可使用Platform Trait的方法。

因为不同平台的驱动实例不同,这样能有效保证跨平台代码的安全性。

架构重组

  • 模块重组: 优化platform库结构,按ARM/RISC-V架构重新组织代码
  • 代码分层: 将平台相关代码按芯片类型(如stm32f401re)和架构类型(arm/riscv)进行分层
  • 清理废弃: 删除废弃的port库,简化整体架构

依赖优化

  • 性能提升: 全面删除lazystatic依赖,改用spin::Once统一spin版本
  • 内存管理: 改进内存布局和栈分配策略

🚀 统一入口宏实现

跨平台entry宏

  • 宏设计: 实现新的embassy_preempt::entry宏替代cortex-rt::entry
  • 平台抽象: 在entry层进行平台抽象,为RISC-V支持做好准备
  • 统一接口: 所有example统一使用新的入口宏,简化用户代码

🛠️ HAL库集成与驱动重构

Timer驱动重构

  • HAL集成: 基于HAL库重新实现timer驱动,更多使用HAL库操作
  • 接口优化: 完善Timer trait接口,提供更灵活的计时功能
  • Bug修复: 修复计时系统相关问题,确保时间准确性

外设驱动完善

  • LED驱动: 添加集成的LED驱动,支持基于HAL库的操作方式
  • Button驱动: 实现基于HAL库的按钮驱动,提供异步支持和Future接口
  • 驱动标准化: 统一驱动接口设计,便于后续扩展更多外设

📦 内存管理优化

内存布局优化

  • 内存效率: 程序栈放在中断栈后,可以让中断栈作为程序栈溢出时的保护区
  • 配置简化: 由platform库统一提供memory.x脚本,简化用户配置

📝 日志系统改进

日志系统重构

  • 优化defmt导出: 引用该crate的库不需要提供复杂的features和defmt依赖

🧪 Example代码整理

代码精简

  • 测试用例简化: 删除冗余测试代码
  • 提升可读性: 优化代码结构,提升可读性和维护性

适配新架构

  • 结构调整: 调整example以适配新的platform库结构
  • 接口统一: 使用新的统一入口宏和驱动接口

🌐 博客系统搭建

VitePress博客

  • 完整系统: 搭建基于VitePress的博客系统
  • 周报集成: 添加前三周周报

自动化部署

  • GitHub Actions: 配置博客自动部署工作流

🐛 Bug修复与优化

问题修复

  • 计时系统: 修复timer驱动相关计时问题,确保系统时钟准确
  • 驱动实例: 优化驱动实例获取方式,提升访问效率
  • 内存布局: 修复程序栈与中断栈的布局问题

📊 工作成果统计

bash
Git 工作量统计报告
========================
统计范围: ea14a20a HEAD

1. 提交统计
提交数量: 18 commits
时间范围: 2025-11-17 14:58:32 +0800 2025-11-21 19:49:00 +0800

2. 文件变更统计
变更文件数: 91 个文件

文件类型分布:
  无扩展名      :   5 个文件 (+268/177 )
  yml       :   3 个文件 (+54/54 )
  x         :   1 个文件 (+0/11 )
  toml      :  10 个文件 (+164/188 )
  rs        :  58 个文件 (+1286/2371 )
  mts       :   1 个文件 (+30/0 )
  md"       :   9 个文件 (+223/0 行)
  md        :   1 个文件 (+31/0 行)
  lock      :   1 个文件 (+351/0 行)
  json      :   1 个文件 (+18/0 行)
  gitignore :   1 个文件 (+18/1 行)

3. 代码行数统计
新增行数: +2443
删除行数: -2802
净变化: -359

4. 作者贡献统计
  Oveln               :  18 commits

5. 每日提交活动
  2025-11-21  :   4 commits
  2025-11-20  :   4 commits
  2025-11-19  :   7 commits
  2025-11-18  :   2 commits
  2025-11-17  :   1 commits


========================
统计完成!
生成时间: 2025-11-21 21:05:02

🎯 下周计划

RISC-V平台支持

  • 架构适配: 完善RISC-V架构的平台支持
  • 驱动移植: 将现有驱动移植到RISC-V平台
  • 测试验证: 在RISC-V硬件上进行功能验证

文档与测试

  • API文档: 完善各模块API文档和使用示例
  • 性能测试: 添加性能基准测试,监控系统性能指标
  • 兼容性测试: 确保在更多硬件平台上的兼容性