引言
MAXQ7665微控制器評估(EV)板包括串口至JTAG的連接,用于編程和調(diào)試。IAR Embedded Workbench通過JTAG和MAXQ7665進(jìn)行連接,在調(diào)試期間使用。這一快速入門完善了評估板數(shù)據(jù)資料,記錄了IAR工具箱的使用。IAR工作臺簡介
IAR Embedded Workbench是MAXQ7665微控制器和其他MAXQ?微控制器的集成開發(fā)環(huán)境。IAR工具箱包括文本編輯器、C語言編輯器、串行下載以及功能強(qiáng)大的調(diào)試器等。IAR工作臺安裝
通過IAR網(wǎng)站,在PC上安裝IAR Embedded Workbench。在IAR主頁上選擇“Chip manufacturer”框。然后,從“Please select chip manufacturer”下拉框中選擇Maxim/Dallas Semiconductor,單擊OK按鈕。出現(xiàn)新的頁面,它包括超級鏈接。單擊“IAR Embedded Workbench for Maxim MAXQ”,出現(xiàn)另一頁面,它含有高亮顯示的Download框。選擇“30–day evaluation version”。出現(xiàn)一個(gè)產(chǎn)品注冊頁面,必須完成該頁面才能開始下載Maxim MAXQ的IAR Embedded Workbench。一旦下載完成后,可在30天內(nèi)使用這一評估版嵌入式工作臺,以后則需要購買永久許可。安裝了IAR工具箱后,安裝中建立的MAXQ7665功能文件包括:
maxq7665_A64K.ddf maxq7665_A128K.ddf lnkmaxq7665_A64K.xcl lnkmaxq7665_A128K.xcl lnkmaxq7665_cbl_A64K.xcl maxq7665.hex maxq7665.sfr
maxq7665_A64K.menu maxq7665_A128K.menu maxq7665_cbl_A64K.menu
iomaxq766x.h
-
a) Config文件夾: b) Config/Devices文件夾: c) Include文件夾:
硬件安裝
連接MAXQ7665評估板和交流適配器。采用RS-232串口電纜連接PC和評估板的DB–9連接器,它標(biāo)有PC RS232 JTAG。IAR工作區(qū)
文件組織IAR結(jié)構(gòu)需要一個(gè)工程工作區(qū)。這一工作區(qū)可以包括C語言和匯編源代碼文件,以實(shí)現(xiàn)特定任務(wù)。可以分別對每一工程進(jìn)行編譯、調(diào)試和運(yùn)行。下面的圖1所示為MAXQ7665評估板工作區(qū)及其包括的工程。請參考IAR Embedded Workbench應(yīng)用程序Help菜單中的IAR Embedded Workbench User's Guide,了解詳細(xì)信息。
查看詳細(xì)圖片
圖1. MAXQ7665的這一工作區(qū)列出了軟件中包含的工程。
設(shè)置IAR工程選項(xiàng)
必須設(shè)置工作區(qū)中每一工程的選項(xiàng)。如果加入了一個(gè)新工程,必須配置其選項(xiàng)。評估板中包含的實(shí)例工程已經(jīng)配置好了各個(gè)選項(xiàng)。如果需要查看或者改變工程選項(xiàng),右鍵單擊Overview屏幕中高亮顯示的工程,或者單擊屏幕底部的工程標(biāo)簽,使工程“激活”。工程名稱將以粗體顯示,如圖1所示。下一步,在Project菜單中,選擇Options,出現(xiàn)如下的截屏顯示。可以設(shè)置每一類別的選項(xiàng),如圖2所示。
圖2. 工程選項(xiàng)菜單使您能夠配置每一工程的選項(xiàng)。
JTAG串口是實(shí)例工程唯一需要設(shè)置的選項(xiàng)。如果選擇了JTAG,將出現(xiàn)圖3所示的截屏顯示。在這個(gè)例子中,我們使用COM1作為PC至MAXQ7665評估板的通信端口。如果需要使用不同的端口,將COM改為對應(yīng)的串口。

