讀取ARM AAPCS(ARM EABI),我發現: 寄存器r9的作用是平臺特定的。虛擬平臺可以將任何角色分配給該註冊,並且必須記錄這種使用。例如,它可以將其指定爲位置無關的數據模型中的靜態基址(SB),或者可以在具有線程本地存儲的環境中將其指定爲線程寄存器(TR)。這個寄存器的用法可能要求所有呼叫持有的值是永久的。不需要這種特殊寄存器的虛擬平臺可以將r9指定爲額外的被呼叫保存的變量寄存器v6。ARM - 如何使用armcc保存r9寄存器
我想使用r9作爲我的特定航空電子設備搶佔式操作系統的PID持有者,但我無法弄清楚如何保留它:armcc C編譯器總是使用它作爲變量寄存器,所以它的值始終通過應用軟件進行更改。
有什麼想法?用armcc可以嗎? GCC?戴鉑?...
感謝您的任何幫助。
問候
克里斯托夫
大!!!我從200個編譯器選項中解脫出來。非常感謝。 – user2010402