嗨,
我缺少有关引导过程的信息,尤其是与闪存的交互。- 也许有人知道我的问题的一个或多个答案。
具体来说,我正在尝试从 128MBit 闪存启动 esp8266。
我的理解是,esp8266 的 ROM 中有代码,它在上电时通过 SPI 读取闪存的第一个块。
在那个块中,我们有 2 个字节(在位置 2 和 3)。
它们的含义是(在别处找到):
现在文档中不清楚的是
1) ROM 加载初始扇区 0 的 flash_mode 和时钟频率?
2) ROM加载这个扇区后会发生什么?(我原以为它会开始执行该扇区中包含的任何代码,但它似乎在闪存中搜索半随机地址处的其他代码)。
3) 假设 ROM 在闪存中搜索其他有效代码,这些地址是如何确定的?
4)我相信闪存的大小很重要,因为 ROM 可以确定代码预期的地址。如果是这样,闪存的大小是由扇区 0 中的闪存大小(字节 3)确定的,还是 ROM 使用“通用闪存接口”来确定闪存大小?
5) ROM 决定是否在给定地址找到有效代码的标准是什么?
6) 虽然闪存芯片能够 QUOT,但未进行所需的连接。在闪存中搜索代码时,ROM 会遵守字节 2 中的 flash_mode 设置吗?)
7)ROM 中提供了哪些功能,您能否记录该 API。(不是 SDK - 有足够的文档记录 - 我正在寻找 ROM 中的功能)
8) 鉴于上表仅达到 4 兆字节/32 兆位:我应该在 128 兆位闪存上设置什么值?