最容易访问的设备是什么

是内存!

要读写内存,知道它的地址就可以:


volatile unsigned int *p = 某个地址;
unsigned int val;
*p = val;  /* 写 */
val = *p;  /* 读 */

只有内存能这样简单、方便地使用吗?

不是的,所有的"ram-like"接口设备都可以这样操作。

什么叫"ram-like"接口?

1 典型的RS422接口电路

RS422, RS485

图 1 典型的RS422接口电路

我打算写几篇有关计算机内部的文章,以期能够解释清楚现代内核的工作原理。对这些事物感兴趣的爱好者和程序员往往缺乏经验,我希望对这些人能有所帮助。我们把重点放在 Linux,Windows 和 Intel 处理器上。探究内部构造是我的一个爱好,我曾经写过了很多运行在内核模式(kernel mode)下的代码,但是有很长时间没写过了,第一篇文章就让我们来描述下基于 Intel 的主板结构布局、CPU 如何访问内存以及系统内存映射吧。

I2C为什么要接上拉电阻?因为它是开漏输出。

I2C Pull Up Resistor

为什么是开漏输出?

I2C协议支持多个主设备与多个从设备在一条总线上,如果不用开漏输出,而用推挽输出,会出现主设备之间短路的情况。所以总线一般会使用开漏输出。

本文档描述了在Trusted Firmware-A(TF-A)中处理CPU重置的框架的高级设计。它还描述了平台集成商如何在一定程度上根据系统配置定制此代码,从而简化和优化引导流程。

本文档应与固件设计文档一起使用,该文档提供了有关重置代码的更多实施细节,特别是针对冷启动路径。

一般重置代码流程

默认情况下,TF-A重置代码在BL1中实现。下图说明了这一点: