我們?yōu)槭裁匆粋€建立多個目標(biāo)?
1.一個工程中擁有相同的源文件,但目標(biāo)配置不一樣的工程需要建立多個目標(biāo)。
比如:IAR新建一個工程,默認(rèn)就有兩個目標(biāo):Debug和Release。 其實(shí),細(xì)心的朋友會發(fā)現(xiàn),Debug和Release兩個工程目標(biāo)包含的源文件都一樣,只是它們的配置不一樣。
Debug目標(biāo)包含很多調(diào)試信息,編譯的時(shí)候相對較慢,但能在線調(diào)試;
Release目標(biāo)沒有包含調(diào)試信息,編譯速度相對較快,但不能在線調(diào)試。
2.一個工程中擁有大部分相似源文件的工程需要建立多個目標(biāo)。
一般實(shí)際應(yīng)用項(xiàng)目中,這一項(xiàng)相對較多一點(diǎn),就拿ST提供的“標(biāo)準(zhǔn)外設(shè)庫”為例來說明。
像類似上面針對STM32F1這種例程,官方為了所有STM32初學(xué)者都能使用這個工程(有多個目標(biāo)),能讓所有(大部分)STM32F1的用戶都能使用該工程,就用了多目標(biāo),不同配置的方式來實(shí)現(xiàn)。
再簡單舉例來說:我們有一個很大的項(xiàng)目,客戶A需要在項(xiàng)目中單純的添加一個LED指示燈,客戶B需要在項(xiàng)目中添加一個按鍵輸入。由于客戶A和B的項(xiàng)目大部分功能都一樣,只有略微的差異,同樣也可以使用建立多個工程目標(biāo)的方式。
3.為了維護(hù)工程。
多來工作的人應(yīng)該知道,特別的工作有兩三年及其以上的人,一個公司可能有多款類似的產(chǎn)品,也就是說使用的硬件和軟件大部分都相同,只是存在略微的差異。但我們不可能因?yàn)橐稽c(diǎn)點(diǎn)的差異,單獨(dú)新建一個,并單獨(dú)安排一批人來維護(hù)這個代碼。
多工程目標(biāo) 和 工作空間有什么區(qū)別?
1.一個工作空間可以包含多個工程,以及對應(yīng)的多個目標(biāo)。
其實(shí)就是一個包含關(guān)系,就如前面那張圖:
2.多工程目標(biāo)可以分解為多個工程,也就是工作空間。
如上面所說,如果工程中的源代碼文件差異比較大,可以將其分成多個工程,即我們所說的工作空間。
Ⅱ 建立多個目標(biāo)
本節(jié)以新建STM32F030xx的Demo為例,也就是建立STM32F030系列的工程Demo,其中包含的啟動文件有兩種:startup_stm32f030.s和startup_stm32f030xc.s這兩種,但一個目標(biāo)只編譯一種。
1.建立基礎(chǔ)工程
因?yàn)楣こ讨械脑创a文件都差不多,后面新建的目標(biāo)都是基于建立好的目標(biāo)修改而成。所以把需要的工程源代碼添加到工程,目標(biāo)選項(xiàng)配置好。
這一節(jié)參考文章【Keil(MDK-ARM)系列教程(一)_新建軟件工程詳細(xì)過程】;
2.添加目標(biāo)名稱
這個就是在上面的基礎(chǔ)上添加(插入)目標(biāo),如下圖:
3.配置相關(guān)目標(biāo)
a.文件配置:是否編譯當(dāng)前文件,文件存儲地址等。
b.目標(biāo)選項(xiàng)配置,這個之前的文章都已經(jīng)講述過,可以參看文章【工程目標(biāo)選項(xiàng)配置(Ⅰ)】 和 【工程目標(biāo)選項(xiàng)配置(Ⅱ)】
提示:先選中對應(yīng)的目標(biāo),再Project -> Options for Target進(jìn)行配置。
-
IAR
+關(guān)注
關(guān)注
5文章
354瀏覽量
36806 -
STM32F030
+關(guān)注
關(guān)注
1文章
33瀏覽量
6736
發(fā)布評論請先 登錄
相關(guān)推薦
淺談多目標(biāo)優(yōu)化約束條件下充電設(shè)施有序充電控制策略
![<b class='flag-5'>淺談</b><b class='flag-5'>多目標(biāo)</b>優(yōu)化約束條件下充電設(shè)施有序充電控制策略](https://file1.elecfans.com//web3/M00/05/1D/wKgZO2d8uL-AIJy_AABtvTmgxtY986.jpg)
安裝的是CCS7.0,在新建工程的時(shí)候,為什么找不到PGA900這個芯片?
【敏矽微ME32G070開發(fā)板免費(fèi)體驗(yàn)】新建工程(MDK)
【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】MDK新建工程
使用STT全面提升自動駕駛中的多目標(biāo)跟蹤
![使用STT全面提升自動駕駛中的<b class='flag-5'>多目標(biāo)</b>跟蹤](https://file1.elecfans.com/web1/M00/F3/C9/wKgaoWce8qWAFGkrAAAvAz45dB8054.png)
淺談分時(shí)電價(jià)下含電動汽車的微電網(wǎng)群雙層多目標(biāo)優(yōu)化調(diào)度
![<b class='flag-5'>淺談</b>分時(shí)電價(jià)下含電動汽車的微電網(wǎng)群雙層<b class='flag-5'>多目標(biāo)</b>優(yōu)化調(diào)度](https://file1.elecfans.com//web2/M00/08/5B/wKgaombxDp2AMQO3AAFOZH_fkTU427.png)
多目標(biāo)智能識別系統(tǒng)
【ch32v307_RTT】1、使用RT-Thread studio新建工程
基于GIS的SAR多目標(biāo)智能識別系統(tǒng)
英特爾在以色列新建工廠停工
多目標(biāo)跟蹤算法總結(jié)歸納
![<b class='flag-5'>多目標(biāo)</b>跟蹤算法總結(jié)歸納](https://file1.elecfans.com/web2/M00/DF/00/wKgaomYtqhCADcRbAAAfdrnUmJg923.png)
評論