圖3. 通過JTAG接口來建立IAR工具箱和MAXQ7665之間的通信。
在建立MAXQ7665評估板新工程或者目標(biāo)應(yīng)用程序時(shí),必須設(shè)置某些重要選項(xiàng)。使用特殊文件來建立MAXQ7665可選鏈接器和調(diào)試器配置。
IAR鏈接器選項(xiàng)
在Options窗口中,選擇Linker一類和Config標(biāo)簽,如圖4所示。在XCL文件名部分,選擇“Override default”框,在配置目錄中找到lnkmaxq7665_A64K.xcl鏈接器文件。
圖4. 在這一屏幕顯示上配置工程的鏈接器選項(xiàng)。
IAR調(diào)試器選項(xiàng)
在設(shè)置調(diào)試器選項(xiàng)時(shí),選擇Debugger一類。選擇“Device description file”中的“Use device description file” (圖5),找到配置目錄中的maxq7665_A64K.ddf文件。
圖5. 在這一屏幕顯示上,您可以配置調(diào)試選項(xiàng)。
實(shí)例工程
評估板的快速啟動CD包括幾個(gè)實(shí)例工程。實(shí)例代碼演示了MAXQ7665和評估板的功能。實(shí)例工程是可以編譯、鏈接和運(yùn)行的程序。用戶可以建立工作區(qū)和工程,然后,復(fù)制實(shí)例工程代碼部分,構(gòu)建應(yīng)用程序。下面是對實(shí)例工程的簡要說明。ADC
該工程含有軟件來建立MAXQ7665的模數(shù)轉(zhuǎn)換器(ADC)。很容易修改ADC參數(shù),如果采用中斷,可以將這些參數(shù)傳遞給ADC_Convert_Int函數(shù)。當(dāng)轉(zhuǎn)換完成,數(shù)據(jù)準(zhǔn)備好之后,將在中斷服務(wù)例程中返回ADC數(shù)據(jù)。如果采用了ADC輪詢,將ADC_Convert_Poll函數(shù)注釋掉。當(dāng)ADC已經(jīng)完成了轉(zhuǎn)換,數(shù)據(jù)準(zhǔn)備好之后,將ADC轉(zhuǎn)換值返回給函數(shù)。CAN
CAN工程含有軟件來建立CAN控制器。實(shí)例工程設(shè)置全局CAN參數(shù),然后,建立接收和發(fā)送消息中心。如果需要驗(yàn)證這一操作,可以將CAN控制器設(shè)置為autobaud (環(huán)回)模式,將CAN數(shù)據(jù)從發(fā)送消息中心傳送至接收消息中心。DAC
該工程含有配置數(shù)模轉(zhuǎn)換器(DAC)的函數(shù),可從每個(gè)DAC產(chǎn)生連續(xù)正弦波輸出。LED演示
LED演示工程設(shè)置并清除驅(qū)動LED的MAXQ7665端口比特。結(jié)果是使用LED簡單流量信號仿真。溫度轉(zhuǎn)換
MAXQ7665含有內(nèi)部溫度傳感器,評估板有兩個(gè)外部溫度感應(yīng)器件。溫度轉(zhuǎn)換工程可以測量內(nèi)部或者外部溫度。定時(shí)器
定時(shí)器工程演示建立8位和16位脈沖寬度調(diào)制定時(shí)器,其頻率和占空比可調(diào)。還提供使用定時(shí)器0的延時(shí)定時(shí)器,精度達(dá)到1ms。UART
UART工程支持評估板和RS-232串口的接口。MAXQ7665設(shè)置UART參數(shù),控制串行數(shù)據(jù)交換。電壓監(jiān)測器
亮度調(diào)節(jié)監(jiān)測器工程含有演示功能和使用亮度調(diào)節(jié)監(jiān)視器探測電路的軟件。程序設(shè)置亮度調(diào)節(jié)中斷的電壓閾值;可以將中斷服務(wù)例程斷點(diǎn)移到待測電壓所需的斷點(diǎn)上。然后,用戶按下評估板PC電路板上的按鍵,觸發(fā)所需的亮度調(diào)節(jié)中斷。啟動IAR Embedded Workbench
C:\Program Files\IAR Systems\Embedded Workbench 4.0\MAXQ\src\MAXQ7665 EV Kit目錄,或者安裝源文件的目錄。選擇工作區(qū)文件MAXQ7665 EV Kit.eww,單擊open。這一選擇打開了一個(gè)MAXQ7665評估板工作區(qū),它含有幾個(gè)工程。找到標(biāo)有MAXQ7665 EV Kit LED Demo (窗口底部;右鍵單擊)的標(biāo)簽,高亮顯示MAXQ7665 EV Kit Led Demo-Debug。如果還沒有設(shè)置,則右鍵單擊,選擇Set as Active Project (在屏幕上以粗體顯示)。
再次右鍵單擊,選擇Options。在這里存儲工程設(shè)置。注意:必須設(shè)置串口。選擇JTAG。在COM Port下,如果您使用的不是COM1,則輸入使用的串口。注意:必須使用COM#,而不能只是端口號。有些筆記本計(jì)算機(jī)并沒有RS-232端口,但是有USB至RS-232轉(zhuǎn)換器。
在Project菜單中,選擇Rebuild All。如果正確定位了所有文件,消息框中將顯示Errors: None以及Warnings: None。
完成了上面所述的步驟,并且沒有錯(cuò)誤后,在Project菜單中選擇Debug。將應(yīng)用代碼下載到MAXQ7665評估板上。
一旦下載了應(yīng)用程序文件,在“main”聲明中啟動調(diào)試器。在Debug菜單中,單擊Go命令,LED將仿真流量信號。
基本問題排查
在嘗試進(jìn)行MAXQ7665評估板通信時(shí),如果出現(xiàn)了錯(cuò)誤消息,則需要關(guān)閉并重新打開IAR Embedded Workbench。如果重新啟動IAR并沒有解決問題,則嘗試斷開和評估板連接的RS-232電纜,再次上電,復(fù)位評估板。然后,重新連接RS-232電纜,加電,打開IAR工具箱。如果IAR還不能和MAXQ7665評估板建立通信,請參考下面的高級問題排查一節(jié)。高級問題排查
這一部分介紹安裝并使用Maxim的微控制器工具包(MTK),以及通過RS-232連接來調(diào)試MAXQ7665評估板的步驟。如果IAR Embedded Workbench不能下載到MAXQ7665評估板上,則需要進(jìn)行調(diào)試。需要的硬件和軟件
- Windows? PC,具有RS-232端口。
- MAXQ7665評估板
- MAXQ7665評估板安裝CD
- 交流到直流轉(zhuǎn)換器,提供12V輸出。
- DB–9至DB–9 RS-232電纜
軟件安裝
MTK目錄中MAXQ7665評估板的安裝CD提供MTK實(shí)用程序。請運(yùn)行SETUPEX.exe文件,安裝MTK應(yīng)用程序。硬件安裝
連接MAXQ7665評估板和交流電源適配器。采用RS-232串口電纜連接PC和評估板的DB–9連接器,該連接器標(biāo)有PC RS232。啟動MTK實(shí)用程序
一旦安裝了應(yīng)用程序,打開它,從下拉菜單中選擇DS89C430。該器件用于PC的RS-232端口和MAXQ7665的JTAG連接之間的通信。設(shè)置MTK選項(xiàng)
選擇Options,然后是Configure Serial Port。輸入使用的串口,將速率設(shè)置為115,200波特率。同時(shí)選擇“Toggle DTR on connect/disconnect”、“Save working directory on exit”和“Save COM Port Settings on Exit” (如果還沒有進(jìn)行這些設(shè)置)。連接至MAXQ7665評估板
選擇Target,然后是“Open COMx at 115200 baud”,其中x是上面選項(xiàng)所配置的串口。按下鍵盤的回車鍵來測試RS-232接口。每次按下回車鍵時(shí),MAXQ7665評估板應(yīng)該以提示符“>”做出響應(yīng)。如果這一步正常,表明評估板上的微控制器能夠識別輸入,準(zhǔn)備好接收輸入。如果這一步不正常,請參考下面的沒有提示符一節(jié)。連接至MAXQ7665調(diào)試引擎
有一個(gè)簡單的方法來確定MAXQ7665的狀態(tài):“Get”所有的內(nèi)部寄存器。Get命令向調(diào)試引擎發(fā)送幾個(gè)基本命令,使MAXQ7665發(fā)送其所有的內(nèi)部寄存器。MTK目錄中快速啟動CD的protocol.txt文件中含有該命令。使用下面的命令來獲得所有的寄存器。請確定使用了大寫鍵(CAP),因?yàn)镸TK區(qū)分大小寫。圓括號中的是注釋。>I (初始化調(diào)試引擎,按下回車鍵。)
>D (輸入調(diào)試背景模式,按下回車鍵。)
>E (輸入調(diào)試模式,按下回車鍵。)
>G (獲得所有寄存器,按下回車鍵。)
如果MAXQ7665工作正常,它應(yīng)該以圖6中所示的寄存器映射進(jìn)行響應(yīng)。注意,寄存器開始是Module 0 Register 0,然后是Module 0 Register 1,依此類推。還需要注意,可以在一行上組合多條命令。例如,>IDEG會產(chǎn)生同樣的結(jié)果。

