一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

敏矽微電子Cortex-M0學(xué)習(xí)筆記02——Cortex-M0開發(fā)環(huán)境的建立及調(diào)試

jf_pJlTbmA9 ? 來源:敏矽MCU ? 作者:敏矽MCU ? 2023-09-26 17:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本篇先簡單介紹MDK的安裝流程,然后重點(diǎn)說明如何把敏矽微電的Cortex-M0的PACK包添加到mdk中,這樣才能順利的在MDK環(huán)境下開發(fā)敏矽微電子Cortex-M0新片。最后用了很大篇幅介紹如何建立工程,工程中各種文件的添加等等。

1、敏矽微電子Cortex-M0的開發(fā)環(huán)境

敏矽微電子Cortex-M0是基于ARM內(nèi)核的,所以基于ARM的開發(fā)環(huán)境都可以用來開發(fā)敏矽微電子Cortex-M0的芯片。最常見的兩種ARM開發(fā)平臺(tái)是MDK和IAR。我們今天著重介紹MDK環(huán)境下如何建立基于敏矽微電子Cortex-M0芯片的項(xiàng)目,以及如何在MDK環(huán)境下調(diào)試敏矽微電子Cortex-M0芯片。

需要說明的是:MDK軟件是需要注冊(cè)的,強(qiáng)烈建議大家使用正版軟件。不過在剛開始學(xué)習(xí)以及資金有限的情況下,可以使用MDK的評(píng)估版本,評(píng)估版本的程序容量是32K版本。這個(gè)程序容量對(duì)于初學(xué)來說,是足夠用的。

閑話少說,馬上開始我們今天的學(xué)習(xí)之旅。

2、MDK安裝

1、首先打開Keil安裝包(資料鏈接中附有MDK 5.28版本安裝包),打開后如圖1.1所示。

1669253924398144.png

圖1

2、隨后點(diǎn)擊“Next”,進(jìn)入后續(xù)的安裝流程,勾選紅圈選項(xiàng)后,點(diǎn)擊“Next”下一步。隨后會(huì)提示MDK的安裝路徑,強(qiáng)烈建議采用默認(rèn)路徑。如果要自定義安裝路徑,請(qǐng)保證自定義的安裝路徑中不要出現(xiàn)任何中文名字!點(diǎn)擊“Next”下一步后,輸入下姓名、公司、郵箱等信息,隨意填寫下即可,繼續(xù)點(diǎn)擊“Next”便開始正式安裝。期間軟件會(huì)自動(dòng)安裝仿真器驅(qū)動(dòng),耐心等待即可。

1669253935650545.png

3、等到最后出現(xiàn)下面的界面,軟件便已安裝成功。

1669253945306060.png

3、MDK注冊(cè)

1、啟動(dòng)Keil 5,在File選項(xiàng)中選擇License Management子選項(xiàng)。

1669253952789926.png

2、按照提示進(jìn)行注冊(cè)即可,請(qǐng)按照官方正版途徑注冊(cè)。

3、如果點(diǎn)擊Add LIC提示以下的錯(cuò)誤信息,看紅色下劃線的信息,得知是因?yàn)闆]有在管理員模式下操作,權(quán)限不足導(dǎo)致的。這個(gè)是Windows管理員模式產(chǎn)生的問題。如果你的注冊(cè)過程沒有此錯(cuò)誤提示,可以跳過第7步。解決的辦法也很簡單,按照步驟4操作即可。

1669253979624185.png

4、以管理員模式運(yùn)行Keil 5,鼠標(biāo)右鍵Keil 圖標(biāo),點(diǎn)擊“以管理員身份運(yùn)行”即可。隨后重新按照步驟5操作即可。管理員運(yùn)行方法如圖所示:

1669253988696521.png

5、軟件注冊(cè)完成后,出現(xiàn)“LIC Added Sucessfully”的提示,說明注冊(cè)成功。

4、安裝ME32F030PACK包

1、KEIL安裝完成后,就需要安裝芯片支持的PACK包,來讓KEIL支持我們的芯片,這里建議安裝資料提供的Keil 5版本,因?yàn)槠鋵?duì)應(yīng)的PACK包是傻瓜式一鍵安裝,操作十分的方便,找到我們的PACK包雙擊安裝即可。

1669254008421597.png

2、PACK包安裝完成后,我們可以先確認(rèn)下,看下KEIL是否已經(jīng)識(shí)別并支持我們的芯片,方法如下,首先創(chuàng)建個(gè)新工程,選擇project->New uVision Project來建立工程。

1669254013489486.png

3、新建工程時(shí)會(huì)提示選擇芯片類型,從圖中看出KEIL已經(jīng)支持我們的Mesilicon系列芯片。

