色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32開發(fā)環(huán)境(工具)之Keil MDK 介紹

          STM32開發(fā)環(huán)境(工具)之Keil MDK 介紹

          作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏

          Include Paths:指定頭文件的查找路徑,可以添加多個(gè)。
          這里我們所有的選擇保持默認(rèn)選擇就可以了。
          3. Debug標(biāo)簽頁(yè)的設(shè)置

          本文引用地址:http://cafeforensic.com/article/201611/322372.htm

          左邊是對(duì)應(yīng)uVision3的模擬環(huán)境,右邊是針對(duì)仿真器,這里選擇右邊的ULINK Cortex Debugger仿真器為例進(jìn)行說明。
          如果已經(jīng)將ULINK仿真器連接到你的電腦,點(diǎn)擊“Settings”你將進(jìn)入ARM Target Driver Setup 界面。


          ULINK - JTAG/SWD Adapter:
          Serial No:列出了當(dāng)前連接到主機(jī)的所有ULINK適配器的串號(hào),你可以通過列表選擇要使用的ULINK適配器。
          ULINK Version,Device Family以及Firmware Version分別列出了當(dāng)前選擇的ULINK適配器的版本,設(shè)備家族和固件版本。
          SWJ,Port:根據(jù)和開發(fā)板接口的類型選擇端口,有JTAG和SW兩種,勾選SWJ表示支持兩種方式。
          Max Clock:指定和開發(fā)板的最高通信時(shí)鐘。
          JTAG Device Chain:顯示當(dāng)前通過適配器連接上的開發(fā)板。
          Automatic Detection:自動(dòng)監(jiān)測(cè),選擇系統(tǒng)將自動(dòng)檢測(cè)連接上的開發(fā)板,建議使用。
          Manual Configuration:手動(dòng)配置,通過手動(dòng)設(shè)置ID CODE,Device Name和IR len等屬性來(lái)查找設(shè)備。
          Debug:
          Cache Options:
            Cache Code:通知調(diào)試器已經(jīng)下載的程序代碼不會(huì)改變,選中的話uVision將不會(huì)從目標(biāo)系統(tǒng)讀取程序代碼。
            Cache Memory:決定調(diào)試程序期間程序停止運(yùn)行的時(shí)候,是否更新存儲(chǔ)器顯示。
          Download Options:
            Verify Code Download:比較目標(biāo)存儲(chǔ)器和調(diào)試器上的應(yīng)用程序的內(nèi)容。
            Download to Flash:將代碼下載到所有的存儲(chǔ)器區(qū)域,如果不選中,調(diào)試器不會(huì)把代碼下載到Flash Download Setup中制定的存儲(chǔ)器地址范圍。
          Misc Options:
            Use Reset at Startup:選中的時(shí)候,調(diào)試器在開始調(diào)試的時(shí)候會(huì)發(fā)起一次CPU復(fù)位?!?br />Load Application at Startup:將Output標(biāo)簽中指定的可執(zhí)行文件導(dǎo)入到調(diào)試器的起始地址。
          Run to Main:開始調(diào)試時(shí)執(zhí)行到Main函數(shù)入口暫停執(zhí)行。
          Initialization File:指定一個(gè)包含一組調(diào)試命令的文件,這組命令是調(diào)試器開始工作或者調(diào)試函數(shù)在調(diào)試期間要使用的。
          Restore Debug Session Settings:使用上一次調(diào)試過程對(duì)Breakpoints,Watchpoints,Memory Display和Toolbox(如果這些項(xiàng)被選中的話)。
          Driver DLL – Parameter:由Device Database設(shè)置的目標(biāo)驅(qū)動(dòng)DLL,不要修改。
          Dialog DLL – Parameter:由Device Database設(shè)置的對(duì)話框DLL,不要修改。
          這里我們修改了兩個(gè)地方,選中了Use ULINK和Run to Main,對(duì)ULINK的設(shè)置進(jìn)行了一些調(diào)整,具體的設(shè)置圖5.11所示。
          4. Utilities標(biāo)簽頁(yè)的設(shè)置


          Configure Flash Menu Command
            Use Target Driver for Flash Programming:列表選擇和調(diào)試接口一致的驅(qū)動(dòng)。Init File的設(shè)置也和前面調(diào)試設(shè)置一致。點(diǎn)擊Settings將進(jìn)入Flash Download Setup界面。


          Download Function:定義了Flash燒寫的時(shí)候進(jìn)行的操作。
            Erase Full Chip:前面三項(xiàng)要選一,燒寫程序之前擦除整個(gè)Flash存儲(chǔ)器。
            Erase Sectors:燒寫程序之前擦除程序要使用的扇區(qū)。
            Do not Erase:不進(jìn)行擦除操作
            Program:使用當(dāng)前uVision工程的程序燒寫ROM。
            Verify:驗(yàn)證Flash ROM的內(nèi)容和當(dāng)前工程中的程序一致。
            Reset and Run:在燒寫和驗(yàn)證完成之后復(fù)位開發(fā)板并且運(yùn)行程序。
          RAM for Algorithm:指定用于燒寫程序的RAM區(qū)域,通常是微控制器上的一段片上空間。
            Start:起始地址。
            Size:大小。
          可以通過點(diǎn)擊Add添加,點(diǎn)擊Add你將看到如下的選擇列表,可以根據(jù)你選用的芯片選擇合適的,也可以自己手動(dòng)添加。


            Use External Tool for Flash Programming:使用第三方的工具進(jìn)行Flash下載。
            Command:要使用的Flash燒寫工具的命令文件(通常是一個(gè).exe文件)。
            Arguments:傳遞給Flash燒寫工具的參數(shù)。
            Run Independent:當(dāng)選中的時(shí)候,uVision不等待Flash燒寫完成。不選中的時(shí)候uVision要等待Flash燒寫完成并且在輸出窗口顯示燒寫結(jié)果。
          在HelloWorld里面修改了Flash Download Setup,具體的設(shè)置如上圖所示。到此工程設(shè)置就結(jié)束了。

          5.1.2.3 打開工程
          通過菜單“Project”->“Open Project”來(lái)打開一個(gè)現(xiàn)有工程,這時(shí)將彈出一個(gè)打開文件對(duì)話框讓我們選擇要打開的工程文件。
          選擇你要打開的工程的路徑,然后點(diǎn)擊“Open”打開工程。我們還可以和打開其他文件一樣,找到一個(gè)后綴為“uv2”的uVision3工程文件,直接雙擊,Windows會(huì)自動(dòng)調(diào)用uVision3打開這個(gè)文件,前提是你電腦已經(jīng)安裝了uVision3并且和“uv2”文件建立了關(guān)聯(lián)。

          5.1.3 編寫源程序
          選擇菜單“File”->“New”或者點(diǎn)擊工具欄的新建文件按鈕,即可在項(xiàng)目窗口的右側(cè)打開一個(gè)新的文本編輯窗口,在該窗口可以輸入程序代碼。
          需要說明的是,源文件就是一般的文本文件,不一定使用Keil軟件編寫,可以使用任意文本編輯器編寫,而且Keil的編輯器對(duì)漢字的支持不好,建議使用UltraEdit之類的編輯軟件進(jìn)行源程序的輸入。
          每一個(gè)程序至少有一個(gè)原型為int main(void)的主函數(shù),這是程序的入口地址,程序?qū)倪@里開始運(yùn)行。此外,我們還需要對(duì)開發(fā)板做一些時(shí)鐘和中斷方面的初始化工作,這些工作將在函數(shù)RCC_Configuration和NVIC_Configuration中完成。源文件的代碼清單如下所示。

          1. #include"stm32f10x_lib.h"
          2. GPIO_InitTypeDefGPIO_InitStructure;
          3. voidDelay(vu32nCount);
          4. /*******************************************************************************FunctionName:main
          5. *Description:主程序
          6. *Input:None
          7. *Output:None
          8. *Return:None
          9. ******************************************************************************/
          10. intmain(void)
          11. {
          12. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
          13. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
          14. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
          15. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
          16. GPIO_Init(GPIOB,&GPIO_InitStructure);
          17. while(1)
          18. {
          19. GPIO_WriteBit(GPIOB,GPIO_Pin_9,
          20. (BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_9)));
          21. Delay(1000000);
          22. }
          23. }
          24. voidDelay(vu32nCount)
          25. {
          26. for(;nCount!=0;nCount--);
          27. }


          代碼編輯完成之后,我們可以保存源文件,選擇菜單“File”->“Save”或者點(diǎn)擊工具欄的保存文件按鈕,可以用來(lái)保存源文件。
          這時(shí)會(huì)出現(xiàn)一個(gè)保存文件的文件對(duì)話框,選擇你要保存的路徑,輸入文件名HelloWorld.c。注意一定要輸入擴(kuò)展名,如果是c程序文件擴(kuò)展名為.c,如果是匯編文件擴(kuò)展名為.s,習(xí)慣.asm的也可以存儲(chǔ)為.asm。注解說明文件可以保存為.txt的擴(kuò)展名。
          源文件編輯完成之后我們還需要將源文件加入到工程中,工程建好之后,在工程窗口的文件頁(yè)中,將會(huì)出現(xiàn)“Target 1”,前面有個(gè)“+”號(hào),點(diǎn)擊“+”號(hào)展開,可以看到下一層的“Source Group 1”,我們需要向這個(gè)里面加入源文件,點(diǎn)擊“Source Group 1”使其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)一個(gè)下拉菜單,如下圖如示。


          選中其中的“Add file to Group ‘Source Group 1’”,出現(xiàn)一個(gè)對(duì)話框,要求尋找源文件,如下圖所示。


          注意,該對(duì)話框下面的“文件類型”默認(rèn)為C source file(*.c),我們可以通過調(diào)整這個(gè)來(lái)選擇過濾我們想要格式的文件,從而幫助我們快速查找文件。如果是匯編文件,就選擇“asm source file”;如果是目標(biāo)文件,選擇“Object file”;如果是庫(kù)文件,選擇“Library file”。最后點(diǎn)擊“Add”,也可以雙擊要添加的文件進(jìn)行加入。注意:點(diǎn)擊“Add”之后,窗口不會(huì)消失,如果要添加多個(gè)文件,可以不斷添加,添加完畢此時(shí)再點(diǎn)擊“Close”關(guān)閉該窗口。初學(xué)者時(shí)常誤認(rèn)為操作沒有成功而再次雙擊同一文件或者再次點(diǎn)擊“Add”,這時(shí)會(huì)出現(xiàn)如下的對(duì)話框。


          在這里我們把剛新建的HelloWorld.c添加進(jìn)去,文件添加進(jìn)去之后,我們點(diǎn)擊“Source Group 1”前面的“+”號(hào),就會(huì)發(fā)現(xiàn)我們剛剛添加的文件HelloWrold.c已在其中了,雙擊文件名,即在代碼區(qū)打開該源程序文件。
          除了添加文件,我們還可以添加新的Group,操作和添加文件類似,出現(xiàn)下拉菜單之后我們選擇“New Group”,這時(shí)就會(huì)在工程窗口看到新加的Group。對(duì)Group和添加文件的操作我們還可以通過點(diǎn)擊工具欄上的彩色品字按鈕進(jìn)入“Components,Environment and Books”窗口,如下圖所示。



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