TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] 调试 PRU 时出错

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1236228/error-debug-pru

您好!

我正在尝试调试一个具有 Blackhawk USB560 V2系统跟踪和 BeagleBoard Black Industrial 的简单应用。

我可以使用正常工程进行调试、但当我尝试进行 PRU 工程时 、会出现以下错误代码:

PRU_0:文件加载程序:验证失败:地址0x00000@Program_Memory 不匹配请验证目标存储器和存储器映射。

 

这是 AM335xPRU.cmd。

 

*/李启明 /
/* AM335x_PRU.cmd */
/*版权所有(c) 2015德州仪器(TI)公司*/
/**/
/*说明:此文件是可用于*/的链接器命令文件
/*链接由 C 编译器构建的 PRU 程序、*/
/*在 AM335x 设备上生成的.out 文件。 */
*/李启明 /

-CR /*使用 C 约定的链接*/

/*指定系统内存映射*/
内存
{
PAGE0:
PRU_IMEM:org = 0x00000000 len = 0x00002000 /* 8kB PRU0指令 RAM */

第1页:

/* RAM */

PRU_DMEM_0_1:org = 0x00000000 len = 0x00002000 CREGISTER=24 /* 8kB PRU 数据 RAM 0_1 */
PRU_DMEM_1_0:org = 0x00002000 len = 0x00002000 CREGISTER=25 /* 8kB PRU 数据 RAM 1_0 */

第2页:
PRU_SHAREDMEM:org = 0x00010000 len = 0x00003000 CREGISTER=28 /* 12KB 共享 RAM */

DDR:org = 0x80000000 len = 0x00000100 CREGISTER=31
L3OCMC : org = 0x40000000 len = 0x00010000 CREGISTER=30


/*外设*/

PRU_CFG:org = 0x00026000 len = 0x00000044 CREGISTER=4
PRU_ECAP:org = 0x00030000 len = 0x00000060 CREGISTER=3
PRU_IEP:org = 0x0002E000 len = 0x0000031C CREGISTER=26
PRU_INTC:org = 0x00020000 len = 0x00001504 CREGISTER=0
PRU_UART:org = 0x00028000 len = 0x00000038 CREGISTER=7

DCAN0:org = 0x481CC000 len = 0x000001E8 CREGISTER=14
DCAN1:org = 0x481D0000 len = 0x000001E8 CREGISTER=15
DMTIMER2:org = 0x48040000 len = 0x0000005C CREGISTER=1
PWMSS0:org = 0x48300000 len = 0x000002C4 CREGISTER=18
PWMSS1:org = 0x48302000 len = 0x000002C4 CREGISTER=19
PWMSS2:org = 0x48304000 len = 0x000002C4 CREGISTER=20
GEMAC : org=0x4A100000 len=0x0000128C CREGISTER=9
I2C1:org = 0x4802A000 len = 0x000000D8 CREGISTER=2
I2C2:org = 0x4819C000 len = 0x000000D8 CREGISTER=17
MBX0:org=0x480C8000 len=0x00000140 CREGISTER=22
McASP0_DMA:org = 0x46000000 len = 0x00000100 CREGISTER=8
MCSPI0:org = 0x48030000 len = 0x000001A4 CREGISTER=6
MCSPI1:org = 0x481A0000 len = 0x000001A4 CREGISTER=16
MMCHS0:org = 0x48060000 len = 0x00000300 CREGISTER=5
SPINLOCK:org = 0x480CA000 len = 0x00000880 CREGISTER=23
TPCC:org = 0x49000000 len = 0x00001098 CREGISTER=29
UART1:org=0x48022000 len=0x00000088 CREGISTER=11
UART2:org = 0x48024000 len = 0x00000088 CREGISTER=12

RSVD10:org = 0x48318000 len = 0x00000100 CREGISTER=10
RSVD13:org = 0x48310000 len = 0x00000100 CREGISTER=13
RSVD21:org=0x00032400 len=0x00000100 CREGISTER=21
RSVD27:org = 0x00032000 len = 0x00000100 CREGISTER=27

/*指定段分配到存储器中*/
部分{

/*将_c_int00强制设置为 PRU IRAM 的开头。 在*/时无需
/*加载 ELF 文件,但在加载二进制文件时很有用*/

.text:_c_int00*> 0x0,页0
.text > PRU_IMEM、第0页
.stack > PRU_DMEM_0_1、第1页
.bss > PRU_DMEM_0_1、第1页
.cio > PRU_DMEM_0_1、第1页
.data > PRU_DMEM_0_1、第1页
.switch > PRU_DMEM_0_1、第1页
.sysmem > PRU_DMEM_0_1、第1页
.cinit > PRU_DMEM_0_1、第1页
.rodata > PRU_DMEM_0_1、第1页
.rofardata > PRU_DMEM_0_1、第1页
.farbss > PRU_DMEM_0_1、第1页
.fardata > PRU_DMEM_0_1、第1页
.resource_table > PRU_DMEM_0_1、第1页

感谢您的帮助。