工具/软件:
我昨天被告知、PRU 的 C 代码编译器不会添加指令来初始化 R2保存的栈指针的值。 我被告知需要解决这个问题、并添加内联汇编来初始化该值。
具体而言、编译后的代码会创建汇编命令、以在进入 main 函数时立即移动栈指针。 我需要一种方法在进入 main 函数之前添加指令、以便根据栈大小正确初始化 R2的值。
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 的 C 代码编译器不会添加指令来初始化 R2保存的栈指针的值。 我被告知需要解决这个问题、并添加内联汇编来初始化该值。
具体而言、编译后的代码会创建汇编命令、以在进入 main 函数时立即移动栈指针。 我需要一种方法在进入 main 函数之前添加指令、以便根据栈大小正确初始化 R2的值。
您好 Nathan、
请遵循此处的指南、了解如何使用 C 语言和汇编组合对 PRU 进行编程:
我仍在寻求解决这一问题的办法。 有关更多信息、下面是生成的汇编代码片段、其中显示了进入 main 函数时立即操作寄存器 R2。 请在输入 main 之前、为我提供一种方法、可将 R2设置为正确的值。
;****************************************************************************
;* FNAME:主 FR 大小: 33 *
;**
;*函数环境*
;**
;*函数属性*
;* 1 Auto、32 SOE *
;****************************************************************************
||main||:
;*------------------------------------------------------------------------------------------------ *
.dwcfi CFA_OFFSET、0
Sub r2, r2, 0x21 ;[]
.dwcfi CFA_OFFSET、33
SBBO &R3.b2, r2, 1, 32;[]