中断

中断就是请求处理器中断当前执行的代码,以便及时处理某些事件。如果中断请求被接受,处理器就会暂停当前的活动,保存其状态,然后执行一个称作中断处理程序(interrupt handler)的函数,来处理某事件。中断常被硬件设备用于指示需要及时关注的电气或物理状态,例如,按钮被按下。

中断处理程序可能随时被调用,这为嵌入式 Rust 带来了一些挑战:需要有静态分配的、可变的内存,中断处理程序和主程序都可以引用它,而且这段内存必须随时是可用的。

unsafe {} 块:

此代码包含许多的 unsafe {}。一般来说,unsafe 并不意味着所包含的代码不是内存安全的,而是意味着 Rust 无法在这个地方做出安全保证,并且程序员有责任确保内存安全。例如,调用 C 绑定本身就是不安全的,因为 Rust 无法为底层的 C 代码提供任何安全保证。