2397592_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2397592_zh-CN

2397592_zh-CN

从 SPI-MRAM (MR25H40) 启动 LPC54S018。

我购买了 EVB LPC54S018M-EVK,其中包含 LPC54S018,并将其连接到 SPI-MRAM 芯片 = MR25H40。

我需要将固件从 SPI-MRAM (MR25H40) 加载到 LPC54S018 中。我将 MRAM 连接到了 FLEXCOMM9。我的固件可以正常地对这个 MRAM 进行数据读写操作——没问题。但我无法从中启动MCU。
从示波器上,我看到(RESET后)微控制器的启动 ROM 代码开始以默认速度 = 12 MHz 与 MRAM 通信(启动 ROM 向其发送唤醒命令(操作码 = 0xAB),然后三次发送“读取 JEDEC-ID”命令(操作码 = 0x9F))。此后,SPI 上不再发生任何活动。唤醒命令由 MRAM 正常处理,但存储器不支持“读取 JEDEC-ID”命令(根据 MRAM 的数据手册)。我原以为,由于没有收到“读取 JEDEC-ID”命令的响应,启动 ROM 代码会继续以默认速度启动。但不知何故,在三次尝试“读取 JEDEC-ID”后,启动过程被取消。

我尝试将 LPC54S018 的 ISP 引脚设置为以下状态:
1) 或 ISP0 = 高,ISP1 = 高,ISP2 = 高;
2) 或 ISP0 = 高,ISP1 = 低,ISP2 = 高。
情况依旧没有改变——微控制器无法启动。

是否有办法在不等待“读取 JEDEC-ID”命令的响应的情况下,继续从 SPI 存储器启动 LPC54S018?

PS:我附上了加载过程的示波图。

Re: Boot LPC54S018 from SPI-MRAM (MR25H40).

看来无法从 SPI-MRAM (MR20H40/MR25H40) 启动 LPC540xx。因为 SPI-MRAM 不支持“读取 JEDEC-ID”命令。

但 SPI-FRAM(与 SPI-MRAM 不同)支持“读取 JEDEC-ID”命令。我已将 SPI-MRAM 更换为 SPI-FRAM (FM25V05),并成功启动了我的 LPC54S018!但是,在 FM25V05 中,固件应该从地址 0x0001 开始,而不是从 0x0000 开始。在执行“读取 JEDEC-ID”命令后,LPC540xx 启动 ROM 首先向 SPI 存储器发送 READ命令 0x03,地址为 24 位。如果读取失败,则发送带有 32 位地址的 READ命令 0x03。FM25V05 具有 16 位地址。但是,如果将启动映像移至地址 0x0001,即使从 FM25V05 启动,LPC540xx 也能成功启动。启动 ROM 使用 24 位读取命令进行启动,因此会跳过读取的第一个字节。

请参见附图示波图。


稍后我会尝试从 CY15B104QN(SPI-FRAM)启动,它具有 24 位寻址。

Re: Boot LPC54S018 from SPI-MRAM (MR25H40).

是的。接下来,我尝试从 CY15B104QN-50SXI SPI-FRAM 启动。它不起作用 无法从 CY15B104QN 启动。虽然该芯片响应“读取 JEDEC-ID”命令。但 CY15B104QN 以相反的字节顺序输出 JEDEC-ID:"00,2C,C2,7F,7F,7F,7F,7F,7F"(十六进制)。这大概就是为什么启动 ROM LPC54018 无法从中启动的原因。
FM25V05 输出 JEDEC-ID,格式为:"7F,7F,7F,7F,7F,7F,C2,23,00"(十六进制) - LPC54018 启动 ROM 接受它并启动。但是 FM25V05 的容量太小,无法满足我的项目需求。
现在我尝试从 FM25V20A 启动。我希望它能从那里启动。

PS:CY15B104QN 属于新一代 SPI-FRAM 芯片——“EXCELON™”F-RAM(英飞凌)。显然,LPC54018 引导加载程序不支持它们。

Re: Boot LPC54S018 from SPI-MRAM (MR25H40).

@jcxz

很高兴听到您的板已成功启动。

您还有其他问题或疑虑吗?

谢谢!


BR

爱丽丝

Re: Boot LPC54S018 from SPI-MRAM (MR25H40).

我成功地从 FM25V20A-G 启动了 LPC54018!

LPC54018 MRAM/FRAM 启动能力检查的最终结果:
1. 从 SPI-MRAM (MR25H40) 启动:失败。可能原因 = 不支持 JEDEC-ID 读取命令。
2. 从 SPI-FRAM CY15B104QN 启动,JEDEC-ID = "00,2C,C2,7F,7F,7F,7F,7F,7F" (十六进制):失败。可能的原因 = 启动 ROM 无法识别 JEDEC-ID。
3. 从 SPI-FRAM FM25V20A-G 启动,JEDEC-ID = "7F,7F,7F,7F,7F,7F,C2,25,08" (十六进制):成功。可能的原因 = 启动 ROM 识别 JEDEC-ID。
4. 从 SPI-FRAM FM25V05 启动,JEDEC-ID = "7F,7F,7F,7F,7F,7F,C2,23,00" (十六进制):成功。可能的原因:启动 ROM 识别了 JEDEC-ID。但是,启动映像必须位于地址 1(而不是 0)。

但CY15B104QN系列内存是较新的产品。它取代了过时的FM25Vxx。因此,我想使用 CY15B104QN。为什么不支持从 CY15B104QN 启动?未来 LPC540xx 版本是否会增加从 CY15B104QN(或该系列的其他芯片)启动的功能?

Tags (1)
No ratings
Version history
Last update:
Thursday
Updated by: