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

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

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

淺談新建工程多目標(biāo)

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-12 14:12 ? 次閱讀

我們?yōu)槭裁匆粋€(gè)建立多個(gè)目標(biāo)?

1.一個(gè)工程中擁有相同的源文件,但目標(biāo)配置不一樣的工程需要建立多個(gè)目標(biāo)。

比如:IAR新建一個(gè)工程,默認(rèn)就有兩個(gè)目標(biāo):Debug和Release。 其實(shí),細(xì)心的朋友會(huì)發(fā)現(xiàn),Debug和Release兩個(gè)工程目標(biāo)包含的源文件都一樣,只是它們的配置不一樣。

Debug目標(biāo)包含很多調(diào)試信息,編譯的時(shí)候相對(duì)較慢,但能在線調(diào)試;

Release目標(biāo)沒有包含調(diào)試信息,編譯速度相對(duì)較快,但不能在線調(diào)試。

2.一個(gè)工程中擁有大部分相似源文件的工程需要建立多個(gè)目標(biāo)。

一般實(shí)際應(yīng)用項(xiàng)目中,這一項(xiàng)相對(duì)較多一點(diǎn),就拿ST提供的“標(biāo)準(zhǔn)外設(shè)庫”為例來說明。

像類似上面針對(duì)STM32F1這種例程,官方為了所有STM32初學(xué)者都能使用這個(gè)工程(有多個(gè)目標(biāo)),能讓所有(大部分)STM32F1的用戶都能使用該工程,就用了多目標(biāo),不同配置的方式來實(shí)現(xiàn)。

再簡單舉例來說:我們有一個(gè)很大的項(xiàng)目,客戶A需要在項(xiàng)目中單純的添加一個(gè)LED指示燈,客戶B需要在項(xiàng)目中添加一個(gè)按鍵輸入。由于客戶A和B的項(xiàng)目大部分功能都一樣,只有略微的差異,同樣也可以使用建立多個(gè)工程目標(biāo)的方式。

3.為了維護(hù)工程。

多來工作的人應(yīng)該知道,特別的工作有兩三年及其以上的人,一個(gè)公司可能有多款類似的產(chǎn)品,也就是說使用的硬件和軟件大部分都相同,只是存在略微的差異。但我們不可能因?yàn)橐稽c(diǎn)點(diǎn)的差異,單獨(dú)新建一個(gè),并單獨(dú)安排一批人來維護(hù)這個(gè)代碼。

多工程目標(biāo) 和 工作空間有什么區(qū)別?

1.一個(gè)工作空間可以包含多個(gè)工程,以及對(duì)應(yīng)的多個(gè)目標(biāo)。

其實(shí)就是一個(gè)包含關(guān)系,就如前面那張圖:

2.多工程目標(biāo)可以分解為多個(gè)工程,也就是工作空間。

如上面所說,如果工程中的源代碼文件差異比較大,可以將其分成多個(gè)工程,即我們所說的工作空間。

Ⅱ 建立多個(gè)目標(biāo)

本節(jié)以新建STM32F030xx的Demo為例,也就是建立STM32F030系列的工程Demo,其中包含的啟動(dòng)文件有兩種:startup_stm32f030.s和startup_stm32f030xc.s這兩種,但一個(gè)目標(biāo)只編譯一種。

1.建立基礎(chǔ)工程

因?yàn)楣こ讨械脑创a文件都差不多,后面新建的目標(biāo)都是基于建立好的目標(biāo)修改而成。所以把需要的工程源代碼添加到工程,目標(biāo)選項(xiàng)配置好。

這一節(jié)參考文章【Keil(MDK-ARM)系列教程(一)_新建軟件工程詳細(xì)過程】;

2.添加目標(biāo)名稱

這個(gè)就是在上面的基礎(chǔ)上添加(插入)目標(biāo),如下圖:

3.配置相關(guān)目標(biāo)

a.文件配置:是否編譯當(dāng)前文件,文件存儲(chǔ)地址等。

b.目標(biāo)選項(xiàng)配置,這個(gè)之前的文章都已經(jīng)講述過,可以參看文章【工程目標(biāo)選項(xiàng)配置(Ⅰ)】 和 【工程目標(biāo)選項(xiàng)配置(Ⅱ)】