1669254022943872.png

5、新建工程

1、選擇project->New uVision Project來建立工程。

1669254033373316.png

2、選擇芯片類型,選擇開發(fā)板的芯片為Mesilicon->ME32F030 Series->ME32F030C8x6,選擇好后,點(diǎn)擊“OK”。

1669254039647480.png

3、出現(xiàn)下面的界面,這個(gè)是根據(jù)需求自己添加開發(fā)組件,不多介紹,直接點(diǎn)取消跳過。

1669254046519577.png

4、接下來將資料中的Lib2.3 for keil5x例程解壓縮出來,其中公用的.c和.h等文件都在common文件夾內(nèi),隨后開始向工程中添加.c和.h文件。點(diǎn)擊如圖所示的快捷按鈕。

1669254053953334.png

5、彈出如下界面,在Groups右邊有4個(gè)按鈕,依次為“新建”、“刪除”、“上移”、“下移”功能,先選擇新建comm、app兩個(gè)組,你也可以嘗試下刪除組,把初始自帶的Source Group通過紅叉按鈕刪除掉。

1669254060676537.png

向每個(gè)Group中添加.程序c文件。那就先舉個(gè)簡單的例子作為開始,首先我們選中需要添加程序的組,比如我們向app組里添加需要的main.c文件,選中app組后,點(diǎn)擊右側(cè)的Files框體下的Add Files,選中要添加的main.c文件。點(diǎn)擊Add便完成添加。

1669254072261476.png

添加成功后的效果如下圖所示,右側(cè)的Files中已包含main.c文件,那么想要?jiǎng)h除的話,可以在選中文件后,通過點(diǎn)擊上方的紅叉進(jìn)行刪除。

1669254084404982.png

依次類推,我們接下來要向comm中添加.c文件。

①、添加core_cm0.c,這個(gè)就是我們的單片機(jī)的M0內(nèi)核文件,它在

Lib2.3 for keil 5->common->CoreSupport文件夾中。

1669254094299756.png

②、添加system_CMSDK.c,它在Lib2.3 for keil 5->common->DeviceSupport->arm->cmsdk文件夾中。

1669254101216966.png

③、添加startup_CMSDK_CM0.s文件,這個(gè)是啟動(dòng)程序文件,它是由匯編語言寫成的。是以.s為結(jié)尾的文件,所以在添加它的時(shí)候需要注意將文件類型選擇為All Files才能看見它。

Lib2.3 for keil 5->common->DeviceSupport->arm->cmsdk->Startup->arm文件夾中。

1669254165689848.png

1669254155108516.png

④、前面添加都屬于單片機(jī)的系統(tǒng)文件,接下來就要開始添加我們自己的.c文件了,這個(gè)都在Lib2.3 for keil 5->common->Drivers->Source文件夾內(nèi)。

1669254179634176.png

⑤、第一次新建工程時(shí)可以參照現(xiàn)有的例程,比如以Demo-Touch Me按鍵觸摸試驗(yàn)為模板,嘗試建立一下工程。添加自己所需要的文件,如圖所示:

1669254187154942.png

6、添加完成后,關(guān)閉Manage Project Items功能欄。返回KEIL主界面后,在左側(cè)的Project工程欄里,可以看到之前添加的所有程序文件。

1669254195383181.png

7、接下來我們是不是可以編譯程序了呢?那不妨先試一下。編譯后發(fā)現(xiàn)提示很多此類的報(bào)錯(cuò),提示 cannot open source input file "gpio.h": No such file or directory,這是因?yàn)槲覀冎惶砑恿?c文件,而需要的頭文件路徑還沒有指定位置。那么接下來就指定頭文件路徑。

1669254208859447.png

點(diǎn)擊紅圈標(biāo)注的Options快捷按鈕,也可以通過快捷鍵ALT + F7來打開。

1669254216328060.png

打開后選中C/C++選項(xiàng)卡,在下面可以看到Include Paths欄,這個(gè)就是需要指定的頭文件路徑,點(diǎn)擊右邊的 。。。按鈕來進(jìn)行添加。

1669254223240845.png

點(diǎn)擊。。。按鈕后,通過彈出的對(duì)話框來添加頭文件路徑。同上文講到的一樣,紅圈的四個(gè)按鈕依次為“新建”、“刪除”、“上移”、“下移”功能。

1669254236273609.png

那就新建路徑吧,點(diǎn)擊新建后會(huì)生成一個(gè)新的路徑框,點(diǎn)擊紅圈標(biāo)識(shí)的。。。來添加。

1669254244258072.png

