0
我正在使用帶ARM M0平臺的2011 Q3 ARM GCC編譯器。在我目前的應用程序中,如果我沒有使用優化(使用-O0編譯),我的代碼太大而且不適合。如果我使用任何優化(-O1,-O2,-O3,-Os),則SWITCH CASE語句不起作用。我已驗證此塊內的代碼沒有執行,因爲簡單的GPIO切換操作未通過。當使用GCC Arm編譯器和優化時,Switch Case Statements不工作
我在某處讀到-O1及以上的任何優化都會遇到goto代碼問題。但是,我無法在任何地方找到解決此問題的解決方案。
我也嘗試過使用最新的GCC ARM編譯器,但我的工具與此版本不兼容。
對此事的任何幫助表示讚賞!
編譯器很可能決定你** GPIO **切換是無用的。你用'volatile'嗎? –
請證明一個例子,反彙編語句 –
中的switch語句另外,什麼是「2011 Q3 ARM GCC」? GCC的版本號如4.8.1。您正在使用某種預製版本。你從哪裏得到它的? – unixsmurf