010.使用新版本IAR編譯老版本的STM32工程

使用新版本IAR編譯老版本的STM32工程

1、引言

IAR作爲STM32芯片的常用編譯器,其版本更新較快,特別是大版本更新會出現工程的兼容性問題,比如常見的新版本IAR打開老版本的工程會出現編譯不通過問題,本文將介紹如何解決該問題。

2、打開工程

原材料:

老版本IAR工程:一個使用IAR for ARM v5.x編譯器建立的STM32工程

新版本IARIAR for ARM v8.x

現使用新編譯器打開老工程進行編譯,我們會發現報錯如下

 

可見錯誤爲定義錯誤,並與新編譯器的一些.h相關。其根本原因在於該工程使用的STM32一些庫文件與新版本IAR的庫文件已經不一致,即老工程的內核庫文件版本太老,我們需將其修改使用新版IAR編譯器帶的文件。

3、修改工程設置

下面進行修改工程設置使其編譯通過,

(1) 禁用工程目錄下的內核頭文件

在工程文件夾下存在一個CoreSupport文件夾,其中包括個core_cm3.h文件如下

 

將該文件刪除或修改擴展名,即讓編譯器不使用改文件,修改後如下

 

(2) 修改工程設置使用新編譯器的庫文件

打開工程的Option勾選Library Configuration中的Use CMSIS選項,如下

 

經過上述修改後再進行編譯

 

編譯成功!

 更多內容 歡迎關注公衆號 “嵌入式大玩家”回覆任何技術問題我們一起學習討論


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章