以core_cm0.c文件對(duì)應(yīng)的頭文件core_cm0.h為例子,一路進(jìn)到上文中添加core_cm0.c的文件夾中,進(jìn)入如圖所示的路徑后,點(diǎn)擊選擇文件夾。

1669254251472083.png

添加完成后,剛才新添加的路徑便顯示出來了。

1669254272186431.png

依次類推,再添加以下3個(gè)路徑。

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

這里添加的時(shí)候要注意,是要選擇.h文件所在的那個(gè)文件夾,錯(cuò)選成它的上級(jí)或下級(jí)文件夾,是無法找到需要的頭文件的!添加完成后的效果如下。

1669254284759275.png

這時(shí)候我們?cè)偃ゾ幾g一下試試。沒有報(bào)錯(cuò)也沒有警告,說明項(xiàng)目工程順利建立。

1669254295156908.png

6、下載與調(diào)試

1、程序編譯沒問題后,接下來就可以下載程序并仿真測試了。在開始前先插上仿真器并連接開發(fā)板,打開Options for Target選項(xiàng)卡,選中Debug。這個(gè)時(shí)候選擇仿真器類型(根據(jù)實(shí)際進(jìn)行選擇,建議買一個(gè)U-LINK2仿真器),勾選上Run to main,這樣程序下載后直接運(yùn)行到main函數(shù),否則會(huì)先運(yùn)行startup_CMSDK_M0.s中Reset_Handler程序。雖然這段程序最后也會(huì)跳轉(zhuǎn)到我們的main函數(shù),但我們沒有必要每次去仿真它。點(diǎn)擊Settings查看我們的仿真器配置情況。

1669254306557062.png

點(diǎn)擊Settings后,在Debug子選項(xiàng)中看到下面的信息。則說明仿真器識(shí)別正常。

1669254314771767.png

再點(diǎn)擊查看下Flash Download的選項(xiàng)。這時(shí)候看到ME20F030單片機(jī)的FLash的下載地址和RAM空間地址都已經(jīng)明確了,這就是為什么前面強(qiáng)烈推薦安裝KEIL 5版本,隨后打上PACK包,很多設(shè)置項(xiàng)都是PACK包整合配置好的,我們直接用就可以了。

1669254322790751.png

2、仿真選項(xiàng)設(shè)置好之后,開始下載程序。點(diǎn)擊工具欄上的

1669254331991203.png

圖標(biāo)來下載并仿真程序。

1669254336648346.png

圖標(biāo)所示的功能也可以下載程序,但是它是不帶仿真功能的,這點(diǎn)需要注意!下載成功后會(huì)多出下面的工具條。

1669254341198330.png

下面我們分別來介紹一下這些仿真調(diào)試按鈕的功能:

1:復(fù)位,點(diǎn)擊后程序會(huì)從頭開始重新運(yùn)行。

2:全速運(yùn)行,點(diǎn)擊后程序便開始全速運(yùn)行,運(yùn)行到斷點(diǎn)處會(huì)停止,或者使用停著功能。

3:停止,當(dāng)程序在運(yùn)行狀態(tài)下,使用此功能,程序便會(huì)停止運(yùn)行。

4:執(zhí)行進(jìn)去,本質(zhì)是單步運(yùn)行,如果下一步是要執(zhí)行的是個(gè)函數(shù),那么就行進(jìn)入到函數(shù) 里面,進(jìn)行單步仿真。

5:段執(zhí)行,也是單步運(yùn)行,但不同的是,如果下一步是要執(zhí)行的是個(gè)函數(shù),那么會(huì)直接運(yùn)行整個(gè)函數(shù),并不會(huì)進(jìn)入函數(shù)內(nèi)部運(yùn)行,它是直接以一整段代碼為單位進(jìn)行執(zhí)行的。

6:執(zhí)行跳去,當(dāng)不需要再繼續(xù)在某個(gè)函數(shù)里繼續(xù)單步仿真時(shí),執(zhí)行此功能,就會(huì)直接執(zhí)行完函數(shù)內(nèi)剩余的代碼,隨后跳出該函數(shù)后會(huì)暫停,等待下一步操作。

7:執(zhí)行到光標(biāo)處,使用此功能前,先確定想運(yùn)行到地方,鼠標(biāo)單擊運(yùn)行的那一行,此時(shí)光標(biāo)便會(huì)在這一行顯示,這時(shí)候再點(diǎn)擊此按鈕,程序會(huì)全速運(yùn)行,直到在光標(biāo)處停止。

8:全速運(yùn)行,此功能是讓程序全速運(yùn)行,除非認(rèn)為暫?;蛘哂龅綌帱c(diǎn),否則程序會(huì)一直運(yùn)行。

