Rust in Everything
基于 embassy-executor 0.10.0

导读

开始读源码之前,先讲清楚两件事:

  1. 怎么读这一卷:十几个 crate 各自发版,怎么锁版本、源码链接用哪个 tag;定时器、中断、跨任务三条主线每一步落在哪个函数、哪一页讲;std、QEMU、交叉编译三种实验办法各能回答什么,QEMU 上的结果怎么标注;执行器、time、stm32 三组 feature 各打开什么,哪些最多只能开一个,开两个时的报错原文。
  2. 源码地图:用 cargo tree 核实的依赖图:futures 和 sync 不依赖执行器,执行器和 time 不互相依赖,靠 embassy-executor-timer-queue 和 embassy-time-driver 两个小 crate 加链接期符号接起来;embassy-stm32 实现时间驱动;新项目里为什么有两个 embassy-hal-internal;每个 crate 的入口文件和行数;仓库里不讲的部分。
flowchart TB
  read[怎么读这一卷] --> ver[锁定版本]
  read --> lines[三条主线]
  read --> exp[三种实验办法]
  read --> feat["feature 与互斥"]
  map[源码地图] --> deps["依赖图 cargo tree"]
  map --> seam["两个小 crate 解耦"]
  map --> size[入口与规模]

💬 关联讨论

发起讨论
加载中...