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.

[参考译文] AM2632:PRU 十六进制实用程序输出/强制对生成的 aPRU_DATA_RAM-ARRAY 执行4字节对齐

Guru**** 2619225 points

Other Parts Discussed in Thread: AM2632

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1449566/am2632-pru-hex-utility-output-enforce-4-byte-alignment-of-generated-apru_data_ram-array

器件型号:AM2632

工具与软件:

您好!

我们使用的是 AM2632。
对于这两个 PRU0内核、我们都用 C 代码编写了自己的小型固件、使用一些"全局"变量、 这些固件文件被转换为两个 include 文件、我们将其包含在 R5内核项目中。
在生成的 h 文件中、我会得到两个数组、一个数组包含指令、另一个数组包含数据。

在调试模式下使用 sdk-driver-lib 加载和运行 PRU 固件函数、而不会出现任何问题。  
如果我在 Relase 模式下编译 R5固件、当我想将数据 RAM 阵列从 PRU include 文件加载到 PRU 数据存储器时、总是会得到一个 adat 处理程序 interrubot。

我尝试调试这种行为、并发现 SDK-Lib (在发布版本中)使用优化器。 我在没有优化器的情况下重新编译了 SDK、然后会开始加载数据数组。
但我不想重新构建 SDK 驱动程序库。

所以我试图理解这个问题并做了进一步的调查。
我发现、在我的 release-configuration 中、生成的十六进制文件中的数据数组在 R5存储器中不是4字节对齐的。 如果没有数据数组的4字节对齐、SDK 驱动程序库(release-lib)无法将数据加载到 PRU_DATA_RAM;。

我将"align 属性"添加到了头文件中的数据数组、如下所示:

const uint8_t pru0_image_1[]_attribute__((aligned (4)))={

具有 align 属性、我的版本配置可以正常工作。

现在我的问题:

是否可以配置 PRU 十六进制实用程序来自动添加 alignment 属性?

此致
JO

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

    尊敬的 Jo:

    感谢您的提问。 这是一个有趣的观察和感谢分享的修复也。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价用户 id="561607" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1449566/am2632-pru-hex-utility-output-enforce-4-byte-alignment-of-generated-apru_data_ram-array "]

    const uint8_t pru0_image_1[]_attribute__((aligned (4)))={

    具有 align 属性、我的版本配置可以正常工作。

    现在我的问题:

    是否可以配置 PRU 十六进制实用程序来自动添加 alignment 属性?

    [报价]

    可能有一些十六进制实用程序配置、但我还没有遇到它。 我来向我们的工具团队核实这一点。

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

    您好!

    您的工具团队是否已经提供了一些反馈?

    感谢和最好的成绩

    Josef

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

    嗨、Jo、

    对于延迟、我们深表歉意。

    遗憾的是、我们今天没有这样的选择。  请参阅此部分以检查 PRU 编译器十六进制实用程序提供的其他选项: www.ti.com/.../spruhv6c.pdf