主题中讨论的其他器件:AM6442、 UNIFLASH
工具/软件:
您好、
我将 AM6442入门套件板与 SDK 10.01.00.32一起使用、当前使用默认引导加载程序。 对于 appimage、我使用 hello world appimage.hf_fs 文件。 这是我的流程、我在 Bootloader_parseMultiCoreAppImage ()函数中遇到问题。 这是我的 ospi.cfg:




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.
工具/软件:
您好、
我将 AM6442入门套件板与 SDK 10.01.00.32一起使用、当前使用默认引导加载程序。 对于 appimage、我使用 hello world appimage.hf_fs 文件。 这是我的流程、我在 Bootloader_parseMultiCoreAppImage ()函数中遇到问题。 这是我的 ospi.cfg:
尊敬的 Ajay:
Unknown 说:首先要理解 ospi.cfg 中的所有文件格式是正确的吗?
我在配置文件中没有看到任何问题。
Unknown 说:第二个 memread 到 flashread 的变化是如何发生的?
通常在从 SoC 存储器(如 DDR)读取映像的情况下使用 MEM_imgRead。 我最后也在观察这一点、我认为对于 SBL_OSPI 应该是 Flash_imgRead、不知道为什么它会进入 Mem_imgRead、让我尝试在内部进行检查。
这是否必须在 cfg 中为 appimage 使用另一格式文件、因为当前图像魔术头出现问题?
因此、当您禁用"Application Image is X509 Signed"选项时、SBL 需要一个未签名的映像、这意味着.appimage 不是 hs_fs、因此会导致此故障。 如果您只是想绕过映像身份验证、我建议您改为选择"禁用应用程序映像身份验证"选项:
启用此选项后、我认为您将能够引导应用程序映像。
Unknown 说:您能否共享正在工作的 cfg 和引导加载程序 tiimage 以及 hello world 映像?
我使用 MCU+SDK 中提供的默认映像、我假设您使用的是相同的映像。 如果没有、我建议您在不进行任何更改的情况下尝试使用默认映像进行引导、看看这是否有效。
此致、
会面。
尊敬的 Ajay:
以下是使用"Application Image is X509 Signed"选项时使用 Mem_imgRead 的原因。 如果启用了此选项、则 Bootloader_parseMultiCoreAppImage 会调用 Bootloader_verifyMulticoreImage API。 此 API 将应用映像复制到 RAM:
由于映像已经在 RAM 中、因此该函数稍后会将引导介质从 OSPI 更改为存储器:
这就是 config->Fxns->imgReadFxn 指向 Mem_imgRead 的原因。 如果您禁用了 Appimage 的身份验证、则会跳过 bootloader_verifyMulticoreImage API、因此在这种情况下、bootmedia 不会更改为 Mem、config->Fxns->imgReadFxn 指向 Flash_imgRead。
尊敬的会议:
感谢您的答复。 我曾尝试使用 ENABLE 以及禁用"Auth for Application Image"、两个命令都转到 Mem_Read、然后中止。 此处附加了中止前的屏幕截图。
我附加了我的 cfg、hello world 以及 ospi 引导加载程序文件夹(我现在仅使用默认设置进行尝试)。请从您的终端验证它是否可使用 SDK 10.01.e2e.ti.com/.../sbl_5F00_ospi_5F00_am64x_2D00_sk_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang.zipe2e.ti.com/.../hello_5F00_world_5F00_am64x_2D00_sk_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang.zip 对 AM6442电路板进行验证
e2e.ti.com/.../custom_5F00_sbl_5F00_ospi.cfg
请从您的终端验证您是否可以在终端上看到 Hello world。 这是我终端上的输出:
尊敬的 Ajay:
请告诉我以下细节:
输入 Mem_imgRead 时、这些变量的值是什么:dst, memArgs->appImageBaseAddr、memArgs->curOffset 和 len
请在 Memory Browser 中打开存储在 dst 和 appImageBaseAddr 中的地址、并在此共享该地址的屏幕截图、如下所示:
您提到、在单步执行 memcpy 函数时就会遇到中止错误、您能否查看在单步执行 memcpy 后在内存浏览器中观察到的这2个地址的值。
此致、
会面。