① Keil調試程序編譯時顯示 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY SEGMENT: PRREAD_RO
仔細看編譯對話框的內容,我也遇到過類似的是拼寫寫錯導致報錯,display中的l和a順序調換導致錯誤;函數拼寫錯誤,調用時又寫成正確的,導致報錯定義的函數沒有被調用。
查找方法*(參考圖片中標注):
搜索編譯對話框中的SEGMENT提示內容dispaly,
並參考SYMBOL下提示的比對查找display。
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
意思是:定義了一個函數,但是在main等函數中並沒調用。
② keil中編譯通過,但調試出現syntax error
語法有錯誤,把ACALL換為長跳轉LCALL試試。
③ 初次用keil mdk 創建stm32工程,編譯沒錯,debug時command窗口有error
這個提示表示 RCC_CR 寄存器只可寫不可讀,因此你對它的寫操作違反了該地址的訪問許可權。例如你對晶元的保留空間進行讀寫操作都會報這個錯誤,這樣在調試的時候很容易發現地址越界之類的錯誤。
但實際上這個寄存器本身就應當是可讀可寫的。請確認你的晶元型號選擇是否正確。