https://www.keil.com/demo/eval/arm.htm
1,MDK-ARM的IDE集成開(kāi)發(fā)環(huán)境:mdk512.exe
http://www.keil.com/fid/tsrz5twr ... les/eval/mdk512.exe (MD5: 227234b11466818578c407f8e8217f97)
如果用到KEIL C51也可以同時(shí)安裝在同一目錄下,不受影響,如5.
注意新舊版本的EXE和DLL不要以舊覆蓋新,要用新覆蓋舊的原則的即可,注意確認(rèn)或者略過(guò)。
MDK-ARM5.00以后,把器件相關(guān)的例程,庫(kù),配置代碼等與最簡(jiǎn)潔的IDE無(wú)關(guān)的東西剝離了,
如果有PACK包的器件可以在UV5的界面中升級(jí)更新方式在線下載安裝,也可以到4的連接上下載后安裝到MDK-ARM安裝目錄。
如果沒(méi)有相應(yīng)的PACK包的器件得裝相應(yīng)的舊器件的補(bǔ)丁包,如2的CORTEX-M系列補(bǔ)丁包和3的ARM7,ARM9系列補(bǔ)丁包。
http://www2.keil.com/mdk5/legacy2,MDK-ARM的 Cortex-M 系列補(bǔ)丁包: mdkcm512.exe
http://www.keil.com/download/files/mdkcm512.exe 3,MDK-ARM的 ARM7, ARM9 & Cortex-R 系列補(bǔ)丁包: mdk79v512.exe
http://www.keil.com/download/files/mdk79v512.exe 4,MDK-ARM的PACK補(bǔ)丁包:http://www.keil.com/dd2/Pack/如新唐M0,M4:Nuvoton.NuMicro_DFP.1.0.2.pack 和 Nuvoton.NuMicro_DFP.1.0.2.pdsc(這個(gè)以前需要現(xiàn)在不需要了只需要把驅(qū)動(dòng)裝上就好)(安裝好后在這個(gè)路徑有備份:C:\Keil\ARM\Pack\.Download,可以復(fù)制到其它電腦,不用每臺(tái)都在線下載升級(jí)。)
5,KEIL C51安裝包:c51v953.exe
https://www.keil.com/demo/eval/c51.htmhttp://www.keil.com/fid/sg9aaewb ... es/eval/c51v953.exeMD5: 459fa4dd8dbc5a38597ae903d8fca052
新唐的M0,M4開(kāi)發(fā)還需要安裝:
6,NU-LINK的驅(qū)動(dòng)插件:Nu-Link_Keil_Driver_V1.26.6314.zip
http://www.nuvoton.com/resource- ... iver_V1.26.6314.zip7,NU-LINK在線PC端軟件:NuMicro_ICP_Programming_Tool_V1.26.6314.zip
http://www.nuvoton.com/resource- ... Tool_V1.26.6314.zipNUC1XX系列開(kāi)發(fā)環(huán)境的搭建
1 概述
本文主要描述如何建立新唐NUC1XX系列芯片的開(kāi)發(fā)環(huán)境,包括編譯,下載以及調(diào)試環(huán)境的建立。
2 硬件環(huán)境
以NuTiny-EVB-120為示例硬件平臺(tái),調(diào)試器為“Nu_Link-Me_001 V1.2”,還有一根USB線。
NuTiny-SDK-NUC120開(kāi)發(fā)板的詳細(xì)資料目錄:\Build\Evaluation Board\NuTiny-SDK-NUC120
PC機(jī)的操作系統(tǒng)為WINDOWS XP SP4。
3 Keil MDK-ARM安裝
Keil MDK-ARM安裝包的評(píng)估版可以在網(wǎng)絡(luò)上下載。正版需要向ARM公司購(gòu)買(mǎi)License,網(wǎng)絡(luò)上有一些序列號(hào)生成器,也可以使用。本文檔使用的是4.13a的版本。(請(qǐng)使用24小時(shí)后立即刪除哦:))
Keil MDK-ARM安裝軟件目錄:\Build\Keil_MDK
3.1 安裝Keil uVision4
雙擊MDK413a.exe,進(jìn)入安裝界面。
安裝Project example,可以選擇不安裝。
安裝完uVision4后,安裝程序會(huì)自動(dòng)進(jìn)入U(xiǎn)LINK驅(qū)動(dòng)的安裝界面。
3.2 安裝ULINK驅(qū)動(dòng)(可選)
Keil ULINK 仿真器是一款由Keil公司開(kāi)發(fā)推出的多功能ARM調(diào)試工具,可以通過(guò)JTAG或CODS接口連接到目標(biāo)系統(tǒng)仿真或下載程序,目前已經(jīng)成為國(guó)內(nèi)主流的ARM開(kāi)發(fā)工具。
可以選擇不安裝,也就是將下圖的兩個(gè)復(fù)選框都取消。
安裝完畢后,在桌面上生成了“Keil uVision4”的快捷圖標(biāo)。
3.3 安裝序列號(hào)
點(diǎn)擊桌面的“Keil uVision4”的快捷圖標(biāo)進(jìn)入主界面。點(diǎn)擊“File”->“License Management”菜單。復(fù)制右邊的Computer ID,這是對(duì)應(yīng)本臺(tái)電腦的ID,需要輸入到keillic.exe中生成序列號(hào)。沒(méi)有輸入序列號(hào)之前,該軟件是evaluation版本。
解壓keil_crash.zip為keillic.exe文件,點(diǎn)擊該exe文件。在窗口的CID編輯框內(nèi)粘帖剛剛復(fù)制的CID,Target編輯框選擇“ARM”,點(diǎn)擊“Generate”按鈕即可生成對(duì)應(yīng)本機(jī)的序列號(hào)。
將生成的序列號(hào)復(fù)制,粘帖到剛才打開(kāi)的Keil license management窗口底部的“New License ID Code”編輯框內(nèi),點(diǎn)擊“Add LIC”按鈕即可。
注冊(cè)成功后,License Management窗口顯示相關(guān)的該軟件可用信息:expires:Jan, 2020
4 安裝Nu-Link4.1 Nu-Link驅(qū)動(dòng)安裝
Keil的μVision開(kāi)發(fā)工具主要是用來(lái)管理工程,編寫(xiě)、編譯、調(diào)試程序以及下載程序到目標(biāo)板上的,而調(diào)試或下載程序到目標(biāo)板上則需要調(diào)試驅(qū)動(dòng)程序的支持,如ULink ARM Debugger就是這樣的調(diào)試驅(qū)動(dòng)程序;Nuvoton也為μVision提供了這樣的調(diào)試驅(qū)動(dòng)程序:Nu-Link,它主要用來(lái)輔助μVision調(diào)試Cortex-M0系列芯片的,尤其是Nuvoton的NUC1XX系列的芯片。同時(shí)Nu-Link還可以進(jìn)行Flash的編程。
在μVision的工程配置選項(xiàng)里選擇了Nu-Link調(diào)試驅(qū)動(dòng)程序后,就可以進(jìn)行程序的調(diào)試了,比如開(kāi)始/停止調(diào)試會(huì)話,設(shè)置/清除斷點(diǎn),讀寫(xiě)寄存器、內(nèi)存,單步執(zhí)行等等;另外還可以為特定的芯片選擇Flash編程算法,該算法程序可以對(duì)芯片的Flash空間進(jìn)行快速地擦除、改寫(xiě)和驗(yàn)證。
相關(guān)具體說(shuō)明可參考幫助文檔:\Build\Help_doc\NuMicro Cortex-M0 Keil 調(diào)試器驅(qū)動(dòng)用戶手冊(cè) 1.03.pdf
安裝文件目錄:\Build\Nu-Link Driver\NuMicro Keil uVision IDE driver (Build 4125) V1.03,點(diǎn)擊exe進(jìn)行安裝。
首先安裝程序會(huì)安裝Nu-Link驅(qū)動(dòng)。
可全部選Next按鈕,直到安裝成功
4.2 關(guān)聯(lián)Nu-Link到Keil
這個(gè)安裝步驟是將Nu-Link驅(qū)動(dòng)和Keil uVision開(kāi)發(fā)環(huán)境聯(lián)系起來(lái),這時(shí)需要注意,如果你機(jī)器上安裝過(guò)其他Keil版本,那么就需要選擇相關(guān)的Keil目錄了。
這個(gè)窗口就是選擇需要安裝的Keil目錄了,請(qǐng)選擇你所需要使用Nu-Link的Keil版本安裝目錄。
安裝成功后,在相關(guān)的Keil uVision4的安裝目錄下將多出如下目錄和文件:
.\ARM\BIN\Nu_Link.dll: NuMicro Cortex-M0 Keil μVision Driver的DLL文件
.\ARM\BIN\Nu_Link: 包含COPYRIGHT, License和寄存器詳細(xì)信息,semihosting示例程序等
.\ARM\Flash: 包含F(xiàn)lash編程算法
.\UV4\Nuvoton_NuMicro_Cortex_M0_DateBase.cdb : NuMicro Cortex-M0 MCU數(shù)據(jù)庫(kù)
安裝完Nu-Link Driver后,從開(kāi)始菜單->所有程序,可以看到相關(guān)的幫助文檔。
5 NUC1XX BSP安裝
新唐提供了NUX1XX的板級(jí)支持包程序(BSP,Board Support Package),有利于客戶在該驅(qū)動(dòng)程序的基礎(chǔ)上進(jìn)行應(yīng)用程序的快速開(kāi)發(fā),而不用從寄存器層面重新開(kāi)發(fā)驅(qū)動(dòng)程序。
BSP庫(kù)文件安裝目錄:\Build\BSP Library\ NUC100SeriesBSP_CMSIS_v1.02.002.exe
點(diǎn)擊exe后系統(tǒng)將相關(guān)BSP文件安裝到相應(yīng)的目錄,并在Keil MDK中進(jìn)行了相應(yīng)的注冊(cè)關(guān)聯(lián)以及拷貝相關(guān)的文件。例如以下兩個(gè)系統(tǒng)文件:
l \Keil\ARM\Startup\Nuvoton\NUC1xx\ startup_NUC1xx.s
l \Keil\ARM\Startup\Nuvoton\NUC1xx\ system_NUC1xx.c
同時(shí)對(duì)UV4的“CPU類(lèi)型庫(kù)”也做了新唐CPU的更新,在新建UV4工程時(shí)可以選擇相應(yīng)的新唐CPU型號(hào)。
在BSP的安裝目錄下,包含了驅(qū)動(dòng)程序和許多的樣例程序,可供工程師開(kāi)發(fā)時(shí)調(diào)用和參考。同時(shí)還提供了驅(qū)動(dòng)的相關(guān)文檔。
前言:新唐N32905U1DN單片機(jī)不支持用戶將程序燒錄到內(nèi)部FLASH,必須外掛FLASH存儲(chǔ)用戶程序,可以是SPI FLASH、NAND FLASH、SD卡。用戶采用裸機(jī)開(kāi)發(fā)的方式可使用官方提供的lib文件和對(duì)應(yīng)的頭文件。本工程代碼是在內(nèi)部SDRAM下調(diào)試,如需固化程序,可通過(guò)USB下載,敬請(qǐng)關(guān)注后期博客。
M0516的開(kāi)發(fā)環(huán)境的搭建
首先安裝編程環(huán)境,我用的是MDK5.0。MDK可以跟C51裝到同一個(gè)目錄,這樣既可以寫(xiě)C51的程序也可以寫(xiě)M051程序了。
第二步去新唐的官網(wǎng)下載 Nu-Link Driver for Keil RVMDK V1.24.6211.zip 仿真器的驅(qū)動(dòng),并安裝好。
第三部下載M051 SeriesBSP_CMSIS_V2.01.002.zip 和 M051 SeriesBSP_DirectRegisterAccess_EN_V1.01.003.zip,這兩個(gè)是M051的庫(kù)文件。據(jù)說(shuō)用CMSIS庫(kù)就像ARM M3的編程方式差不多(我沒(méi)用過(guò)M3),DirectRegisterAccess庫(kù)是直接操作寄存器跟51單片機(jī)的編程方式差不多。問(wèn)了問(wèn)高手,他們建議用CMSIS,因?yàn)楦?jiǎn)單方便。我兩個(gè)都裝上了。這兩個(gè)文件直接解壓C盤(pán)即可,路徑要記住,要在mdk里面填寫(xiě)。
打開(kāi)MDK,新建一個(gè)項(xiàng)目,取名TEST,然后出現(xiàn)下圖,點(diǎn)OK。
出現(xiàn)選擇CPU對(duì)話框,找到M0516LBN,點(diǎn)OK.
然后下面對(duì)話框點(diǎn)yes。
然后就進(jìn)入MDK的主界面了。再新建一個(gè)空文檔,并保存,取名為main.c
在Source Group 1上點(diǎn)右鍵選擇Add Existing Files to Group ,把main.c加進(jìn)來(lái)。
點(diǎn)擊工具欄上的 這個(gè)圖標(biāo)。做如下設(shè)置。
下圖的include paths里面寫(xiě)上剛才解壓的 M051 SeriesBSP_CMSIS_V2.01.002.zip的路徑。我寫(xiě)的是:
C:\Keil\M051SeriesBSP_CMSIS_v2.01.002\M051SeriesBSP_CMSIS_v2.01.002\LibM051Series\CMSIS\CM0\DeviceSupport\Nuvoton\M051Series;C:\Keil\M051SeriesBSP_CMSIS_v2.01.002\M051SeriesBSP_CMSIS_v2.01.002\LibM051Series\StdDriver\inc
下圖在scatter file里寫(xiě):--map --first='startup_M051Series.o(RESET)' --datacompressor=off --info=inline --entry Reset_Handler
選擇Nuvoton Nu-Link Debugger,然后點(diǎn)Settings按鈕。
然后在main.c里輸入以下代碼
#include <M051Series.h>
void SystemInit(void)
{}
int main(void)
{
//設(shè)置P2.0為強(qiáng)推挽輸出
_GPIO_SET_PIN_MODE(P2, 0, GPIO_PMD_OUTPUT);
while(1)
{
//讓P2.0交替輸出高低電平。把LED燈的正極接到P2.0負(fù)極接地,LED就會(huì)一閃一閃的。
P20 = 1;
SYS_SysTickDelay(500000);
P20 = 0;
SYS_SysTickDelay(500000);
}
}
然后按Ctrl+F5就可以單步調(diào)試程序了。如果你沒(méi)有設(shè)置斷點(diǎn)的話,這時(shí)候LED就會(huì)一閃一閃的。
如果不想調(diào)試,想直接把程序燒入芯片做如下設(shè)置。
然后再點(diǎn)工具欄上的按鈕。
以上都是我自己在網(wǎng)上轉(zhuǎn)發(fā)的,但是就目前來(lái)說(shuō),已經(jīng)方便很多了,m0 m4 keIL開(kāi)發(fā)環(huán)境建立起來(lái),裝上NULINK驅(qū)動(dòng),從官網(wǎng)上下載BSP包,直接就可以進(jìn)行開(kāi)發(fā),而8051 N76E003裝兩個(gè)驅(qū)動(dòng)一個(gè)是NULINK的,另一個(gè)是C51的
N3290X的開(kāi)發(fā)調(diào)試:
1.1 前期準(zhǔn)備工作
① 解壓官方提供的Non-OS_KEIL開(kāi)發(fā)包
② 在壓縮包中有個(gè)Doc文件夾,可以找到編程需要的文檔
前期我們需要參考的文檔是N3290X Non-OS Library Reference Guide.pdf
③ 復(fù)制Non-OS_KEIL\N32905_Non-OS_KEIL\下的N32905和SYSLIB下的Lib文件夾到工程文件夾
④ 復(fù)制Non-OS_KEIL\N32905_Non-OS_KEIL\gpio\example下的standalone.c和wb_init.s文件到工程文件夾的lib文件夾中
1.2 新建工程
① 打開(kāi)MDK4.72,新建工程,此處命令為project,選擇器件為T(mén)oshiba的TMPA900CMXBG,該CPU內(nèi)核為ARM926EJ-S。
② 在彈出的窗口點(diǎn)“否”
③ 工程創(chuàng)建分組
④ 把對(duì)應(yīng)文件添加到分組中
Lib文件夾下的wb_init.s加入到STARTUP中
Lib文件夾下的lib文件和c文件添加到N3290X_LIB中
新建一個(gè)mian.c文件,添加到USER分組中
⑤ 把包含目錄添加到工程中
⑥ 設(shè)置Options|Linker
去掉左上方的Use Memory Layout from Target Dialog
勾選Report “might fail” Conditions as Errors
添加N32905文件夾下的N32905.sct到Scatter File目錄中
Misc controls中填入—entry 0
⑦ 設(shè)置Options|Debug
把N32905文件夾下的N32905.ini添加到Initialization File下
⑧ 編譯工程
提示有9個(gè)警告,這個(gè)可以忽略
如此一個(gè)工程就創(chuàng)建完成,這個(gè)也是以前的工程了,具體的看我另一篇博客,不難找
目前遇到過(guò)得問(wèn)題如下:
1:新唐單片機(jī)keil編譯工具,資料都可以在新唐官網(wǎng)下載。keil驅(qū)動(dòng)軟件要安裝在keil安裝的目錄下,今天安裝了很久,一直提示不成功,就是因?yàn)轵?qū)動(dòng)Nu-link driver 沒(méi)有安裝到keil安裝目錄下。
2:剛開(kāi)始項(xiàng)目選用M0518LC2AE單片機(jī)(36K FLASH),后來(lái)因程序存儲(chǔ)區(qū)不夠,又選用M0518LD2AE單片機(jī)(68K FLASH)。但keil編譯時(shí)提示選用芯片的容量不夠,keil重啟無(wú)效,最后keil卸載后重裝可以。