本篇先簡單介紹MDK的安裝流程,然后重點說明如何把敏矽微電的Cortex-M0的PACK包添加到mdk中,這樣才能順利的在MDK環境下開發敏矽微電子Cortex-M0新片。最后用了很大篇幅介紹如何建立工程,工程中各種文件的添加等等。
1、敏矽微電子Cortex-M0的開發環境
敏矽微電子Cortex-M0是基于ARM內核的,所以基于ARM的開發環境都可以用來開發敏矽微電子Cortex-M0的芯片。最常見的兩種ARM開發平臺是MDK和IAR。我們今天著重介紹MDK環境下如何建立基于敏矽微電子Cortex-M0芯片的項目,以及如何在MDK環境下調試敏矽微電子Cortex-M0芯片。
需要說明的是:MDK軟件是需要注冊的,強烈建議大家使用正版軟件。不過在剛開始學習以及資金有限的情況下,可以使用MDK的評估版本,評估版本的程序容量是32K版本。這個程序容量對于初學來說,是足夠用的。
閑話少說,馬上開始我們今天的學習之旅。
2、MDK安裝
1、首先打開Keil安裝包(資料鏈接中附有MDK 5.28版本安裝包),打開后如圖1.1所示。
圖1
2、隨后點擊“Next”,進入后續的安裝流程,勾選紅圈選項后,點擊“Next”下一步。隨后會提示MDK的安裝路徑,強烈建議采用默認路徑。如果要自定義安裝路徑,請保證自定義的安裝路徑中不要出現任何中文名字!點擊“Next”下一步后,輸入下姓名、公司、郵箱等信息,隨意填寫下即可,繼續點擊“Next”便開始正式安裝。期間軟件會自動安裝仿真器驅動,耐心等待即可。
3、等到最后出現下面的界面,軟件便已安裝成功。
3、MDK注冊
1、啟動Keil 5,在File選項中選擇License Management子選項。
2、按照提示進行注冊即可,請按照官方正版途徑注冊。
3、如果點擊Add LIC提示以下的錯誤信息,看紅色下劃線的信息,得知是因為沒有在管理員模式下操作,權限不足導致的。這個是Windows管理員模式產生的問題。如果你的注冊過程沒有此錯誤提示,可以跳過第7步。解決的辦法也很簡單,按照步驟4操作即可。
4、以管理員模式運行Keil 5,鼠標右鍵Keil 圖標,點擊“以管理員身份運行”即可。隨后重新按照步驟5操作即可。管理員運行方法如圖所示:
5、軟件注冊完成后,出現“LIC Added Sucessfully”的提示,說明注冊成功。
4、安裝ME32F030PACK包
1、KEIL安裝完成后,就需要安裝芯片支持的PACK包,來讓KEIL支持我們的芯片,這里建議安裝資料提供的Keil 5版本,因為其對應的PACK包是傻瓜式一鍵安裝,操作十分的方便,找到我們的PACK包雙擊安裝即可。
2、PACK包安裝完成后,我們可以先確認下,看下KEIL是否已經識別并支持我們的芯片,方法如下,首先創建個新工程,選擇project->New uVision Project來建立工程。
3、新建工程時會提示選擇芯片類型,從圖中看出KEIL已經支持我們的Mesilicon系列芯片。
5、新建工程
1、選擇project->New uVision Project來建立工程。
2、選擇芯片類型,選擇開發板的芯片為Mesilicon->ME32F030 Series->ME32F030C8x6,選擇好后,點擊“OK”。
3、出現下面的界面,這個是根據需求自己添加開發組件,不多介紹,直接點取消跳過。
4、接下來將資料中的Lib2.3 for keil5x例程解壓縮出來,其中公用的.c和.h等文件都在common文件夾內,隨后開始向工程中添加.c和.h文件。點擊如圖所示的快捷按鈕。
5、彈出如下界面,在Groups右邊有4個按鈕,依次為“新建”、“刪除”、“上移”、“下移”功能,先選擇新建comm、app兩個組,你也可以嘗試下刪除組,把初始自帶的Source Group通過紅叉按鈕刪除掉。
向每個Group中添加.程序c文件。那就先舉個簡單的例子作為開始,首先我們選中需要添加程序的組,比如我們向app組里添加需要的main.c文件,選中app組后,點擊右側的Files框體下的Add Files,選中要添加的main.c文件。點擊Add便完成添加。
添加成功后的效果如下圖所示,右側的Files中已包含main.c文件,那么想要刪除的話,可以在選中文件后,通過點擊上方的紅叉進行刪除。
依次類推,我們接下來要向comm中添加.c文件。
①、添加core_cm0.c,這個就是我們的單片機的M0內核文件,它在
Lib2.3 for keil 5->common->CoreSupport文件夾中。
②、添加system_CMSDK.c,它在Lib2.3 for keil 5->common->DeviceSupport->arm->cmsdk文件夾中。
③、添加startup_CMSDK_CM0.s文件,這個是啟動程序文件,它是由匯編語言寫成的。是以.s為結尾的文件,所以在添加它的時候需要注意將文件類型選擇為All Files才能看見它。
Lib2.3 for keil 5->common->DeviceSupport->arm->cmsdk->Startup->arm文件夾中。
④、前面添加都屬于單片機的系統文件,接下來就要開始添加我們自己的.c文件了,這個都在Lib2.3 for keil 5->common->Drivers->Source文件夾內。
⑤、第一次新建工程時可以參照現有的例程,比如以Demo-Touch Me按鍵觸摸試驗為模板,嘗試建立一下工程。添加自己所需要的文件,如圖所示:
6、添加完成后,關閉Manage Project Items功能欄。返回KEIL主界面后,在左側的Project工程欄里,可以看到之前添加的所有程序文件。
7、接下來我們是不是可以編譯程序了呢?那不妨先試一下。編譯后發現提示很多此類的報錯,提示 cannot open source input file "gpio.h": No such file or directory,這是因為我們只添加了.c文件,而需要的頭文件路徑還沒有指定位置。那么接下來就指定頭文件路徑。
點擊紅圈標注的Options快捷按鈕,也可以通過快捷鍵ALT + F7來打開。
打開后選中C/C++選項卡,在下面可以看到Include Paths欄,這個就是需要指定的頭文件路徑,點擊右邊的 。。。按鈕來進行添加。
點擊。。。按鈕后,通過彈出的對話框來添加頭文件路徑。同上文講到的一樣,紅圈的四個按鈕依次為“新建”、“刪除”、“上移”、“下移”功能。
那就新建路徑吧,點擊新建后會生成一個新的路徑框,點擊紅圈標識的。。。來添加。
以core_cm0.c文件對應的頭文件core_cm0.h為例子,一路進到上文中添加core_cm0.c的文件夾中,進入如圖所示的路徑后,點擊選擇文件夾。
添加完成后,剛才新添加的路徑便顯示出來了。
依次類推,再添加以下3個路徑。
Lib2.3 for keil 5->common->DeviceSupport->arm->cmsdk
Lib2.3 for keil 5->common->Drivers->Include
Lib2.3 for keil 5->Demo-Touch Me->myapp->include
這里添加的時候要注意,是要選擇.h文件所在的那個文件夾,錯選成它的上級或下級文件夾,是無法找到需要的頭文件的!添加完成后的效果如下。
這時候我們再去編譯一下試試。沒有報錯也沒有警告,說明項目工程順利建立。
6、下載與調試
1、程序編譯沒問題后,接下來就可以下載程序并仿真測試了。在開始前先插上仿真器并連接開發板,打開Options for Target選項卡,選中Debug。這個時候選擇仿真器類型(根據實際進行選擇,建議買一個U-LINK2仿真器),勾選上Run to main,這樣程序下載后直接運行到main函數,否則會先運行startup_CMSDK_M0.s中Reset_Handler程序。雖然這段程序最后也會跳轉到我們的main函數,但我們沒有必要每次去仿真它。點擊Settings查看我們的仿真器配置情況。
點擊Settings后,在Debug子選項中看到下面的信息。則說明仿真器識別正常。
再點擊查看下Flash Download的選項。這時候看到ME20F030單片機的FLash的下載地址和RAM空間地址都已經明確了,這就是為什么前面強烈推薦安裝KEIL 5版本,隨后打上PACK包,很多設置項都是PACK包整合配置好的,我們直接用就可以了。
2、仿真選項設置好之后,開始下載程序。點擊工具欄上的
圖標來下載并仿真程序。
圖標所示的功能也可以下載程序,但是它是不帶仿真功能的,這點需要注意!下載成功后會多出下面的工具條。
下面我們分別來介紹一下這些仿真調試按鈕的功能:
1:復位,點擊后程序會從頭開始重新運行。
2:全速運行,點擊后程序便開始全速運行,運行到斷點處會停止,或者使用停著功能。
3:停止,當程序在運行狀態下,使用此功能,程序便會停止運行。
4:執行進去,本質是單步運行,如果下一步是要執行的是個函數,那么就行進入到函數 里面,進行單步仿真。
5:段執行,也是單步運行,但不同的是,如果下一步是要執行的是個函數,那么會直接運行整個函數,并不會進入函數內部運行,它是直接以一整段代碼為單位進行執行的。
6:執行跳去,當不需要再繼續在某個函數里繼續單步仿真時,執行此功能,就會直接執行完函數內剩余的代碼,隨后跳出該函數后會暫停,等待下一步操作。
7:執行到光標處,使用此功能前,先確定想運行到地方,鼠標單擊運行的那一行,此時光標便會在這一行顯示,這時候再點擊此按鈕,程序會全速運行,直到在光標處停止。
8:全速運行,此功能是讓程序全速運行,除非認為暫停或者遇到斷點,否則程序會一直運行。
來源:敏矽MCU
-
mcu
+關注
關注
146文章
17148瀏覽量
351199 -
Cortex-M0
+關注
關注
4文章
124瀏覽量
38693 -
MDK
+關注
關注
4文章
209瀏覽量
32066 -
開發環境
+關注
關注
1文章
225瀏覽量
16617
發布評論請先 登錄
相關推薦
評論