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

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

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

keil自動(dòng)化編譯腳本

strongerHuang ? 來(lái)源:Gitee ? 2023-10-16 17:04 ? 次閱讀

Keil開(kāi)發(fā)單片機(jī)雖然被很多開(kāi)發(fā)者吐槽,但不得不承認(rèn),目前Keil依然是眾多單片機(jī)開(kāi)發(fā)者首選的工具之一。

今天就來(lái)分享一個(gè)開(kāi)源的 keil 自動(dòng)化編譯腳本。

1、需求來(lái)源

部分對(duì)開(kāi)發(fā)流程有限制的公司是將開(kāi)發(fā)與編譯(提交后的代碼版本)分開(kāi)的,要求編譯過(guò)程盡可能少的人為參與,需在程序上實(shí)現(xiàn)代碼的自動(dòng)化編譯?;诖诵枨箝_(kāi)發(fā)了本腳本。

b5888d2a-6bf9-11ee-939d-92fbcf53809c.png

2、介紹

這是一個(gè) keil 的自動(dòng)化編譯腳本,可被其他腳本或程序調(diào)用,接收參數(shù)并按參數(shù)編譯 keil 工程,而不必打開(kāi) keil 軟件,實(shí)現(xiàn)程序上的自動(dòng)化。主要實(shí)現(xiàn)了以下功能:
  1. 自動(dòng)搜索腳本所在的目錄下所有的 keil 工程
  • 搜索到多個(gè) keil 工程時(shí),若指定為空,則默認(rèn)選擇最后找到的 keil 工程
  • 指定 keil 工程時(shí)支持相對(duì)路徑和絕對(duì)路徑
  • 可選擇Keil_v4Keil_v5進(jìn)行編譯
  • 為空時(shí)默認(rèn)使用Keil_v5,需指定Keil_v4輸入4即可
  • 支持模糊輸入,如:K4,Keil4,Keilv4,Keil_4
  • 支持指定不同 keil 軟件的所在路徑,如:C:Keil_v5UV4UV4.exe
  • 當(dāng) keil 的安裝路徑和本案例中的D:Keil_v5UV4UV4.exe路徑不同時(shí),除非修改代碼后重新編譯成新的.exe,否則必須指定 keil 軟件的所在路徑
  • 可選擇project target
  • 為空時(shí)默認(rèn)選擇 keil 工程最后選擇的project target
  • 支持非法字符識(shí)別并報(bào)錯(cuò)
  • 編譯完成后自動(dòng)將.bin.hex文件拷貝至腳本的同級(jí)目錄
  • 僅拷貝選定的 keil 工程編譯出的.bin.hex文件

3、有哪些參數(shù)

b593ff3e-6bf9-11ee-939d-92fbcf53809c.png

說(shuō)明:本腳本的所有參數(shù)可不按順序輸入,為空時(shí)表示選擇默認(rèn)值,但參數(shù)與參數(shù)之間需用空格隔開(kāi)

