【Keil】構建MDK軟件包
1 概覽
軟件包與軟件組件
最初,創(chuàng)建一個包含簡單 PDSC 文件的軟件包,它只包含一個軟件組件。該軟件包隨后被擴展,以顯示用于描述軟件組件的各種特性。
生成輸入:創(chuàng)建將隨包一起交付的文件。
組織文件:使用目錄來分隔包的內容。
創(chuàng)建 PDSC 文件:可以使用任何文本編輯器創(chuàng)建基于 XML 的 PDSC 文件。根據模式文件驗證 XML 代碼的編輯器有助于在 Pack 開發(fā)階段的早期發(fā)現(xiàn)bug。
創(chuàng)建 Pack :任何支持 ZIP 格式的壓縮工具都可以用來創(chuàng)建 Pack 文件。packChk有助于驗證Pack的內容。
2 源代碼文件夾
在PC上創(chuàng)建一個工作目錄,例如 D:\Pack_with_Software_Components\LongYorkePack。
轉到 ARM::CMSIS Pack 安裝中的
C:\keil_v5\ARM\CMSIS.7.0\CMSIS\Pack\Tutorials 目錄。有關 Pack 安裝目錄結構的更多信息,請參考您的開發(fā)工具文檔。在標準的 μVision 安裝中,你會發(fā)現(xiàn)它在 C: keil_v5\ARM\Pack\ARM\CMSIS\version下面。
打開 Pack_with_Software_Components.zip 文件。
將 ZIP 文件的 01_Create_PDSC 目錄的內容復制到工作目錄中。
確保文件/目錄不受寫保護(刪除只讀標志)。
從目錄 \CMSIS\Utilities 拷貝
PACK.xsd
PackChk.exe
到 ARM::CMSIS 包文件的工作目錄 D:\Pack_with_Software_Components\LongYorkePack
假設我們寫了一份超級厲害的點燈代碼(狗頭),然后想與別人分享此源代碼,并且添加簡單的版本控制管理這部分代碼,故而可以制作一個軟件包。
|-- LongYorkePack |-- gen_pack.bat |-- LongYorke.Leds.pdsc |-- PACK.xsd |-- package-lock.json |-- PackChk.exe |-- snippets.xml |-- Files |-- Docs | |-- license.txt | |-- README.md |-- MySWComp |-- header_led.h |-- header_mylib.h |-- led.c |-- mylib.c |-- config |-- config_mylib.h |-- Templates |-- main.c
Docs
MySWComp
Templates
gen_pack.bat
我們要了解此腳本文件的一些內容
它將從名為 Files 的目錄中查找文件
因此如果我們的腳本在根目錄,則需要指明子目錄讓腳步尋找源代碼
我們需要確定壓縮軟件在哪里
如果不是這個位置需要編輯為我們的壓縮軟件的真實位置
3 創(chuàng)建pdsc ( xml ) 文件
這是一個包裝說明文件
進行組件描述,這些文件將會通過以下結構出現(xiàn)在RTE的選擇菜單中
attr="config"屬性會使得該文件可以進行修改(如果沒有該屬性,則工程中加入軟件包時本文件無法修改,用于保護一些特殊文件)
attr="template"屬性描述了main.c作為模板文件
version="1.0.0"提示了當前包版本
select=" “作為文件描述
4 命令行中使用 .bat 文件打包
取消只讀
windows 系統(tǒng)文件: .bat 為多條命令方式
cmd 中輸入 gen_pack.bat
壓縮成功
會出現(xiàn) .pack 文件
5 通過Pack Installed導入 Keil 工程
進入 Keil 的包安裝
File==>Import
選擇安裝包
我們的許可協(xié)議將會出現(xiàn),選擇接收協(xié)議
軟件包安裝成功
6 創(chuàng)建一個新的項目
選好芯片
Manage Run-Time Environment
類→組→子集
回看3 創(chuàng)建 pdsc ( xml ) 文件內容進行對應
左側 Project 中的 led.c mylib.c 文件有把小鑰匙,代表無法修改
而 config_mylib.h 由于在 pdsc 文件中添加了 attr=“config” 屬性,可以進行修改
使用模板
7 添加提醒
由于例子中引腳輸出高低電平函數(shù)使用的是 HAL 庫的管腳操作函數(shù),如果不添加F4相關庫軟件包則編譯失敗
所以我們可以設置在 Manage Run-Time Environment 中的 Validation Output 中提醒并通過 Reasolve 按鈕自動補加相關軟件包
回到 pdsc 文件
修改 conditions 并給 component 添加 condition 屬性指明 id
修改版本號
調用 gen_pack.bat 生成新版本
點擊 Resolve 則 Keil 會自動在RTE添加相關軟件包
軟件包添加成功
彈性文件服務 硬件開發(fā)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。