This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM2431:将I2C0与EEPROM一起用于启动代码

Guru**** 2763585 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1095973/am2431-using-i2c0-with-an-eeprom-for-boot-code

部件号:AM2431

我们正在考虑使用I2C0作为启动的备份选择。

令人好奇的是,启动代码的最大大小为64K, 如果我们想支持I2C中的备份,那么它只允许32K的代码大小。 (请参阅下面的数据表参考)

问题是,是否有适合32K空间的启动代码示例,这些示例允许我们从SPI或闪存设备加载代码。  我知道需要的是从32K大小的I2C EEPROM加载的代码 必须初始化处理器并配置SPI总线和时钟,然后读取SPI数据并将其加载到RAM中并验证安装是否正确 更正后跳至该起始位置。 这将需要适当的驱动程序。

我们想知道是否有像32K这样的例子。 如果是这样,这将为我们提供可信的证据,证明如果我们需要,这将是一种可行的备份启动方法。

谢谢

4.4 .2.1 .1.2 寻址
启动代码不支持字节地址到总线地址的包装。 因此,最大图像大小可以是
访问为64 KB。

4.4 .2.1 .1 I2C初始化过程
在I2C引导模式下,ROM代码将主域I2C0配置为主模式。
引导主驱动器驱动存储映像的I2C从属设备。 映像被复制到内部RAM,
从那里执行。 如果无法识别图像,ROM将尝试在偏移处读取图像
0x8000。 这是ROM支持的唯一冗余映像

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Iance,

    您需要的是I2C EEPROM的辅助引导加载程序(SBL)示例(examples\drivers\boot\SBL_i2c)。 遗憾的是,最新的MCU+ SDK (08.02 .00.31)中没有此类示例。 如果您迫切需要它,那么您必须使用SBL_ospi示例并将它与I2C驱动程序结合起来,以得出您自己的SBL_i2c。

    此致,