如何在Keil(MDK)中建立一個(gè)項(xiàng)目
嵌入式產(chǎn)品開(kāi)發(fā)的學(xué)習(xí)離不開(kāi)方便好用的開(kāi)發(fā)工具,而Keil(MDK)則是其中最為流行的開(kāi)發(fā)軟件之一。初學(xué)者在學(xué)習(xí)嵌入式之初就需要知道如何建立屬于自己的項(xiàng)目。這里以u(píng)Vision4 V4.73版本為例,是
嵌入式產(chǎn)品開(kāi)發(fā)的學(xué)習(xí)離不開(kāi)方便好用的開(kāi)發(fā)工具,而Keil(MDK)則是其中最為流行的開(kāi)發(fā)軟件之一。初學(xué)者在學(xué)習(xí)嵌入式之初就需要知道如何建立屬于自己的項(xiàng)目。這里以u(píng)Vision4 V4.73版本為例,是一個(gè)打開(kāi)Keil后的一個(gè)初始界面。
建立工程
建立工程是學(xué)習(xí)的第一步,選擇菜單欄的Project,從其下拉菜單中選擇New uVision project,將會(huì)彈出一個(gè)對(duì)話框,請(qǐng)選擇你需要存儲(chǔ)項(xiàng)目的位置,然后鍵入項(xiàng)目的名稱,然后保存。
選擇目標(biāo)設(shè)備
保存后彈出一個(gè)新窗口,請(qǐng)選擇目標(biāo)設(shè)備,這里指的是請(qǐng)選擇你要開(kāi)發(fā)學(xué)習(xí)的MCU,相信下圖中左側(cè)一列的很多品牌名字都為大家所熟知,但是一定記得選擇和你開(kāi)發(fā)板所對(duì)應(yīng)的那顆芯片型號(hào)。譬如這里選擇STM32F103C4。右側(cè)將會(huì)出現(xiàn)該芯片的一些描述。完成后點(diǎn)擊OK。
設(shè)置匯編文件
點(diǎn)擊OK后悔彈出一個(gè)提示,提示中的文件是一個(gè)匯編格式的文件,作用就是分配堆棧的大小以及中斷向量表的入口地址,程序啟動(dòng)后將從此文件運(yùn)行然后跳轉(zhuǎn)到main()函數(shù)入口??梢赃x擇是,也可以選擇使用自己編寫(xiě)的文件。圖中畫(huà)圈的部分即為程序初始執(zhí)行的代碼。
管理項(xiàng)目架構(gòu)
接下來(lái)需要為自己建立一個(gè)更為方便管理項(xiàng)目架構(gòu),看到左側(cè)Project欄目,右擊Target1選擇Option for target...彈出一個(gè)對(duì)話框。
輸出設(shè)置
選擇Output選項(xiàng),點(diǎn)擊Select Folder for Objects,在彈出的對(duì)話框中創(chuàng)建文件夾output,點(diǎn)擊打開(kāi),然后創(chuàng)建文件夾obj,點(diǎn)擊打開(kāi),然后選擇OK,這里將編譯生成的文件分類,所有obj類型的文件存入output文件夾下obj文件夾。然后選擇Listing選項(xiàng),同樣講lst文件存入該文件夾。
項(xiàng)目管理
選擇OK結(jié)束本次設(shè)置,繼續(xù)右擊Target1,在彈出的下拉菜單中選擇Manage Project Items,從彈出對(duì)話框中,左側(cè)第一個(gè)編輯框是項(xiàng)目名稱,第二個(gè)編輯框是該項(xiàng)目下的文件夾組成,通常根據(jù)功能建議將一個(gè)項(xiàng)目分成幾個(gè)部分,最右邊的編輯框則顯示對(duì)應(yīng)文件夾中的文件。同時(shí)也請(qǐng)?jiān)诖疟P的項(xiàng)目中創(chuàng)建對(duì)應(yīng)的文件夾。具體可按照自己的喜愛(ài)劃分,目的只是讓項(xiàng)目看起來(lái)更加結(jié)構(gòu)清晰方便理解。創(chuàng)建完畢請(qǐng)點(diǎn)擊OK。
仿真調(diào)試設(shè)置
至此一個(gè)清晰完整的項(xiàng)目就建立完畢。
調(diào)試設(shè)置
接下來(lái)還需要對(duì)仿真調(diào)試部分進(jìn)行設(shè)置,你才能和開(kāi)發(fā)板一起進(jìn)行聯(lián)動(dòng),請(qǐng)打開(kāi)Options for Target...窗口,選擇debug選項(xiàng),在右側(cè)的settings一欄選擇ULINK2/ME Cortex Debuger,這個(gè)完全取決于你自己所用的仿真器。然后點(diǎn)擊Settings,在彈出的新對(duì)話框中,如果你已經(jīng)正常連接仿真器,請(qǐng)?jiān)趐ort端口中選擇SW調(diào)試接口,當(dāng)然如果你的事JTAG就另當(dāng)別論。選擇后如果你的仿真器驅(qū)動(dòng)安裝完好則會(huì)在對(duì)應(yīng)編輯框中顯示其已經(jīng)被選中。
下載設(shè)置
接下來(lái)請(qǐng)選擇Flash download一欄,默認(rèn)Erase Sectors可加快下載速度。右側(cè)RAM for Algorithm可選擇默認(rèn),不過(guò)請(qǐng)注意你所選擇芯片對(duì)應(yīng)的RAM地址和大小是否不正確。如果選擇STM32系列的芯片,在Programming Algorithm一欄中可選擇對(duì)應(yīng)的下載算法,匹配你所選擇的Flash大小即可。也可選擇你自己編寫(xiě)的下載算法。選擇添加后,點(diǎn)擊OK。
到此所有的設(shè)置完畢,現(xiàn)在如果你已經(jīng)連接好仿真器和你的開(kāi)發(fā)板,并打開(kāi)了電源,那么你就可以開(kāi)始你的第一次嵌入式開(kāi)發(fā)之旅了。祝你旅途愉快,如果這篇文章對(duì)你有幫助,請(qǐng)點(diǎn)贊,謝謝。