一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IAR for ARM系列教程(一) _新建軟件工程詳細(xì)過(guò)程

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-03-20 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ⅰ、寫(xiě)在前面

本文使用目前(2016年11月25日)最新版本的IAR for ARMV7開(kāi)發(fā)環(huán)境、以STM32處理器為例給大家講述新建一個(gè)軟件工程的詳細(xì)過(guò)程。

其它版本IAR,其它處理器新建軟件工程的過(guò)程類似,或許存在略微的差異,但也可以參考本文內(nèi)容。

為方便廣大STM32學(xué)習(xí)者,我將在下面把STM32F0 - F4各個(gè)系列芯片新建好的Demo軟件工程、相關(guān)的工具和文檔提供給大家下載。

本文內(nèi)容已經(jīng)整理成PDF文件,提供給大家下載:

http://pan.baidu.com/s/1eSeDSu2

Ⅱ、本文要點(diǎn)

網(wǎng)上很多人問(wèn):“我之前用IAR for ARMV5或V6建立好的工程,在IED升級(jí)到V7之后,打開(kāi)以前的工程,編譯出來(lái)一大堆錯(cuò)誤?”。

IAR for ARM在版本升級(jí)之后,工具鏈存在略微的差異,下面新建工程過(guò)程將會(huì)說(shuō)到這些問(wèn)題。

按照Keil(MDK-ARM)新建軟件工程的思路,將內(nèi)容分為準(zhǔn)備工作和新建工程兩大步驟來(lái)講述。

本文基于STM32F1系列芯片為例來(lái)講述(其它芯片類似),將簡(jiǎn)單描述一下準(zhǔn)備STM32F1標(biāo)準(zhǔn)外設(shè)庫(kù)、Demo源代碼(LED閃爍例程)。

本文講述的內(nèi)容以簡(jiǎn)單為主,只講述新建工程中常規(guī)的配置,其他大部分使用默認(rèn)配置。更多詳細(xì)配置和教程敬請(qǐng)等待我公眾號(hào)或博客的更新。

Ⅲ、 準(zhǔn)備工作

俗話說(shuō)“磨刀不誤砍柴工”,準(zhǔn)備工作雖然看上去與題目關(guān)系不大,但也是本文的重點(diǎn),做好了準(zhǔn)備工作,后面新建軟件工程的工作就很容易實(shí)現(xiàn)了。

1.安裝IAR for ARM軟件工具

本文必備工具,這里不多說(shuō),詳情請(qǐng)看我的另一篇文章【IAR for ARM介紹、下載、安裝與注冊(cè)】:

博客:

http://blog.csdn.net/ybhuangfugui/article/details/52562533

PDF:http://pan.baidu.com/s/1eSeDSu2

2.STM32標(biāo)準(zhǔn)外設(shè)庫(kù)下載

官網(wǎng)下載鏈接(需要ST賬號(hào)登陸):

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961

根據(jù)芯片型號(hào)下載對(duì)應(yīng)的標(biāo)準(zhǔn)外設(shè)庫(kù)(如芯片為STM32F103ZE,則下載對(duì)應(yīng)的STM32F10x_StdPeriph_Lib),如下圖:

也可以到我百度網(wǎng)盤(pán)下載(和官網(wǎng)一樣):

http://pan.baidu.com/s/1qYbBKMK

3.整理工程文件夾

這一小節(jié)的內(nèi)容可根據(jù)自己習(xí)慣來(lái)整理,我整理的文件及文件夾結(jié)構(gòu)是按照常規(guī)的整理方式。你如果覺(jué)得合理,可以引用;如果覺(jué)得不習(xí)慣這個(gè)結(jié)構(gòu)方式,可以自己整理。

首先建立一個(gè)存放工程文件的文件夾:STM32F103ZE(IAR)_Demo

A.提取ST標(biāo)準(zhǔn)外設(shè)庫(kù)文件

ST官網(wǎng)下載的標(biāo)準(zhǔn)外設(shè)庫(kù)里面有很多源代碼文件,但我們只需要使用部分文件。因此,需要提取使用的文件及文件夾到我們的工程中。

解壓“STM32F10x_StdPeriph_Lib”,可以看到在主目錄下面有四個(gè)文件夾:

