單片機編程軟件數量不多,Keil和IAR為當前主流的單片機編程軟件。對于每門單片機編程軟件的學習,總需耗費一定必要的時間。為最大化減少大家對單片機編程軟件學習時間的投入,本文特地帶來IAR單片機編程軟件相關教程。
Ⅰ、寫在前面
本文使用的版本為IAR for ARM V7開發環境、以STM32的處理器為例給大家講述新建一個軟件工程的詳細過程。
其它版本IAR,其它處理器新建軟件工程的過程類似,或許存在略微的差異,但也可以參考本文內容。
Ⅱ、本文要點
網上很多人問:“我之前用IAR for ARM V5或V6建立好的工程,在IED升級到V7之后,打開以前的工程,編譯出來一大堆錯誤?”。
IAR for ARM在版本升級之后,工具鏈存在略微的差異,下面新建工程過程將會說到這些問題。
按照Keil(MDK-ARM)新建軟件工程的思路,將內容分為準備工作和新建工程兩大步驟來講述。
本文基于STM32F1系列芯片為例來講述(其它芯片類似),將簡單描述一下準備STM32F1標準外設庫、Demo源代碼(LED閃爍例程)。
本文講述的內容以簡單為主,只講述新建工程中常規的配置,其他大部分使用默認配置。更多詳細配置和教程敬請等待我公眾號或博客的更新。
Ⅲ、 準備工作
俗話說“磨刀不誤砍柴工”,準備工作雖然看上去與題目關系不大,但也是本文的重點,做好了準備工作,后面新建軟件工程的工作就很容易實現了。
1.安裝IAR for ARM軟件工具
本文必備工具,這里不多說,希望大家自己動手安裝,不會安裝教程的,請在本網站搜索相關內容。
2.STM32標準外設庫下載
根據芯片型號下載對應的標準外設庫(如芯片為STM32F103ZE,則下載對應的STM32F10x_StdPeriph_Lib),如下圖:
3.整理工程文件夾
這一小節的內容可根據自己習慣來整理,我整理的文件及文件夾結構是按照常規的整理方式。你如果覺得合理,可以引用;如果覺得不習慣這個結構方式,可以自己整理。
首先建立一個存放工程文件的文件夾:STM32F103ZE(IAR)_Demo
A.提取ST標準外設庫文件
ST官網下載的標準外設庫里面有很多源代碼文件,但我們只需要使用部分文件。因此,需要提取使用的文件及文件夾到我們的工程中。
解壓“STM32F10x_StdPeriph_Lib”,可以看到在主目錄下面有四個文件夾:
_htmresc:圖片文件夾(不提取)
Libraries:庫文件夾(提取大部分)
Project: 示例工程(提取少部分)
Utilities: 公共代碼、評估板代碼(不提取)
我們使用標準外設庫主要提取的文件是Libraries下面的文件,但有些文件及文件夾也是多余的。因此,我將多余的文件及文件夾去掉,保留需要的文件和文件夾。
這里強調一點:Libraries里面的startup啟動文件有些需要修改。我們使用之前的庫(如F1、F2的庫),這些庫是使用老版本的IAR for ARM V5或V6版本編寫的,在V7版本上使用這些庫就不兼容,需要將text:CODE:REORDER改為text:CODE:NOROOT:REORDER。
B.新建文件和文件夾
除了標準外設庫文件之外,我們需要建立存放自己代碼的文件和文件夾。我這里主要需要新建三個文件夾:
App: 應用部分代碼
Bsp: 底層部分代碼
Doc: 說明文檔
在自己新建的文件夾下面還需要新建自己的文件,文件里面添加源代碼,我們提供的Demo工程,實現的功能比較簡單,就是一個LED閃爍。這里不描述,具體可以在最后下載查看。
上面兩個步驟完成之后,我們就可以看到在“STM32F103ZE(IAR)_Demo”下面整理的文件夾:
至此,準備工作算完成了,上面提取的文件、新建的文件里面具體的內容請下載Demo工程查看。
Ⅳ、新建軟件工程
新建一個簡單、基礎的軟件工程大概需要有三個步驟:創建工程、添加文件和配置工程。
上面的準備工作做好之后,就可新建自己的軟件工程了,下面將一步一步講述從零開始新建一個軟件工程的詳細過程。
1.創建工程
創建工程的步驟是基礎,也比較簡單。
A.打開軟件,創建新工程(Project -》 Create New Project)
B.創建一個空工程
C.選擇路徑,保存名稱
D.空基礎工程
至此,一個空的基礎工程就創建好了,需要進一步添加文件到工程和配置工程。
2.添加文件
準確的來說,應該是添加組(文件夾)和添加文件。直接的說,就是將你自己的源代碼(前面提取的庫、新建的文件等)添加到工程中。
這里的工程項目管理可根據自己的想法來定義(類似于自己分類、命名文件夾和文件),我這里按照常規的方式進行管理項目。
IAR和Keil組管理的區別:
IAR可以添加多級組,類似于文件夾下可以再建文件夾,一直下去。
Keil只能添加單級組,類似于文件夾下面只能添加文件,而不能在添加文件夾。
為了簡單、遵循Keil組結構,我們在IAR中分組方式也按照Keil方式分組,先在工程中添加組,再在組中添加文件。..。..一次循環下去直到完成。
A.工程中添加組
B.填寫組的名稱 -》 OK
C.組中添加文件
D.按住Ctrl,鼠標選中要添加的文件
E.依次添加(按照上面步驟循環),直到添加完成
3.配置工程
配置工程對于初學者來說,大部分內容只需要默認即可,這里只講述幾個常見的配置,能滿足基本的功能。更多配置可進入我微信公眾號或博客查看。
A.進入配置選項
B.選擇器件
C.庫配置Library Configration
第一Library:如果需要使用某些標準的庫函數接口(如我們使用的printf and scanf),就需要選擇Full(見下圖)。
第二CMSIS:是微控制器軟件接口標準(Cortex Microcontroller Software Interface Standard)的意思。IAR for ARM在V5和 V6、V7版本之間存在差異,很多人用新版本IAR編譯以前工程出現錯誤的原因就在于此(如STM32F1的庫就使用較老版本的CMSIS,我們使用新版本IAR就需要勾選這里)。
D.預處理Preprocessor - 添加路徑
添加的路徑最好是相對路徑,而不是絕對路徑。使用絕對路徑工程位置改變之后就找不到文件,就會出錯。可以點擊按鈕選擇路徑,也可以通過復制文件路徑進行配置。
依據界面提示一步一步添加,直到最后完成。
E.預處理Preprocessor - 預定義
這里的預定義類似于在源代碼中的#define xxx 這種宏定義。這里的STM32F10X_HD可以在stm32f10x.h中打開即可,USE_STDPERIPH_DRIVER這個宏定義我已經定義在在stm32f10x.h文件中。
F.輸出Hex文件
很多初學的朋友都會問怎么輸出 Hex( 可直接下載的程序文件),只需要按照下面配置即可輸出Hex文件。
G.選擇下載調試工具
根據自己情況選擇的下載調試工具。使用ST-Link的朋友需要注意,有些時候ST-Link默認的接口是JTAG,需要改為SWD才能使用(見下圖)。
以上便是小編此次為大家帶來的有關“單片機編程軟件”的相關內容,希望讀完本文后,大家能對IAR單片機編程軟件有一定的了解,并數量掌握IAR新建軟件工程項目的詳細步驟。祝愿大家在學習單片機編程軟件的道路上收獲到諸多技能、快樂。
來源:21ic
評論