ARM-如何在armcc中保留r9寄存器
阅读ARM AAPCS(ARM EABI),我发现: 寄存器r9的作用是特定于平台的。虚拟平台可以为此注册表分配任何角色,并且必须记录此用法。例如,它可以在独立于位置的数据模型中将其指定为静态基址(SB),也可以在具有线程本地存储的环境中将其指定为线程寄存器(TR)。使用此寄存器可能需要在所有调用中保持持久值。不需要这种特殊寄存器的虚拟平台可以将r9指定为另一个被调用方保存的变量寄存器v6 我想使用r9作为我的特定航空电子抢占式操作系统的PID保持器,但我不知道如何保存它:armcc C编译器总是将它用作变量寄存器,因此它的值总是通过应用软件更改 有什么想法吗?使用armcc可以吗?GCC?迪亚布 谢谢你的帮助 问候ARM-如何在armcc中保留r9寄存器,arm,eabi,armcc,Arm,Eabi,Armcc,阅读ARM AAPCS(ARM EABI),我发现: 寄存器r9的作用是特定于平台的。虚拟平台可以为此注册表分配任何角色,并且必须记录此用法。例如,它可以在独立于位置的数据模型中将其指定为静态基址(SB),也可以在具有线程本地存储的环境中将其指定为线程寄存器(TR)。使用此寄存器可能需要在所有调用中保持持久值。不需要这种特殊寄存器的虚拟平台可以将r9指定为另一个被调用方保存的变量寄存器v6 我想使用r9作为我的特定航空电子抢占式操作系统的PID保持器,但我不知道如何保存它:armcc C编译器总
Christophe对于ARMCC,您可以尝试
--global_reg=6
对于ARMCC,您可以尝试
--global_reg=6
我对自己的回答是:
对于GCC,可以使用-ffixed-r9
对于Windriver Diab编译器:
“#pragma全局_寄存器标识符=寄存器”
(包含在每个文件中)我回答我的问题:
对于GCC,可以使用-ffixed-r9
对于Windriver Diab编译器:
“#pragma全局_寄存器标识符=寄存器”
(包含在每个文件中)