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.

[参考译文] OMAP-L138:SecureHexAIS_OMAP-L138实用程序和 ARM 映像

Guru**** 2609895 points
Other Parts Discussed in Thread: OMAP-L138

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/655238/omap-l138-securehexais_omap-l138-utility-and-arm-images

器件型号:OMAP-L138

我们目前正在基于 OMAP-L138实施软件的 ARM9端。  

我们能够使用 SecureHexAIS_OMAP-L138实用程序将 U-boot 和 Linux 内核映像以及 DSP 映像打包到闪存中。

为此、我们使用@添加文件 参数。

DSP 安全闪存引导加载程序将 ARM9映像成功加载到正确的 DDR 地址中、当 DSP 启动 ARM9内核时、它会正确引导。

但是、当我们还尝试将 Linux ramdisk 映像放入闪存时、DSP 永远不会完成安全启动。 我们可以在闪存地址行上看到简短的活动、然后什么也看不到。 当 DSP 处于此状态时、我们也无法通过 JTAG 连接到它。

ramdisk 非常小(4MB)、当我们使用包含大小相似或更大(我尝试最多6MB)的随机二进制数据的文件时、它会正确启动。 因此、ramdisk 文件中的某些内容似乎会中断启动。 使用 GZIP 压缩 ramdisk。

我们怀疑 SecureHexAIS_OMAP-L138会生成损坏的编程文件。

如果对这个问题有任何深入的了解,将不胜感激。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    团队将收到通知。 他们将直接在此处发布反馈。

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

    您能向我介绍一下系统引导吗? 我的理解是、您的器件上的安全启动将在 DSP 上下载次级引导加载程序、并将 uboot 加载到存储器中。 然后、DSP 上的引导加载程序将使 ARM 脱离复位状态、并从 uboot 的入口点开始 ARM 执行。 然后、uboot 继续在 ARM 上引导 Linux。

    您能否说明为什么 ramdisk 被传递到 HexSecureAIS utily 中、您是否希望安全引导加载程序也加载该文件。 创建 ramdisk 映像时,映像是引导介质的扇区/页大小的精确多个数。 我怀疑 AIS 工具提供的大小是一个字的倍数、如果 RAM 磁盘映像不是4个字节的倍数、则它可能会在计算中填充00。 但是、在闪存介质上、当您擦除闪存时、所有字节都设置为0xFF 而不是0x00、因此签名计算可能不会进行匹配。 n`t 有没有方法可以填充 RAMdisk 映像、使其大小是4个字节的倍数、或者引导介质页面/扇区大小、因此该工具在计算散列/签名时不需要填充0x00。

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

    你(们)好,Rahul。

    感谢您的回复。

    我们的板具有256MB DDRAM。 DSP 使用前128M、上128M 用于 ARM。 除了闪存、系统中没有其他存储。 启动后、两个处理器都将从 DDRAM 运行。

    我们的目标是使用安全 OMAP-L138的安全引导功能来保护 DSP 和 ARM 代码。

    我们希望 DSP 安全引导加载程序将 DSP 代码和 ARM 代码加载到 DDRAM 中。 DSP 启动后、会向 DSP 发出用户命令以启动 ARM。

    当 DSP 为 ARM 设置起始地址(u-boot 0xc9000000的起始地址)并使其退出复位状态时、ARM 引导加载程序(u-boot)、Linux 内核和 RAMdisk 应该已经被放置在 DDRAM 中的正确位置。

    除了某些 ramdisk (我现在也发现了内核映像)中断了安全启动(即 DSP 从不开始执行)之外、这种方法主要起作用。

    我将按照您的建议研究填充图像。 我们还可以选择将 ARM Linux 内核和 ramdisk 放置在安全引导加载程序无法访问的闪存的另一个库中、并让 DSP 稍后将其复制出来。

    此致

    格尔特

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

    好的、将文件填充到4个字节的倍数可以解决问题。

    感谢你的帮助。

    此致

    格尔特