我想編譯嵌入式C代碼,但是發生小數據區溢出。我知道這是什麼意思,但我不知道如何解決它。任何人都可以提出建議嗎?Green Hills Sw小數據區溢出
所以,問題是有r13寄存器是sda的基址指針,它是16位長。它是有符號的,所以它指向sda的中間,它可以用作偏移量來獲得給定的變量值。
如果通過#pragma ghs startsda將變量告訴sda,那麼將通過sda_base + r13尋址變量,如果變量位於無法通過此基址+寄存器偏移量尋址的地址,則sda報告溢出。
如何找到導致溢出的原因?如果我還沒有地圖文件,我不知道變量地址。