使用英飛凌DAVE4軟件編寫XMC4800 MCU的圖形化編程教程
在程序員和工程師中,圖形化軟件編程一直是一個不懈追求的目標(biāo)。目前市面上主流的半導(dǎo)體廠商都已經(jīng)提供了針對自己MCU處理器的圖形化編程界面。其中,英飛凌提供的DAVE軟件主要針對XMC系列的MCU進(jìn)行圖形
在程序員和工程師中,圖形化軟件編程一直是一個不懈追求的目標(biāo)。目前市面上主流的半導(dǎo)體廠商都已經(jīng)提供了針對自己MCU處理器的圖形化編程界面。其中,英飛凌提供的DAVE軟件主要針對XMC系列的MCU進(jìn)行圖形化編程,上手簡單方便,且擁有豐富的案例資源。
設(shè)置代碼提示快捷鍵
DAVE軟件基于Eclipse平臺,因此具備代碼提示功能。為了避免快捷鍵沖突(通常與輸入法沖突),我們需要修改成適合自己的組合鍵方式。比如,將代碼提示的快捷鍵設(shè)置為Ctrl H作為Content Assist功能的快捷鍵。
創(chuàng)建DAVE CE工程
1. 創(chuàng)建一個名為Blinky的DAVE CE(Code Engine)工程,并選擇XMC4800設(shè)備。
2. 工程目錄包括:DAVE(用于自動生成源碼庫)、Library(存放CMSIS底層庫、XMC標(biāo)準(zhǔn)外設(shè)庫等)、Startup(存放系統(tǒng)啟動源碼,包括中斷向量表、時鐘初始化等)、main.c(用戶自行實(shí)現(xiàn)的邏輯代碼)和linker_script.ld(鏈接腳本文件)。
了解鏈接腳本文件
為了大致了解程序上電后的執(zhí)行順序,需要查看鏈接腳本文件。該文件由DAVE軟件根據(jù)工程配置自動生成。
- ENTRY(Reset_Handler)表示整個可執(zhí)行程序的入口是Reset_Handler函數(shù),即系統(tǒng)復(fù)位向量。
- 如果沒有另外定義宏stack_size的大小,默認(rèn)棧大小為2K字節(jié)。
- MEMORY字段定義了MCU的存儲空間地址劃分,可以根據(jù)數(shù)據(jù)手冊的memory map章節(jié)進(jìn)行檢查。
- 接下來是對程序中各個段在MCU存儲器中的排放位置的安排,包括常見的段如.reset段、.text段、.init段等,還有一些自定義的段。
- SRAM的分配中,棧位于最前面,在棧的結(jié)束地址處給變量__initial_sp賦值當(dāng)前地址,作為棧頂指針。
理解可執(zhí)行文件的代碼段
整個可執(zhí)行文件的代碼段最開始是.reset段,其中包含中斷向量表。Reset_Handler函數(shù)定義在中斷向量表的下面,使用thumb2指令集編譯。Reset_Handler函數(shù)的主要作用是賦值sp指針,以便后續(xù)運(yùn)行C語言的代碼。
接著會調(diào)用C語言編寫的SystemInit函數(shù),它位于startup_XMC4800.c文件中。SystemInit函數(shù)主要完成系統(tǒng)內(nèi)核相關(guān)參數(shù)的配置,并進(jìn)行數(shù)據(jù)段和.bss段的初始化。最后,跳轉(zhuǎn)到main函數(shù),程序正式完成loader的功能。
添加DAVE APPs并實(shí)現(xiàn)閃爍燈
1. 在APP Dependency Tree中選擇Add New App。
2. 在Search filter中輸入PWM,選擇PWM模塊,并添加。
3. 同樣的方式添加DIGITAL_IO模塊和Interrupt模塊。
4. 在APP Dependency窗口中查看已添加的APP及其關(guān)聯(lián)。
5. 為了方便記憶,可以修改APP的默認(rèn)名稱,在APP模塊上右擊選擇Rename Instance Label。
配置模塊
1. 雙擊DIGITAL_IO模塊,將Pin direction修改為Input/Output。
2. 雙擊Interrupt模塊,選中Enable interrupt at initialization,并設(shè)置中斷的優(yōu)先級和處理函數(shù)名。
3. 雙擊PWM模塊,在General Settings中選擇定時器模塊為CCU4,設(shè)置PWM頻率為1Hz,占空比為50%。在Event Settings中選中Compare Match作為中斷信號源。
4. 將PWM的compare match信號連接至中斷模塊的sr_irq,確保中斷信號產(chǎn)生源與信號接收模塊之間建立連接關(guān)系。
配置硬件引腳信息
在需要連接硬件引腳的APP上右鍵選擇Mannual Pin Allocator,選擇具體的Pin Number后保存。
生成代碼
完成APP的配置后,點(diǎn)擊工具欄的Generate Code按鈕。DAVE軟件會根據(jù)APP的配置信息自動生成相應(yīng)的源碼庫。
添加用戶代碼
在系統(tǒng)初始化后啟動PWM模塊的工作,并在main.c文件中添加PWM_Event_Handler中斷處理函數(shù)。
編譯和下載程序
1. 編譯整個工程,生成二進(jìn)制文件。
2. 通過USB連接XMC4800 Relax Kit和電腦,點(diǎn)擊Debug按鈕下載程序到XMC4800芯片中,并啟動調(diào)試界面。
3. 點(diǎn)擊全速運(yùn)行,觀察LED4每秒閃爍一次,而LED2每2秒閃爍一次的現(xiàn)象。這是由PWM的頻率和中斷程序確定的。
以上就是使用英飛凌DAVE4軟件編寫XMC4800 MCU圖形化編程的教程。通過圖形化界面的配置和代碼的添加,我們可以方便地實(shí)現(xiàn)各種功能,并觀察到對應(yīng)的硬件現(xiàn)象。