第四周工作总结
❌迁移尝试
- 尝试性迁移: 尝试迁移到riscv平台,发现platform库结构和依赖关系需要重新梳理,所以退回之前的工作。
- 尝试迁移结果: 能在riscv上运行基础的上下文切换,但不稳定。代码结构和依赖关系紊乱。
🔧 Platform库重构与优化
在platform提供两个方法get_platform和get_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文档和使用示例
- 性能测试: 添加性能基准测试,监控系统性能指标
- 兼容性测试: 确保在更多硬件平台上的兼容性