4、我想直接用

  1. 本腳本僅支持windows系統(tǒng)且要求已經(jīng)安裝了 keil 軟件

  2. 在發(fā)行版中下載可直接運(yùn)行的.exe

  3. .exe腳本與需要編譯的 keil 工程放在同一級(jí)目錄(下稱(chēng)目錄 A )

  4. 打開(kāi)powershellcmd并定位至目錄 A

  • 若使用powershell,可在目錄 A 空白處按住shift鍵同時(shí)單擊鼠標(biāo)右鍵選擇打開(kāi)powershell,將自動(dòng)定位到目錄 A

  • 執(zhí)行腳本

    .Keil-Autopiler.exe
    .Keil-Autopiler.exe 4 
    (注:keil UV4.exe 的路徑和本腳本一致才可使用本條指令,否則使用下條指令)

    .Keil-Autopiler.exe C:Keil_v4UV4UV4.exe
    .Keil-Autopiler.exe .CodeProjectMDK	emplate.uvprojx

    .Keil-Autopiler.exe C:UsersAdministratorDesktop	estCodeProjectMDK	emplate.uvprojx
    .Keil-Autopiler.exe release
    .Keil-Autopiler.exe 4 release .CodeProjectMDK	emplate.uvprojx
    (注:keil UV4.exe 的路徑和本腳本一致才可使用本條指令,否則使用下條指令)

    .Keil-Autopiler.exe C:Keil_v4UV4UV4.exe release C:UsersAdministratorDesktop	estCodeProjectMDK	emplate.uvprojx
  • 指定 keil 版本

  • 指定 keil 工程

  • 指定 project target

  • 案例五:

  • 指定 project target

  • 案例四:

  • 指定 keil 工程

  • 案例三:

  • 指定 keil 版本

  • 案例二:

  • 只有一個(gè) keil 工程 或 搜索到的最后一個(gè)工程就是要編譯的工程

  • 只有一個(gè) project target 或 keil 工程保存時(shí)已選中需編譯的 project target

  • keil UV4.exe 的路徑和本腳本一致 (D:Keil_v5UV4UV4.exe

  • 案例一:

  • 編譯時(shí)間與編譯器版本、編譯選項(xiàng)和代碼量有關(guān),需耐心等待。(可打開(kāi)同級(jí)目錄的keilx_compile_log.txt查看編譯過(guò)程日志)

  • powershellcmd打印內(nèi)容出現(xiàn)Copy above file(s) SUCCESS的字樣表示執(zhí)行成功,并將對(duì)應(yīng) keil 工程生成的.bin.hex文件拷貝至腳本的同級(jí)目錄中b59df2e6-6bf9-11ee-939d-92fbcf53809c.png

5、我想自己編譯

本代碼僅支持 windows 系統(tǒng)。

5.1 預(yù)備操作

  1. 如果你已經(jīng)安裝了 gcc ,請(qǐng)忽略本步驟

  2. 下載 gcc 編譯器,為了考慮兼容性,這里提供一個(gè) 32 位的 mingw 下載鏈接:https://github.com/niXman/mingw-builds-binaries/releases/download/13.1.0-rt_v11-rev1/i686-13.1.0-release-posix-dwarf-ucrt-rt_v11-rev1.7z

  3. 解壓后放在任意路徑,此處以C:mingw32為例

  4. 配置好環(huán)境變量b5a5eee2-6bf9-11ee-939d-92fbcf53809c.png

  5. 打開(kāi)powershellcmd輸入gcc -v,出現(xiàn)下圖內(nèi)容表示配置成功b5ac1b50-6bf9-11ee-939d-92fbcf53809c.png

5.2 編譯

  1. 打開(kāi)powershellcmd并定位至代碼目錄

  • 若使用powershell,可在代碼目錄空白處按住shift鍵同時(shí)單擊鼠標(biāo)右鍵選擇打開(kāi)powershell,將自動(dòng)定位到代碼目錄

  • 執(zhí)行以下 gcc 命令

    gcc .Keil-Autopiler.c -o .Keil-Autopiler.exe
  • 無(wú)任何提示信息,編譯通過(guò)b5b64260-6bf9-11ee-939d-92fbcf53809c.png

重要說(shuō)明

本腳本依賴(lài) keil 軟件,定位為 keil 的自動(dòng)化編譯腳本。目的是替代手動(dòng)編譯,實(shí)現(xiàn)程序自動(dòng)化,而非替代編譯工具,并無(wú)附帶任何編譯器和鏈接器。因此,無(wú)論代碼工程是基于 keil C51 亦或是 keil MDK 都可執(zhí)行。

開(kāi)源地址:
https://gitee.com/DinoHaw/keil-autopiler

聲明:本文內(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)投訴
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    29

    文章

    5578

    瀏覽量

    79280
  • keil
    +關(guān)注

    關(guān)注

    68

    文章

    1213

    瀏覽量

    166876
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    657

    瀏覽量

    32871

原文標(biāo)題:keil 自動(dòng)化編譯腳本

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    介紹10個(gè)Python自動(dòng)化腳本

    在這個(gè)自動(dòng)化時(shí)代,我們有很多重復(fù)無(wú)聊的工作要做。想想這些你不再需要一次又一次地做的無(wú)聊的事情,讓它自動(dòng)化,讓你的生活更輕松。那么在本文中,我將向您介紹 10 個(gè) Python 自動(dòng)化腳本
    發(fā)表于 10-17 09:27 ?942次閱讀

    10個(gè)Python腳本來(lái)自動(dòng)化你的日常任務(wù)

    今天浩道跟大家分享幾個(gè)關(guān)于python自動(dòng)化日常工作的實(shí)用案例腳本
    發(fā)表于 10-25 09:04 ?726次閱讀

    10個(gè)殺手級(jí)的Python自動(dòng)化腳本

    今天浩道跟大家分享10個(gè)日常工作中用到的python自動(dòng)化腳本。讓你感受一番python簡(jiǎn)單強(qiáng)大之處!
    發(fā)表于 11-28 11:07 ?684次閱讀

    FPGA設(shè)計(jì)之自動(dòng)化

    概述所謂自動(dòng)化設(shè)計(jì),就是在邏輯設(shè)計(jì)流程中,有些過(guò)程需要反復(fù)進(jìn)行,比如編譯、仿真和工程調(diào)試等等,可以通過(guò)一定的方式使得這些流程可以自動(dòng)運(yùn)行,而不必每次都需要人工手動(dòng)去啟動(dòng)。參考[3]介紹了如何
    發(fā)表于 12-16 15:09

    手機(jī)自動(dòng)化測(cè)試方法

    腳本生成后點(diǎn)擊調(diào)試按鈕 8.點(diǎn)擊左下角的啟動(dòng)鍵進(jìn)行腳本回放,不要控制鼠標(biāo),此時(shí)鼠標(biāo)會(huì)自動(dòng)點(diǎn)擊小蘿貝控機(jī)大師進(jìn)而控制手機(jī)進(jìn)行手機(jī)APP自動(dòng)化測(cè)試 `
    發(fā)表于 07-05 15:07

    手機(jī)自動(dòng)化測(cè)試

    之前發(fā)布過(guò)小蘿貝控機(jī)大師與按鍵精靈結(jié)合實(shí)現(xiàn)手機(jī)自動(dòng)化測(cè)試的功能,小蘿貝控機(jī)大師升級(jí)了實(shí)現(xiàn)了更多手機(jī)自動(dòng)化測(cè)試的功能,如下:l手機(jī)功能自動(dòng)化測(cè)試:錄制腳本,檢查點(diǎn)時(shí)點(diǎn)擊小蘿貝控機(jī)大師右邊
    發(fā)表于 07-08 13:36

    自動(dòng)化測(cè)試腳本開(kāi)發(fā)技巧

    開(kāi)發(fā)自動(dòng)化測(cè)試腳本的技巧和心得軟件測(cè)試 增量式調(diào)試腳本 錄制測(cè)試腳本,和其他的軟件開(kāi)發(fā)成果一樣,會(huì)變得非常大。為了可以成功的回放,需要調(diào)試幾百行的代碼,為了參數(shù)
    發(fā)表于 03-26 16:24 ?53次下載

    基于Web的自動(dòng)化測(cè)試框架的研究

    根據(jù)web系統(tǒng)測(cè)試的特點(diǎn),為提高軟件測(cè)試自動(dòng)化腳本的可重用性,結(jié)合在實(shí)際項(xiàng)目中軟件自動(dòng)化測(cè)試的實(shí)踐,提出基于Web的自動(dòng)化測(cè)試框架(ACRAT)。分析了軟件
    發(fā)表于 11-07 15:58 ?0次下載
    基于Web的<b class='flag-5'>自動(dòng)化</b>測(cè)試框架的研究

    Keil編譯常見(jiàn)問(wèn)題

    吳鑒鷹總結(jié)的Keil 編譯常見(jiàn)問(wèn)題,吳鑒鷹總結(jié)的Keil 編譯常見(jiàn)問(wèn)題。
    發(fā)表于 07-22 15:31 ?10次下載

    iOS自動(dòng)化打包腳本

    iOS自動(dòng)化打包腳本,地址:(https://github.com/hades0918/ipapy) iOS項(xiàng)目自動(dòng)打包腳本 1.腳本
    發(fā)表于 10-12 16:47 ?0次下載

    如何創(chuàng)建自動(dòng)化腳本

    在前面的 bash 初學(xué)者系列文章中,我們介紹了關(guān)于 bash 的一些基礎(chǔ)知識(shí),在了解了這些基礎(chǔ)知識(shí)之后,可以嘗試創(chuàng)建一些自動(dòng)化腳本,來(lái)完成一些相對(duì)枯燥重復(fù)的管理任務(wù)。
    的頭像 發(fā)表于 01-04 16:50 ?3467次閱讀
    如何創(chuàng)建<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>腳本</b>

    10個(gè)殺手級(jí)的Python自動(dòng)化腳本分享

    重復(fù)性任務(wù)總是耗時(shí)且無(wú)聊,想一想你想要一張一張地裁剪 100 張照片或 Fetch API、糾正拼寫(xiě)和語(yǔ)法等工作,所有這些任務(wù)都很耗時(shí),為什么不自動(dòng)化它們呢?在今天的文章中,我將與你分享 10 個(gè) Python [自動(dòng)化腳本]。
    的頭像 發(fā)表于 01-06 15:34 ?756次閱讀

    分享10個(gè)實(shí)用的Python自動(dòng)化腳本

    重復(fù)性任務(wù)總是耗時(shí)且無(wú)聊,想一想你想要一張一張地裁剪 100 張照片或 Fetch API、糾正拼寫(xiě)和語(yǔ)法等工作,所有這些任務(wù)都很耗時(shí),為什么不自動(dòng)化它們呢?在今天的文章中,我將與你分享 10 個(gè) Python 自動(dòng)化腳本。
    的頭像 發(fā)表于 01-21 15:58 ?1337次閱讀

    使用Python腳本實(shí)現(xiàn)自動(dòng)化運(yùn)維任務(wù)

    許多運(yùn)維工程師會(huì)使用 Python 腳本來(lái)自動(dòng)化運(yùn)維任務(wù)。Python 是一種流行的編程語(yǔ)言,具有豐富的第三方庫(kù)和強(qiáng)大的自動(dòng)化能力,適用于許多不同的領(lǐng)域。
    的頭像 發(fā)表于 04-08 10:36 ?1690次閱讀

    使用OpenSCAD腳本自動(dòng)化電容式觸摸傳感器PCB設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《使用OpenSCAD腳本自動(dòng)化電容式觸摸傳感器PCB設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:39 ?0次下載
    使用OpenSCAD<b class='flag-5'>腳本</b><b class='flag-5'>自動(dòng)化</b>電容式觸摸傳感器PCB設(shè)計(jì)