當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]實(shí)際開(kāi)發(fā)中,不同的人習(xí)慣用不同的開(kāi)發(fā)工具。比如,對(duì)于STM32開(kāi)發(fā)來(lái)說(shuō),可以用Keil、IAR、VSCodeGCC等。比如安富萊開(kāi)發(fā)板的例程中,常常都會(huì)提供有Keil及IAR的工程:有沒(méi)有這樣子的一個(gè)工具:可以同時(shí)生成多種開(kāi)發(fā)環(huán)境的工程?偶然間發(fā)現(xiàn)的一個(gè)工具——project_g...

實(shí)際開(kāi)發(fā)中,不同的人習(xí)慣用不同的開(kāi)發(fā)工具。比如,對(duì)于STM32開(kāi)發(fā)來(lái)說(shuō),可以用Keil、IAR、VSCode GCC等。比如安富萊開(kāi)發(fā)板的例程中,常常都會(huì)提供有Keil及IAR的工程:

有沒(méi)有這樣子的一個(gè)工具:可以同時(shí)生成多種開(kāi)發(fā)環(huán)境的工程?偶然間發(fā)現(xiàn)的一個(gè)工具——project_generator,就是干這事的。

什么是project_generator?

project_generator是一個(gè)嵌入式項(xiàng)目生成器,簡(jiǎn)稱progen。我們可以編寫(xiě)一個(gè)特定語(yǔ)法的YAML文件用于管理我們的項(xiàng)目,并根據(jù)記錄中定義的規(guī)則來(lái)生成IDE項(xiàng)目文件。

progen官網(wǎng):

?https://pypi.org/project/project-generator/

?

progen項(xiàng)目生成器目前支持生成以下工具(IDE、Makefile等)的項(xiàng)目:

  • uVision4 和 uVision5
  • IAR
  • 生成文件 (GCC ARM)
  • 生成文件 (ARMCC)
  • Cmake (GCC ARM)
  • CoIDE (GCC ARM)
  • Eclipse(帶有 GCC ARM 的 Makefile)
  • Sublime(帶有 GCC ARM 的 Makefile)
  • Visual Studio(帶有 GCC ARM 的 Makefile)

安裝project_generator

progen依賴于Python環(huán)境,所以需要首先搭建Python環(huán)境??梢园惭bPython2.7.x的,也可以安裝Python3.x.x的,大家可以自行安裝。安裝好Python環(huán)境之后,使用pip工具安裝project-generator:

pip install project-generator

安裝后得到:

project_generator實(shí)踐

官方給我們提供了一個(gè) baremetal blinky examples例子,我們基于這個(gè)例子實(shí)操一遍。

下載baremetal blinky examples得到:

projects.yaml就是管理我們工程的yaml文件,這個(gè)是總的yaml文件,其會(huì)引用到records中的的子yaml文件。通過(guò)projects.yaml引用的子yaml文件可以同時(shí)管理多個(gè)工程,如本例的projects.yaml內(nèi)容如:

projects:
??gpio_demo_frdmk64f:
????-?records/frdm_k64f.yaml
??gpio_demo_frdmkl25z:
????-?records/frdm_kl25z.yaml
??gpio_demo_frdmkl46z:
????-?records/frdm_kl46z.yaml
????
這里同時(shí)管理著gpio_demo_frdmk64f、gpio_demo_frdmkl25z、gpio_demo_frdmkl46z三個(gè)工程,records下對(duì)應(yīng)有三個(gè)yaml文件:

下面通過(guò)progen工具來(lái)生成工程,因?yàn)閜rogen工具是存放在Python/Scrips路徑下,并且已經(jīng)加入到環(huán)境變量中,所以progen工具全局有效。我們?cè)赽aremetal blinky examples工程目錄下執(zhí)行對(duì)應(yīng)命令可生成工程。

「1、生成gpio_demo_frdmk64f項(xiàng)目的Keil工程:」

progen?generate?-f?projects.yaml?-p?gpio_demo_frdmk64f?-t?uvision
-p參數(shù)指定工程名;-t參數(shù)指定生成的工程。

「2、生成gpio_demo_frdmk64f項(xiàng)目的IAR工程:」

progen?generate?-f?projects.yaml?-p?gpio_demo_frdmk64f?-t?iar_arm

「3、生成gpio_demo_frdmk64f項(xiàng)目的gcc_arm工程:」

progen?generate?-f?projects.yaml?-p?gpio_demo_frdmk64f?-t?iar_arm

我們知道,keil等工具起初支持的芯片都比較有限,比如需要安裝一些芯片支持包進(jìn)行擴(kuò)展,同樣的,progen也是一樣的,支持的開(kāi)發(fā)板及芯片有限,我們可自行添加目標(biāo)支持。路徑如:

C:\Python27\Lib\site-packages\project_generator_definitions\target

以上就是本次關(guān)于progen項(xiàng)目生成器的簡(jiǎn)要分享。這個(gè)工具也是我偶然間知道的,簡(jiǎn)單了解并實(shí)踐了一下,順道分享給大家,并且也是很淺的實(shí)踐分享。

關(guān)于yaml里面的內(nèi)容本文并未提到,大家感興趣的可以自行去了解學(xué)習(xí):

?https://github.com/project-generator/project_generator/wiki/Home

?

END
來(lái)源:嵌入式大雜燴,作者:ZhengNL版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除。
嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