日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 電子電路開發(fā)學(xué)習(xí)
[導(dǎo)讀]關(guān)注我,一起進(jìn)步!實(shí)際開發(fā)中,不同的人習(xí)慣用不同的開發(fā)工具。比如,對于STM32開發(fā)來說,可以用Keil、IAR、VSCodeGCC等。比如安富萊開發(fā)板的例程中,常常都會(huì)提供有Keil及IAR的工程:有沒有這樣子的一個(gè)工具:可以同時(shí)生成多種開發(fā)環(huán)境的工程?偶然間發(fā)現(xiàn)的一個(gè)工具——...

關(guān)注我,一起進(jìn)步!

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


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

什么是project_generator?

project_generator是一個(gè)嵌入式項(xiàng)目生成器,簡稱progen。我們可以編寫一個(gè)特定語法的YAML文件用于管理我們的項(xiàng)目,并根據(jù)記錄中定義的規(guī)則來生成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文件。通過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下對應(yīng)有三個(gè)yaml文件:


下面通過progen工具來生成工程,因?yàn)閜rogen工具是存放在Python/Scrips路徑下,并且已經(jīng)加入到環(huán)境變量中,所以progen工具全局有效。我們在baremetal blinky examples工程目錄下執(zhí)行對應(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也是一樣的,支持的開發(fā)板及芯片有限,我們可自行添加目標(biāo)支持。路徑如:

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


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

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

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

?

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