我有一個用C編寫的應用程序,它運行在Coldfire處理器上。Coldfire強制使用RAM而不是寄存器
我需要強制它使用RAM的所有局部變量(在函數中聲明),而不是使用寄存器;以正確調試應用程序。
我該怎麼辦?
編輯更多信息
有時,在主應用程序,我得到一個錯誤,因爲從功能上一個錯誤的返回值。很少發生這種情況,我在返回指令之前放置了一個檢查點和一個斷點,但是許多變量使用相同的寄存器,並且在發生錯誤時我無法清楚地瞭解情況。如果我在程序開始處移動程序計數器並逐步執行,結果是正確的。可能是寄存器的管理有問題,我想知道它是什麼。
預先感謝您的問候。
是不是簡單地把調試開關打開工作?試試'volatile'關鍵字。 – Matt
XY問題。沒有必要將所有當地人存儲在RAM中以進行適當的調試(並且這對於操作員來說將如何工作?)。它也會大幅減慢你的代碼。 – Olaf
有時,在主應用程序中,由於函數的返回值錯誤,我得到一個錯誤。很少發生這種情況,我在返回指令之前放置了一個檢查點和一個斷點,但是許多變量使用相同的寄存器,並且在發生錯誤時我無法清楚地瞭解情況。 如果我在功能開始處移動程序計數器並逐步執行,結果是正確的。可能是寄存器的管理有問題,我想知道它是什麼。 –