TI中文支持网
TI专业的中文技术问题搜集分享网站

C6748 PRU0使用 gel文件报错

我在使用CCS对PRU0 模块编程

然而在向PRU0导入gel文件时报错

PRU_0: Error adding memory map range: End address is beyond target memory length

我定位问题到这里

/* PRU */
GEL_MapAddStr( 0x01C30000, 0, 0x01C301FF, "R|W|AS4", 0 ); // Data RAM 0
GEL_MapAddStr( 0x01C32000, 0, 0x01C321FF, "R|W|AS4", 0 ); // Data RAM 1
GEL_MapAddStr( 0x01C34000, 0, 0x01C36FFF, "R|W|AS4", 0 ); // INTC Registers
GEL_MapAddStr( 0x01C37000, 0, 0x01C377FF, "R|W|AS4", 0 ); // PRU0 Registers GEL_MapAddStr( 0x01C37800, 0, 0x01C37FFF, "R|W|AS4", 0 ); // PRU1 Registers

我查阅了数据手册,这个内存段没错呀,为什么提示溢出呢

我尝试将这里修改成

GEL_MapAddStr( 0x01C30000, 0, 0x000001FF, "R|W|AS4", 0 ); // Data RAM 0
GEL_MapAddStr( 0x01C32000, 0, 0x000001FF, "R|W|AS4", 0 ); // Data RAM 1
GEL_MapAddStr( 0x01C34000, 0, 0x00002FFF, "R|W|AS4", 0 ); // INTC Registers
GEL_MapAddStr( 0x01C37000, 0, 0x000007FF, "R|W|AS4", 0 ); // PRU0 Registers GEL_MapAddStr( 0x01C37800, 0, 0x000007FF, "R|W|AS4", 0 ); // PRU1 Registers

依然报同样的错误

Nancy Wang:

参考以下帖子最后修改过的GEL文件以及步骤试一下。
e2e.ti.com/…/compiler-pru-swpkg-pru-linker-command-file-for-omapl138

,

will huang:

这个帖子的确起到很大帮助,我已将问题定位到这里

请问这个 gel 函数的 page 参数在 PRU 中应该如何使用?

GEL_MapAddStr(address, page, length, “attribute”, waitstate );

page:Identifies the type of memory to fill: 0 (Program memory), 1 (Data memory) or 2 (I/O space) For processors which do not have more than one type of memory, use 0 for this Parameters. For simulated targets, the I/O Space option is not supported.

PRU:

PRU0 Instruction RAM 对应 Page 0 ?

Data RAM 0 、 INTC Registers 、 PRU0 Control Registers 对应 Page 1?

剩下的各种外设(诸如UART、SPI、EMAC等)的内存地址空间 对应 Page 2?

不吝赐教!

赞(0)
未经允许不得转载:TI中文支持网 » C6748 PRU0使用 gel文件报错
分享到: 更多 (0)