主题中讨论的其他器件:UNIFLASH
各位专家、您好!
我们有两个有关 Uiflash 的问题。
首先、"验证映像"功能意味着什么? 它是如何工作的?
其次、我的客户在对从 CCS 生成的.out 文件进行编程或使用 UniFlash 从编程的芯片中读出文件时、通常会发生验证错误。
谢谢
谢尔登
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.
各位专家、您好!
我们有两个有关 Uiflash 的问题。
首先、"验证映像"功能意味着什么? 它是如何工作的?
其次、我的客户在对从 CCS 生成的.out 文件进行编程或使用 UniFlash 从编程的芯片中读出文件时、通常会发生验证错误。
谢谢
谢尔登
Sheldon、
"验证映像"进行 独立验证。 它不调用闪存或 DCSM 初始化。 它只是尝试将可执行内容与已加载到器件存储器中的内容进行比较。 由于在这种方法中没有调用 DCSM 初始化,如果用户已经设定了密码(并且器件被锁定),“验证映像”操作将失败,因为它在尝试读取/验证存储器之前没有执行解锁操作。 作为一种权变措施、您可以保持内核连接、通过提供正确的密码解锁内核、然后执行验证映像操作。
在第一个快照中、我看到地址0xf5验证失败。 它不是一个闪存地址。 他们是否尝试加载一个内容也映射到 RAM 的映像(以及闪存)? 请注意、CCS 闪存插件或 UniFlash 是为完全嵌入式应用开发的。 它不保证将内容加载到 RAM 中。 因此、链接器 cmd 文件中所有已初始化的段应该只映射到闪存。 如果应用程序需要从 RAM 中执行或读取任何内容、则应在运行时将这些内容从闪存复制到 RAM 中、然后再从其各自的 RAM 地址访问它们。
关于第二个快照:我认为用户 OTP 仅在 GEL 文件中的数据空间中定义。 也尝试在程序空间中定义它(您需要在 GEL 文件 的热菜单 F280041_Memory_Map()中添加以下内容)。
GEL_MapAddStr (0x000780000、0x400、"R|AS2"、0); /* 用户 OTP 组1 (2 KB)
谢谢、此致、
Vamsi