1、 文檔目標
解決變量數中添加Static屬性后在map文件中無法找到對應符號的問題。
2、 問題場景
在main函數中用“static unsigned long rw_base_addr;”設置一個全局變量,在map文件無法找到這個變量名稱,同時,會出現“Warning: L6329W: Pattern *(RW) only matches removed unused sections.”的警告信息,如圖2-1所示:

圖2-1
3、軟硬件環境
1)、軟件版本:ArmDS 2024.0
2)、電腦環境:Windows 11
3)、外設硬件:無
4、解決方法
1)、打開工程的屬性窗體,把編譯優化設置為O0,如圖4-1所示:

圖4-1
2)、重新編譯工程,map文件可以找到這個符號,同時警告信息也已修正,如圖4-2所示:

圖4-2
注:1、static關鍵字導致這些變量的作用域被限制在了單個文件或模塊內,當對編譯優化時,會優化掉。
2、警告信息,也是由于“static int variable __attribute__((section("foo"))) = 10;” 這個設置中,也應用了“static”關鍵字。

 首頁 > 資源中心 > FAQ
 首頁 > 資源中心 > FAQ             
                 
 