您好!
由于 PRUSS 0在 AM437x 上没有可用的显式 PRU 共享存储器、因此我尝试使用 PRU DMEM 在两个 PRU 内核之间共享变量。 我已在 C 文件(PRU0和 PRU1代码)中为 DATA_SECTION 添加了 pragma 指令、并在链接器文件中指定了该指令。 两个".map"文件显示变量的地址位置和空间相同、但我看不到变量正在更新。 我检查这一点的方法是、一旦 PRU1更新变量、PRU0就会闪烁 LED、但看起来它不起作用。
以下是相关章节:
PRU0.c 和 PRU1.c 中的 C 文件声明(两者相同):
#pragma DATA_SECTION (max_count、".max_count") volatile far uint32_t max_count = 0;
映射文件:
PRU0
.max_count
1 00002fe0 00000004 未初始化
00002fe0 00000004 PRU0.object (.max_count)
PRU1
.max_count
1 00002fe0 00000004 未初始化
00002fe0 00000004 PRU_pidSendData.object (.max_count)
我还附加了链接器文件。
e2e.ti.com/.../AM437x_5F00_PRU_5F00_SS0.txt
是否还有其他需要声明的内容?