0%
第三阶段总结报告
相关进度
前期学习
项目实践
- 在
rcore
中整合 embassy
, 首先遇到的问题就是在 executor
代码中里调试程序出错,后来发现了是因为在 poll
之后的一致性锁服务中加入了M态不是S态,将配置文件中的riscv加上一个s-mode
的特征属性就好了。
- 最后一学期在整合
embassy
提供的时钟中断服务时,因为没有找到关于 Driver trait
的具体实现,加上自身实力不济,并未能成功实现相关功能,是周积萍同学帮忙写的,然后我们测试了在单任务,多任务下的时钟中断服务,发现了各种各样的bug,例如任务的阻塞、无限嵌套时钟中断、忽然打出满屏的#
号等等(按理来说地址越界是有相应的处理的,不知道这个为什么会直接不处理,可能不是地址越界造成的问题),有些是 embassy
循环时的机制问题,有些则还未能解决,但并不妨碍我们去重构timer.rs中的相关定时器代码。
- 最后在将代码放入
timer.rs
的定时器中并加以重构之后,我们测试了相关用例,发现符合我们的需求,并且能够正常运行。
感谢
- 很感谢周积萍同学帮忙讲解
embassy
相关的运行机制,以及帮我解决 embassy
中的相关问题。
- 也很感谢向老师每周周会时提出的建议,让我对之后的学习有了更加明确的方向。
- 感谢夏令营的各位老师和助教们的帮助和支持,同时还提供了一个这么好的平台供我们学习成长。