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