_htmresc:圖片文件夾(不提?。?/p>

Libraries:庫(kù)文件夾(提取大部分)

Project: 示例工程(提取少部分)

Utilities: 公共代碼、評(píng)估板代碼(不提?。?/p>

我們使用標(biāo)準(zhǔn)外設(shè)庫(kù)主要提取的文件是Libraries下面的文件,但有些文件及文件夾也是多余的。因此,我將多余的文件及文件夾去掉,保留需要的文件和文件夾。

這里強(qiáng)調(diào)一點(diǎn):Libraries里面的startup啟動(dòng)文件有些需要修改。我們使用之前的庫(kù)(如F1、F2的庫(kù)),這些庫(kù)是使用老版本的IAR for ARM V5或V6版本編寫(xiě)的,在V7版本上使用這些庫(kù)就不兼容,需要將textREORDER改為textNOROOT:REORDER。

B.新建文件和文件夾

除了標(biāo)準(zhǔn)外設(shè)庫(kù)文件之外,我們需要建立存放自己代碼的文件和文件夾。我這里主要需要新建三個(gè)文件夾:

App: 應(yīng)用部分代碼

Bsp: 底層部分代碼

Doc: 說(shuō)明文檔

在自己新建的文件夾下面還需要新建自己的文件,文件里面添加源代碼,我們提供的Demo工程,實(shí)現(xiàn)的功能比較簡(jiǎn)單,就是一個(gè)LED閃爍。這里不描述,具體可以在最后下載查看。

上面兩個(gè)步驟完成之后,我們就可以看到在“STM32F103ZE(IAR)_Demo”下面整理的文件夾:

至此,準(zhǔn)備工作算完成了,上面提取的文件、新建的文件里面具體的內(nèi)容請(qǐng)下載Demo工程查看。

Ⅳ、新建軟件工程

新建一個(gè)簡(jiǎn)單、基礎(chǔ)的軟件工程大概需要有三個(gè)步驟:創(chuàng)建工程、添加文件和配置工程。

上面的準(zhǔn)備工作做好之后,就可新建自己的軟件工程了,下面將一步一步講述從零開(kāi)始新建一個(gè)軟件工程的詳細(xì)過(guò)程。

1.創(chuàng)建工程

創(chuàng)建工程的步驟是基礎(chǔ),也比較簡(jiǎn)單。

A.打開(kāi)軟件,創(chuàng)建新工程(Project ->CreateNew Project)

B.創(chuàng)建一個(gè)空工程

C.選擇路徑,保存名稱

D.空基礎(chǔ)工程

至此,一個(gè)空的基礎(chǔ)工程就創(chuàng)建好了,需要進(jìn)一步添加文件到工程和配置工程。

2.添加文件

準(zhǔn)確的來(lái)說(shuō),應(yīng)該是添加組(文件夾)和添加文件。直接的說(shuō),就是將你自己的源代碼(前面提取的庫(kù)、新建的文件等)添加到工程中。

這里的工程項(xiàng)目管理可根據(jù)自己的想法來(lái)定義(類似于自己分類、命名文件夾和文件),我這里按照常規(guī)的方式進(jìn)行管理項(xiàng)目。

IAR和Keil組管理的區(qū)別:

IAR可以添加多級(jí)組,類似于文件夾下可以再建文件夾,一直下去。

Keil只能添加單級(jí)組,類似于文件夾下面只能添加文件,而不能在添加文件夾。

為了簡(jiǎn)單、遵循Keil組結(jié)構(gòu),我們?cè)贗AR中分組方式也按照Keil方式分組,先在工程中添加組,再在組中添加文件......一次循環(huán)下去直到完成。

A.工程中添加組

B.填寫(xiě)組的名稱 -> OK

C.組中添加文件

D.按住Ctrl,鼠標(biāo)選中要添加的文件

E.依次添加(按照上面步驟循環(huán)),直到添加完成

3.配置工程

配置工程對(duì)于初學(xué)者來(lái)說(shuō),大部分內(nèi)容只需要默認(rèn)即可,這里只講述幾個(gè)常見(jiàn)的配置,能滿足基本的功能。更多配置可進(jìn)入我微信公眾號(hào)或博客查看。

A.進(jìn)入配置選項(xiàng)

B.選擇器件

C.庫(kù)配置Library Configration

第一Library:如果需要使用某些標(biāo)準(zhǔn)的庫(kù)函數(shù)接口(如我們使用的printf and scanf),就需要選擇Full(見(jiàn)下圖)。

第二CMSIS:是微控制器軟件接口標(biāo)準(zhǔn)(Cortex Microcontroller Software Interface Standard)的意思。IAR for ARM在V5和 V6、V7版本之間存在差異,很多人用新版本IAR編譯以前工程出現(xiàn)錯(cuò)誤的原因就在于此(如STM32F1的庫(kù)就使用較老版本的CMSIS,我們使用新版本IAR就需要勾選這里)。

D.預(yù)處理Preprocessor - 添加路徑

添加的路徑最好是相對(duì)路徑,而不是絕對(duì)路徑。使用絕對(duì)路徑工程位置改變之后就找不到文件,就會(huì)出錯(cuò)??梢渣c(diǎn)擊按鈕選擇路徑,也可以通過(guò)復(fù)制文件路徑進(jìn)行配置。

·

·

一步一步添加,直到最后完成

·

·

E.預(yù)處理Preprocessor - 預(yù)定義

這里的預(yù)定義類似于在源代碼中的#define xxx 這種宏定義。這里的STM32F10X_HD可以在stm32f10x.h中打開(kāi)即可,USE_STDPERIPH_DRIVER這個(gè)宏定義我已經(jīng)定義在在stm32f10x.h文件中。

F.輸出Hex文件

很多初學(xué)的朋友都會(huì)問(wèn)怎么輸出 Hex( 可直接下載的程序文件),只需要按照下面配置即可輸出Hex文件。

G.選擇下載調(diào)試工具

根據(jù)自己情況選擇的下載調(diào)試工具。使用ST-Link的朋友需要注意,有些時(shí)候ST-Link默認(rèn)的接口是JTAG,需要改為SWD才能使用(見(jiàn)下圖)。

Ⅴ、下載

為方便廣大STM32學(xué)習(xí)者,我將常見(jiàn)的STM32“Demo軟件工程”已經(jīng)建好,里面包含Keil(MDK-ARM)新建的工程供大家下載。

STM32F0工程模板:

http://pan.baidu.com/s/1pKSkSxt

STM32F1工程模板:

http://pan.baidu.com/s/1c1AWupM

STM32F2工程模板:

http://pan.baidu.com/s/1o8yGWg6

STM32F3工程模板:

http://pan.baidu.com/s/1boVXh2f

STM32F4工程模板:

http://pan.baidu.com/s/1qYzYMuS

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9353

    瀏覽量

    377590
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365013
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    381

    瀏覽量

    37470
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    IAR平臺(tái)現(xiàn)已提供對(duì)Zephyr RTOS的量產(chǎn)級(jí)支持

    IAR宣布,其嵌入式開(kāi)發(fā)平臺(tái)正式推出對(duì)Zephyr RTOS的量產(chǎn)級(jí)支持。該支持自IARArm開(kāi)發(fā)工具鏈v9.70起全面提供。
    的頭像 發(fā)表于 07-09 15:43 ?104次閱讀

    IAR Arm開(kāi)發(fā)工具鏈中--function_sections編譯選項(xiàng)的使用

    本文主要介紹在IAR Arm開(kāi)發(fā)工具鏈中不修改源代碼的情況下使用??function_sections編譯選項(xiàng)把函數(shù)放到單獨(dú)的section。
    的頭像 發(fā)表于 06-13 13:53 ?1039次閱讀
    在<b class='flag-5'>IAR</b> <b class='flag-5'>Arm</b>開(kāi)發(fā)工具鏈中--function_sections編譯選項(xiàng)的使用

    IAR開(kāi)發(fā)平臺(tái)升級(jí)Arm和RISC-V開(kāi)發(fā)工具鏈,加速現(xiàn)代嵌入式系統(tǒng)開(kāi)發(fā)

    IAR正式發(fā)布其旗艦產(chǎn)品的重大更新版本:Arm開(kāi)發(fā)工具鏈v9.70和RISC-V開(kāi)發(fā)工具鏈v3.40。
    的頭像 發(fā)表于 06-11 14:28 ?301次閱讀

    從Keil MDK到IAR EWARM:通過(guò)工程遷移實(shí)現(xiàn)項(xiàng)目資產(chǎn)的更好管理

    對(duì)于需要統(tǒng)開(kāi)發(fā)環(huán)境或涉及多核架構(gòu)(如Cortex-A/R)的項(xiàng)目,越來(lái)越多的用戶選擇從Keil MDK遷移到IAR EWARM。這就會(huì)面臨著需要將之前的Keil MDK工程遷移到IAR
    的頭像 發(fā)表于 05-08 09:03 ?531次閱讀
    從Keil MDK到<b class='flag-5'>IAR</b> EWARM:通過(guò)<b class='flag-5'>工程</b>遷移實(shí)現(xiàn)項(xiàng)目資產(chǎn)的更好管理

    基于 IAR Embedded Workbench 的自研 MCU 芯片軟件函數(shù)與變量?jī)?nèi)存布局優(yōu)化精控方法

    在嵌入式軟件開(kāi)發(fā)領(lǐng)域,MCU芯片軟件的架構(gòu)設(shè)計(jì)與內(nèi)存布局的精細(xì)規(guī)劃對(duì)系統(tǒng)性能和穩(wěn)定性起著關(guān)鍵作用。本文檔聚焦于IAR Embedded Workbench環(huán)境下,為自研MCU芯片軟件
    的頭像 發(fā)表于 04-30 16:38 ?290次閱讀
    基于 <b class='flag-5'>IAR</b> Embedded Workbench 的自研 MCU 芯片<b class='flag-5'>軟件</b>函數(shù)與變量?jī)?nèi)存布局優(yōu)化精控方法

    IAR全面支持芯馳科技車規(guī)MCU芯片E3650

    2025年4月22日,全場(chǎng)景智能車芯引領(lǐng)者芯馳科技與全球嵌入式軟件開(kāi)發(fā)解決方案領(lǐng)導(dǎo)者IAR正式宣布,IAR Embedded Workbench for Arm已全面支持芯馳E3650
    的頭像 發(fā)表于 04-23 15:45 ?732次閱讀

    如何成為名嵌入式軟件工程師?

    如何成為名嵌入式軟件工程師? 01明確崗位的角色與定位 嵌入式軟件工程師主要負(fù)責(zé)開(kāi)發(fā)運(yùn)行在特定硬件平臺(tái)上的軟件,這些軟件通常與硬件緊密集
    發(fā)表于 04-15 14:37

    Keil uVision 5安裝包下載,詳細(xì)安裝教程~

    、點(diǎn)擊Close關(guān)閉授權(quán)窗口。 15、軟件安裝與激活全部完成。 Keil5使用說(shuō)明 確保已安裝proteus及對(duì)應(yīng)開(kāi)發(fā)環(huán)境(Keil for ARMIAR)。 安裝對(duì)應(yīng)驅(qū)動(dòng):Keil
    發(fā)表于 03-15 12:10

    嵌入式軟件工程師就業(yè)好不好?

    嵌入式軟件工程師就業(yè)好不好?會(huì)不會(huì)越老越吃香?今天起來(lái)看看。 首先看下市場(chǎng)需求。 隨著物聯(lián)網(wǎng)、人工智能、5G等前沿技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的應(yīng)用領(lǐng)域不斷擴(kuò)大,從智能家居、汽車電子到工業(yè)自動(dòng)化
    發(fā)表于 02-20 10:19

    Testin云測(cè)獲智能化軟件工程工作組優(yōu)秀單位榮譽(yù)

    隨著人工智能技術(shù)的深度應(yīng)用,大模型等AI技術(shù)在推動(dòng)軟件行業(yè)智能化進(jìn)程中的重要性日益凸顯。軟件工程,作為大模型、智能體等AI技術(shù)落地應(yīng)用的前沿領(lǐng)域,正加速推進(jìn)智能化轉(zhuǎn)型。在這場(chǎng)變革中,企業(yè)、科研機(jī)構(gòu)以及眾多行業(yè)專家紛紛投身其中,共同探索智能化
    的頭像 發(fā)表于 01-21 10:46 ?369次閱讀

    IAR與紫光同芯合作,全面支持THA6系列汽車芯片

    近日,全球領(lǐng)先的嵌入式系統(tǒng)開(kāi)發(fā)軟件解決方案提供商IAR與業(yè)內(nèi)知名的芯片及解決方案提供商紫光同芯攜手宣布,最新版本的IAR Embedded Workbench for Arm開(kāi)發(fā)工具鏈
    的頭像 發(fā)表于 12-27 11:46 ?1298次閱讀

    【RA-Eco-RA4E2-64PIN-V1.0開(kāi)發(fā)板試用】MDK新建工程

    安裝。 2.RASC 軟件安裝完成之后,還需要將 RASC 軟件集成到 Keil 軟件上面 3.新建工程 使用 RASC 自動(dòng)生成個(gè)
    發(fā)表于 12-14 18:23

    特斯拉招募軟件工程師強(qiáng)化無(wú)人駕駛與機(jī)器人遠(yuǎn)程操作

    近日,據(jù)外媒最新報(bào)道,特斯拉正緊鑼密鼓地招募軟件工程師團(tuán)隊(duì),旨在加強(qiáng)其無(wú)人駕駛出租車及Optimus機(jī)器人的遠(yuǎn)程操作能力。這舉措標(biāo)志著特斯拉在推動(dòng)自動(dòng)駕駛與人工智能領(lǐng)域邁出了重要步。 特斯拉此次
    的頭像 發(fā)表于 11-27 10:26 ?1020次閱讀

    ARM進(jìn)軍GPU領(lǐng)域,挑戰(zhàn)英偉達(dá)與英特爾

    英國(guó)芯片設(shè)計(jì)巨頭ARM正悄然在以色列拉阿納納的研發(fā)中心布局其GPU(圖形處理器)戰(zhàn)略,意圖在全球圖形處理市場(chǎng)與英偉達(dá)和英特爾等業(yè)界巨頭較高下。據(jù)悉,ARM已在該開(kāi)發(fā)中心組建了支由約
    的頭像 發(fā)表于 08-21 10:19 ?840次閱讀