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.

[参考译文] AM625:TI am625 pruss 内联组装

Guru**** 2395315 points
Other Parts Discussed in Thread: AM625

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1489060/am625-ti-am625-pruss-inline-assembly

器件型号:AM625

工具与软件:

大家好!

我 有关于 ti am625 pruss 内联汇编的问题。 我使用 CCS (Code Composer Studio)


Volatile Uint32_t PIN_CLK_TX_HIGH =(1 << 0);//0x00000001;//gpo0
Volatile Uint32_t PIN_CLK_TX_LOW =~(1 << 0);//0x00000001;//gpo0

如您所见、我想在内联汇编中使用这些变量、但给出了如下警告:  

说明   资源   路径   位置   类型
#17003-D 从函数"SWD"到符号"PIN_CLK_TX_LOW"的重定位溢出;13位重定位地址0x1418太大、无法在8位字段中编码(类型="R_PRU_FORS_U8_C32_So16s8_PCM0XFFFFFFFF"(17)、文件="./main.c.obj "、偏移="0x00000080/C+"、偏移=      测试      问题"部分

我还尝试了#define 而不是易失性 uint32_t、但它会产生错误。 我可以使用什么代替这些? 我也在内嵌汇编代码中使用了.equ 和.set、在汇编语言用户指南中看到过、但都没有用。

就像这样

_asm (

"定义:                      \n\t"

         "PIN_CLK_TX_HIGH .SET R1  \n\n\t"
      "LDI PIN_CLK_TX_HIGH、0x1 \n\t"

);

可能是因为它仅用于汇编、而不用于内联汇编。 有任何建议或其他任何帮助?

提前感谢。

此致