提示:先選中對(duì)應(yīng)的目標(biāo),再Project -> Options for Target進(jìn)行配置。

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

    關(guān)注

    5

    文章

    344

    瀏覽量

    36563
  • STM32F030
    +關(guān)注

    關(guān)注

    1

    文章

    33

    瀏覽量

    6597
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺談分時(shí)電價(jià)下含電動(dòng)汽車的微電網(wǎng)群雙層多目標(biāo)優(yōu)化調(diào)度

    充電滿意度多目標(biāo)下的電動(dòng)汽車充電模式,建立了微電網(wǎng)內(nèi)運(yùn)營商峰谷差—用戶充電費(fèi)用少和充電滿意度的雙盈多目標(biāo)優(yōu)化調(diào)度模型,采用上海市實(shí)際居民辦公商業(yè)混合體,基于MATLAB/NSGA?Ⅱ算法求解負(fù)荷整形度;采取粒子群優(yōu)化算法求解電動(dòng)汽車車主達(dá)
    的頭像 發(fā)表于 09-23 14:46 ?230次閱讀
    <b class='flag-5'>淺談</b>分時(shí)電價(jià)下含電動(dòng)汽車的微電網(wǎng)群雙層<b class='flag-5'>多目標(biāo)</b>優(yōu)化調(diào)度

    IR900以及IG900系列產(chǎn)品python開發(fā)的IDE如何切換工程?

    IDE的一個(gè)workspace,只能建一個(gè)工程。新建工程需要在新的workspace里建。切換不同的工程時(shí),切換workspace即可。
    發(fā)表于 07-25 06:30

    多目標(biāo)智能識(shí)別系統(tǒng)

    智慧華盛恒輝多目標(biāo)智能識(shí)別系統(tǒng)是一種利用現(xiàn)代計(jì)算機(jī)視覺技術(shù)和人工智能算法,從圖像或視頻中同時(shí)識(shí)別和分類多個(gè)目標(biāo)物體的系統(tǒng)。這種系統(tǒng)廣泛應(yīng)用于自動(dòng)駕駛、智能監(jiān)控、人機(jī)交互、軍事偵察、災(zāi)害監(jiān)測(cè)等多個(gè)領(lǐng)域
    的頭像 發(fā)表于 07-16 10:42 ?1.2w次閱讀

    【ch32v307_RTT】1、使用RT-Thread studio新建工程

    Studio。 【實(shí)現(xiàn)步驟】 1、安裝SDK 2、安裝好pyocd這些下載調(diào)試工具: 3、安裝WCH編譯工具 4、安裝好后,新建工程 5、輸入工程名稱,點(diǎn)擊完成,點(diǎn)擊編譯,完成編譯工作: 【下載】 接上開發(fā)板,點(diǎn)擊下載,連接開發(fā)板。 下載結(jié)束后,可以看到正常的輸出了
    發(fā)表于 06-29 18:25

    基于GIS的SAR多目標(biāo)智能識(shí)別系統(tǒng)

    智慧華盛恒輝基于GIS的SAR多目標(biāo)智能識(shí)別系統(tǒng)是一個(gè)集成了合成孔徑雷達(dá)(SAR)和地理信息系統(tǒng)(GIS)技術(shù)的先進(jìn)系統(tǒng),旨在實(shí)現(xiàn)高分辨率雷達(dá)圖像中的多目標(biāo)智能識(shí)別。以下是該系統(tǒng)的詳細(xì)介紹: 智慧華
    的頭像 發(fā)表于 06-26 14:26 ?372次閱讀

    英特爾在以色列新建工廠停工

    據(jù)以色列權(quán)威媒體報(bào)道,英特爾在以色列的工廠修建工作目前已(暫時(shí))停止。這一消息引起了業(yè)界的廣泛關(guān)注。
    的頭像 發(fā)表于 06-11 15:43 ?322次閱讀

    多目標(biāo)跟蹤算法總結(jié)歸納

    多目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域中的一個(gè)重要任務(wù),它旨在從視頻或圖像序列中準(zhǔn)確地檢測(cè)和跟蹤多個(gè)移動(dòng)目標(biāo)。不過在落地部署時(shí),有一些關(guān)鍵點(diǎn)需要解決。
    的頭像 發(fā)表于 04-28 09:42 ?1435次閱讀
    <b class='flag-5'>多目標(biāo)</b>跟蹤算法總結(jié)歸納

    MotorControl Workbench 5.0.3上位機(jī)不能打開默認(rèn)工程新建工程也失敗了的原因?

    最近要培訓(xùn)ST電機(jī)庫5.0了,準(zhǔn)備提前安裝好軟件,新建工程預(yù)習(xí)一下代碼,結(jié)果上位機(jī)不能打開默認(rèn)工程新建工程也失敗了 有遇到過這個(gè)問題的壇友嗎?該如何處理 詳細(xì)信息如下
    發(fā)表于 04-28 08:46

    用workbench新建工程后,不能自動(dòng)生成工程文件怎么解決?

    測(cè)出電機(jī)的相應(yīng)參數(shù)。但用workbench新建工程后,不能自動(dòng)生成工程文件。報(bào)錯(cuò)如下。不明白需要改哪里? TypeTimeMotorIdMessage UNK08:54:481Phase 2
    發(fā)表于 04-26 06:57

    使用CubeMX6.8.0和MCWorkbench6.1.0正常編譯工程,新建的IHM03套件工程速度檢測(cè)編碼器選項(xiàng)為什么是灰色?

    使用CubeMX6.8.0和MCWorkbench6.1.0正常編譯工程。新建的IHM03套件的工程速度檢測(cè)里面為什么編碼器選項(xiàng)是灰色的呢?這邊需要開啟編碼器并使用位置閉環(huán)控制。或者怎樣新建工
    發(fā)表于 03-18 07:34

    同樣是用STM32點(diǎn)亮一顆LED燈,寄存器和庫有什么區(qū)別?

    首先在創(chuàng)建工程的時(shí)候就比較麻煩,新建工程,起個(gè)名字,選擇一個(gè)合適的芯片,新建main.c,然后隨手來一個(gè)main函數(shù)。
    的頭像 發(fā)表于 03-14 16:52 ?656次閱讀

    hightec新建工程的向?qū)ы撁鏇]有TriCore板可選,是否安裝失敗了?

    hightec新建工程的向?qū)ы撁鏇]有TriCore板可選,是否安裝失敗了(已添加license)
    發(fā)表于 02-06 07:05

    日本半導(dǎo)體設(shè)備巨頭Disco計(jì)劃新建工

    日本知名半導(dǎo)體制造設(shè)備制造商Disco近日宣布,將在日本廣島縣新建一座工廠,專注于生產(chǎn)用于晶圓生產(chǎn)的關(guān)鍵零部件。此舉旨在抓住客戶需求的增長,進(jìn)一步加快生產(chǎn)進(jìn)度,以滿足全球半導(dǎo)體市場(chǎng)的持續(xù)擴(kuò)張。
    的頭像 發(fā)表于 01-18 15:52 ?1120次閱讀

    入門篇3:零基礎(chǔ)開發(fā)小安派-Eyes-S1——新建工程并燒錄調(diào)試

    01 新建工程文件 1、復(fù)制helloworld工程 2、將工程移動(dòng)到AiPi-Open-Kits下 3、修改helloworld文件夾下的Makefile文件 Makefile文件的修改一般只修改
    的頭像 發(fā)表于 12-12 16:35 ?515次閱讀
    入門篇3:零基礎(chǔ)開發(fā)小安派-Eyes-S1——<b class='flag-5'>新建工程</b>并燒錄調(diào)試

    基于隨機(jī)有限集的多傳感器多目標(biāo)跟蹤技術(shù)

    本文綜述了基于隨機(jī)有限集方法的多傳感器多目標(biāo)跟蹤的最新研究進(jìn)展。在多傳感器濾波中起基礎(chǔ)性作用的融合方法可分為數(shù)據(jù)層多目標(biāo)測(cè)量融合和評(píng)估層多目標(biāo)密度融合,分別共享融合傳感器之間的局部測(cè)量值與后驗(yàn)密度。
    發(fā)表于 12-04 10:39 ?404次閱讀
    基于隨機(jī)有限集的多傳感器<b class='flag-5'>多目標(biāo)</b>跟蹤技術(shù)