圖6. 如果MAXQ7665配置正確,寄存器映射應(yīng)該以Module 0,Register 0開始。
從上面的寄存器映射中,Module 0和Index 0 M[00,00]的第一個(gè)寄存器是Port 0 Output Register (PO0)。該寄存器的上電復(fù)位值(POR)是0x3F,這是正確的。后面的兩個(gè)寄存器是Port 1 M[01,00] 和Port 2 M[02,00]輸出寄存器,其POR值是0xFF,也是正確的。
如果沒有得到圖6所示的寄存器映射,而是得到了圖7所示的寄存器映射,那么按下并釋放SW10,復(fù)位MAXQ7665。一旦進(jìn)行這一操作后,重復(fù)IDEG命令,應(yīng)該得到圖6所示的寄存器映射。注意,圖7所示的寄存器映射也是調(diào)試引擎可以接受的狀態(tài)。

圖7. 另一種Get寄存器映射
如果成功完成了前面的步驟,那么PC至微控制器JTAG至MAXQ7665調(diào)試引擎的通信鏈路工作正常。您應(yīng)該能夠關(guān)閉MTK的通信端口,關(guān)閉MTK應(yīng)用程序。IAR Embedded Workbench可以下載代碼,調(diào)試MAXQ7665評估板的應(yīng)用程序代碼。
調(diào)試引擎狀態(tài)
調(diào)試引擎還返回其狀態(tài)以及上面的數(shù)據(jù)。例如,第一個(gè)寄存器M[00,00]是003F:03。左面四個(gè)字符是寄存器的十六進(jìn)制數(shù)值。不管寄存器長度如何,返回的數(shù)據(jù)總是16位寬。在這個(gè)例子中,有一個(gè)冒號和03。03是主機(jī)和調(diào)試引擎之間的握手信號。在這個(gè)例子中,03表示調(diào)試有效。下表列出了可能的狀態(tài)。Status | Condition |
00 | Default Condition. Background mode or debug engine inactive (MAXQ7665 in reset) |
01 | Debug Idle. Ready to receive data from the host (ready for download and debug) |
02 | Debug Busy. Debug engine is busy without valid data (Password Lock State) |
03 | Debug Valid. Debug engine is busy with valid data (ready for download and debug) |
問題排查
如果上面的操作不起作用,或者得到的結(jié)果與這里顯示的不同,那么需要進(jìn)行以下操作。沒有提示符
如果不能從MAXQ7665評估板得到提示符,從評估板斷開RS-232電纜,拔下直流電源插頭。然后,重新連接RS-232電纜和直流電源插頭。如果需要,重復(fù)這一過程。同時(shí)還要確定Options菜單中的串口選擇是您正在使用的端口。如果需要了解可用的串口,運(yùn)行下面的應(yīng)用程序。打開控制面板System application,選擇Hardware標(biāo)簽。選擇Device Manager和Ports (COM和LPT),查看可用的串口。無效數(shù)據(jù)–調(diào)試忙
有時(shí)IDEG返回的數(shù)據(jù)和下面的數(shù)據(jù)相似,例如調(diào)試引擎狀態(tài)數(shù)據(jù)含有:02。這一數(shù)值通常表明鎖定了MAXQ7665的密碼,防止擦除閃存,防止IAR Embedded Workbench和MAXQ7665之間的任何通信。請參考圖8。
圖8. IDEG屏幕上的:02表明MAXQ7665密碼鎖定。
擦除MAXQ7665閃存
可以利用MTK接口來擦除MAXQ7665閃存。圖9詳細(xì)介紹了擦除所需要的步驟。
圖9. 屏幕顯示擦除MAXQ7665閃存的步驟。
>I | (Type I. Initialize the debug engine and press Enter.) |
$ | (Debug engine replies.) |
>L | (Type L. Enter the bootstrap loader and press Enter.) |
r R r | (Loader replies.) |
>00 | (Type 00. Press Enter.) |
0000:00 | (Loader replies.) |
>02 | (Type 02. Erase the flash and press Enter.) |
0000:02 | (Debug engine replies still busy if unsuccessful.) |
003E:03 | (Debug engine replies debug valid. Flash is erased.) |
如果在擦除閃存時(shí),上面的步驟沒有成功,則重復(fù)整個(gè)過程。去掉直流電源,按下復(fù)位開關(guān),輸入上面的命令。如果擦除成功,利用上面說明的IDEG命令,您應(yīng)該能成功“Get”所有的寄存器。IAR Embedded Workbench應(yīng)能夠下載應(yīng)用程序代碼。
評論