來源:敏矽MCU

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367042
  • Cortex-M0
    +關(guān)注

    關(guān)注

    4

    文章

    126

    瀏覽量

    39522
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    211

    瀏覽量

    32697
  • 開發(fā)環(huán)境
    +關(guān)注

    關(guān)注

    1

    文章

    242

    瀏覽量

    17124
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    深入淺出Cortex-M0學(xué)習(xí)資料

    深入淺出Cortex-M0學(xué)習(xí)資料
    發(fā)表于 06-18 10:50 ?0次下載
    深入淺出<b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b>資料

    Cortex-M0的指令集

    Cortex-M0的指令集,有需要的下來看看。
    發(fā)表于 01-13 17:17 ?29次下載

    Cortex-M0的完整指令集

    Cortex-M0的完整指令集
    發(fā)表于 10-13 15:00 ?64次下載
    <b class='flag-5'>Cortex-M0</b>的完整指令集

    cortex-m0加密

    cortex-m0加密
    發(fā)表于 10-13 15:08 ?5次下載
    <b class='flag-5'>cortex-m0</b>加密

    基于ARM Cortex-M0核的MCU設(shè)計(jì)及應(yīng)用

    知網(wǎng)鏈接:基于ARM Cortex-M0核的MCU設(shè)計(jì)及應(yīng)用
    發(fā)表于 11-05 15:35 ?18次下載
    基于ARM <b class='flag-5'>Cortex-M0</b>核的MCU設(shè)計(jì)及應(yīng)用

    全球最強(qiáng)性能Cortex-M0 MCU誕生!

    Arm傳統(tǒng)的、為MCU打造的Cortex-M系列CPU主要有:Cortex-M0, Cortex-M3, Cortex-M4。其中Cortex-M0
    的頭像 發(fā)表于 12-20 11:15 ?1592次閱讀

    IDT ARM Cortex-M0 用戶指南

    IDT ARM Cortex-M0 用戶指南
    發(fā)表于 03-23 20:12 ?3次下載
    IDT ARM <b class='flag-5'>Cortex-M0</b> 用戶指南

    IDT ARM Cortex-M0 用戶指南

    IDT ARM Cortex-M0 用戶指南
    發(fā)表于 07-10 20:05 ?1次下載
    IDT ARM <b class='flag-5'>Cortex-M0</b> 用戶指南

    微電子Cortex-M0學(xué)習(xí)筆記08——基本定時(shí)器詳解

    微電子Cortex-M0學(xué)習(xí)筆記08——基本定時(shí)器詳解
    的頭像 發(fā)表于 09-26 17:13 ?1343次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>08——基本定時(shí)器詳解

    微電子Cortex-M0學(xué)習(xí)筆記07——串口通信詳解

    微電子Cortex-M0學(xué)習(xí)筆記07——串口通信詳解
    的頭像 發(fā)表于 09-26 17:11 ?1514次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>07——串口通信詳解

    微電子Cortex-M0學(xué)習(xí)筆記06——段式LCD液晶實(shí)例

    微電子Cortex-M0學(xué)習(xí)筆記06——段式LCD液晶實(shí)例
    的頭像 發(fā)表于 09-26 17:10 ?1089次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>06——段式LCD液晶實(shí)例

    微電子Cortex-M0學(xué)習(xí)筆記05——端口外部中斷實(shí)例

    微電子Cortex-M0學(xué)習(xí)筆記05——端口外部中斷實(shí)例
    的頭像 發(fā)表于 09-26 17:10 ?1167次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>05——端口外部中斷實(shí)例

    微電子Cortex-M0學(xué)習(xí)筆記04——GPIO詳解及應(yīng)用實(shí)例

    微電子Cortex-M0學(xué)習(xí)筆記04——GPIO詳解及應(yīng)用實(shí)例
    的頭像 發(fā)表于 09-26 17:07 ?1528次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>04——GPIO詳解及應(yīng)用實(shí)例

    微電子Cortex-M0學(xué)習(xí)筆記03——時(shí)鐘系統(tǒng)設(shè)計(jì)例程

    微電子Cortex-M0學(xué)習(xí)筆記03——時(shí)鐘系統(tǒng)設(shè)計(jì)例程
    的頭像 發(fā)表于 09-26 17:06 ?1351次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>03——時(shí)鐘系統(tǒng)設(shè)計(jì)例程

    微電子Cortex-M0學(xué)習(xí)筆記01——芯片簡介

    微電子Cortex-M0學(xué)習(xí)筆記01——芯片簡介
    的頭像 發(fā)表于 09-26 17:03 ?1242次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>01——芯片簡介