摘要:本應用筆記是快速入門。它解釋了怎樣安裝并配置IAR Embedded Workbench?。此外,它提供簡要的說明來編譯、鏈接、調試MAXQ7665微控制器評估套件中的幾個實例工程。問題排查部分可以幫助確定評估板的工作狀況。
安裝了IAR工具箱后,安裝中建立的MAXQ7665功能文件包括:
查看詳細圖片
圖1. MAXQ7665的這一工作區列出了軟件中包含的工程。
圖2. 工程選項菜單使您能夠配置每一工程的選項。
JTAG串口是實例工程唯一需要設置的選項。如果選擇了JTAG,將出現圖3所示的截屏顯示。在這個例子中,我們使用COM1作為PC至MAXQ7665評估板的通信端口。如果需要使用不同的端口,將COM改為對應的串口。
圖3. 通過JTAG接口來建立IAR工具箱和MAXQ7665之間的通信。
在建立MAXQ7665評估板新工程或者目標應用程序時,必須設置某些重要選項。使用特殊文件來建立MAXQ7665可選鏈接器和調試器配置。
圖4. 在這一屏幕顯示上配置工程的鏈接器選項。
圖5. 在這一屏幕顯示上,您可以配置調試選項。
這一選擇打開了一個MAXQ7665評估板工作區,它含有幾個工程。找到標有MAXQ7665 EV Kit LED Demo (窗口底部;右鍵單擊)的標簽,高亮顯示MAXQ7665 EV Kit Led Demo-Debug。如果還沒有設置,則右鍵單擊,選擇Set as Active Project (在屏幕上以粗體顯示)。
再次右鍵單擊,選擇Options。在這里存儲工程設置。注意:必須設置串口。選擇JTAG。在COM Port下,如果您使用的不是COM1,則輸入使用的串口。注意:必須使用COM#,而不能只是端口號。有些筆記本計算機并沒有RS-232端口,但是有USB至RS-232轉換器。
在Project菜單中,選擇Rebuild All。如果正確定位了所有文件,消息框中將顯示Errors: None以及Warnings: None。
完成了上面所述的步驟,并且沒有錯誤后,在Project菜單中選擇Debug。將應用代碼下載到MAXQ7665評估板上。
一旦下載了應用程序文件,在“main”聲明中啟動調試器。在Debug菜單中,單擊Go命令,LED將仿真流量信號。
>I (初始化調試引擎,按下回車鍵。)
>D (輸入調試背景模式,按下回車鍵。)
>E (輸入調試模式,按下回車鍵。)
>G (獲得所有寄存器,按下回車鍵。)
如果MAXQ7665工作正常,它應該以圖6中所示的寄存器映射進行響應。注意,寄存器開始是Module 0 Register 0,然后是Module 0 Register 1,依此類推。還需要注意,可以在一行上組合多條命令。例如,>IDEG會產生同樣的結果。
圖6. 如果MAXQ7665配置正確,寄存器映射應該以Module 0,Register 0開始。
從上面的寄存器映射中,Module 0和Index 0 M[00,00]的第一個寄存器是Port 0 Output Register (PO0)。該寄存器的上電復位值(POR)是0x3F,這是正確的。后面的兩個寄存器是Port 1 M[01,00] 和Port 2 M[02,00]輸出寄存器,其POR值是0xFF,也是正確的。
如果沒有得到圖6所示的寄存器映射,而是得到了圖7所示的寄存器映射,那么按下并釋放SW10,復位MAXQ7665。一旦進行這一操作后,重復IDEG命令,應該得到圖6所示的寄存器映射。注意,圖7所示的寄存器映射也是調試引擎可以接受的狀態。
圖7. 另一種Get寄存器映射
如果成功完成了前面的步驟,那么PC至微控制器JTAG至MAXQ7665調試引擎的通信鏈路工作正常。您應該能夠關閉MTK的通信端口,關閉MTK應用程序。IAR Embedded Workbench可以下載代碼,調試MAXQ7665評估板的應用程序代碼。
圖8. IDEG屏幕上的:02表明MAXQ7665密碼鎖定。
圖9. 屏幕顯示擦除MAXQ7665閃存的步驟。
如果在擦除閃存時,上面的步驟沒有成功,則重復整個過程。去掉直流電源,按下復位開關,輸入上面的命令。如果擦除成功,利用上面說明的IDEG命令,您應該能成功“Get”所有的寄存器。IAR Embedded Workbench應能夠下載應用程序代碼。
引言
MAXQ7665微控制器評估(EV)板包括串口至JTAG的連接,用于編程和調試。IAR Embedded Workbench通過JTAG和MAXQ7665進行連接,在調試期間使用。這一快速入門完善了評估板數據資料,記錄了IAR工具箱的使用。IAR工作臺簡介
IAR Embedded Workbench是MAXQ7665微控制器和其他MAXQ?微控制器的集成開發環境。IAR工具箱包括文本編輯器、C語言編輯器、串行下載以及功能強大的調試器等。IAR工作臺安裝
通過IAR網站,在PC上安裝IAR Embedded Workbench。在IAR主頁上選擇“Chip manufacturer”框。然后,從“Please select chip manufacturer”下拉框中選擇Maxim/Dallas Semiconductor,單擊OK按鈕。出現新的頁面,它包括超級鏈接。單擊“IAR Embedded Workbench for Maxim MAXQ”,出現另一頁面,它含有高亮顯示的Download框。選擇“30–day evaluation version”。出現一個產品注冊頁面,必須完成該頁面才能開始下載Maxim MAXQ的IAR Embedded Workbench。一旦下載完成后,可在30天內使用這一評估版嵌入式工作臺,以后則需要購買永久許可。安裝了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連接器,它標有PC RS232 JTAG。IAR工作區
文件組織IAR結構需要一個工程工作區。這一工作區可以包括C語言和匯編源代碼文件,以實現特定任務??梢苑謩e對每一工程進行編譯、調試和運行。下面的圖1所示為MAXQ7665評估板工作區及其包括的工程。請參考IAR Embedded Workbench應用程序Help菜單中的IAR Embedded Workbench User's Guide,了解詳細信息。查看詳細圖片
圖1. MAXQ7665的這一工作區列出了軟件中包含的工程。
設置IAR工程選項
必須設置工作區中每一工程的選項。如果加入了一個新工程,必須配置其選項。評估板中包含的實例工程已經配置好了各個選項。如果需要查看或者改變工程選項,右鍵單擊Overview屏幕中高亮顯示的工程,或者單擊屏幕底部的工程標簽,使工程“激活”。工程名稱將以粗體顯示,如圖1所示。下一步,在Project菜單中,選擇Options,出現如下的截屏顯示??梢栽O置每一類別的選項,如圖2所示。圖2. 工程選項菜單使您能夠配置每一工程的選項。
JTAG串口是實例工程唯一需要設置的選項。如果選擇了JTAG,將出現圖3所示的截屏顯示。在這個例子中,我們使用COM1作為PC至MAXQ7665評估板的通信端口。如果需要使用不同的端口,將COM改為對應的串口。
圖3. 通過JTAG接口來建立IAR工具箱和MAXQ7665之間的通信。
在建立MAXQ7665評估板新工程或者目標應用程序時,必須設置某些重要選項。使用特殊文件來建立MAXQ7665可選鏈接器和調試器配置。
IAR鏈接器選項
在Options窗口中,選擇Linker一類和Config標簽,如圖4所示。在XCL文件名部分,選擇“Override default”框,在配置目錄中找到lnkmaxq7665_A64K.xcl鏈接器文件。圖4. 在這一屏幕顯示上配置工程的鏈接器選項。
IAR調試器選項
在設置調試器選項時,選擇Debugger一類。選擇“Device description file”中的“Use device description file” (圖5),找到配置目錄中的maxq7665_A64K.ddf文件。圖5. 在這一屏幕顯示上,您可以配置調試選項。
實例工程
評估板的快速啟動CD包括幾個實例工程。實例代碼演示了MAXQ7665和評估板的功能。實例工程是可以編譯、鏈接和運行的程序。用戶可以建立工作區和工程,然后,復制實例工程代碼部分,構建應用程序。下面是對實例工程的簡要說明。ADC
該工程含有軟件來建立MAXQ7665的模數轉換器(ADC)。很容易修改ADC參數,如果采用中斷,可以將這些參數傳遞給ADC_Convert_Int函數。當轉換完成,數據準備好之后,將在中斷服務例程中返回ADC數據。如果采用了ADC輪詢,將ADC_Convert_Poll函數注釋掉。當ADC已經完成了轉換,數據準備好之后,將ADC轉換值返回給函數。CAN
CAN工程含有軟件來建立CAN控制器。實例工程設置全局CAN參數,然后,建立接收和發送消息中心。如果需要驗證這一操作,可以將CAN控制器設置為autobaud (環回)模式,將CAN數據從發送消息中心傳送至接收消息中心。DAC
該工程含有配置數模轉換器(DAC)的函數,可從每個DAC產生連續正弦波輸出。LED演示
LED演示工程設置并清除驅動LED的MAXQ7665端口比特。結果是使用LED簡單流量信號仿真。溫度轉換
MAXQ7665含有內部溫度傳感器,評估板有兩個外部溫度感應器件。溫度轉換工程可以測量內部或者外部溫度。定時器
定時器工程演示建立8位和16位脈沖寬度調制定時器,其頻率和占空比可調。還提供使用定時器0的延時定時器,精度達到1ms。UART
UART工程支持評估板和RS-232串口的接口。MAXQ7665設置UART參數,控制串行數據交換。電壓監測器
亮度調節監測器工程含有演示功能和使用亮度調節監視器探測電路的軟件。程序設置亮度調節中斷的電壓閾值;可以將中斷服務例程斷點移到待測電壓所需的斷點上。然后,用戶按下評估板PC電路板上的按鍵,觸發所需的亮度調節中斷。啟動IAR Embedded Workbench
C:\Program Files\IAR Systems\Embedded Workbench 4.0\MAXQ\src\MAXQ7665 EV Kit目錄,或者安裝源文件的目錄。選擇工作區文件MAXQ7665 EV Kit.eww,單擊open。這一選擇打開了一個MAXQ7665評估板工作區,它含有幾個工程。找到標有MAXQ7665 EV Kit LED Demo (窗口底部;右鍵單擊)的標簽,高亮顯示MAXQ7665 EV Kit Led Demo-Debug。如果還沒有設置,則右鍵單擊,選擇Set as Active Project (在屏幕上以粗體顯示)。
再次右鍵單擊,選擇Options。在這里存儲工程設置。注意:必須設置串口。選擇JTAG。在COM Port下,如果您使用的不是COM1,則輸入使用的串口。注意:必須使用COM#,而不能只是端口號。有些筆記本計算機并沒有RS-232端口,但是有USB至RS-232轉換器。
在Project菜單中,選擇Rebuild All。如果正確定位了所有文件,消息框中將顯示Errors: None以及Warnings: None。
完成了上面所述的步驟,并且沒有錯誤后,在Project菜單中選擇Debug。將應用代碼下載到MAXQ7665評估板上。
一旦下載了應用程序文件,在“main”聲明中啟動調試器。在Debug菜單中,單擊Go命令,LED將仿真流量信號。
基本問題排查
在嘗試進行MAXQ7665評估板通信時,如果出現了錯誤消息,則需要關閉并重新打開IAR Embedded Workbench。如果重新啟動IAR并沒有解決問題,則嘗試斷開和評估板連接的RS-232電纜,再次上電,復位評估板。然后,重新連接RS-232電纜,加電,打開IAR工具箱。如果IAR還不能和MAXQ7665評估板建立通信,請參考下面的高級問題排查一節。高級問題排查
這一部分介紹安裝并使用Maxim的微控制器工具包(MTK),以及通過RS-232連接來調試MAXQ7665評估板的步驟。如果IAR Embedded Workbench不能下載到MAXQ7665評估板上,則需要進行調試。需要的硬件和軟件
- Windows? PC,具有RS-232端口。
- MAXQ7665評估板
- MAXQ7665評估板安裝CD
- 交流到直流轉換器,提供12V輸出。
- DB–9至DB–9 RS-232電纜
軟件安裝
MTK目錄中MAXQ7665評估板的安裝CD提供MTK實用程序。請運行SETUPEX.exe文件,安裝MTK應用程序。硬件安裝
連接MAXQ7665評估板和交流電源適配器。采用RS-232串口電纜連接PC和評估板的DB–9連接器,該連接器標有PC RS232。啟動MTK實用程序
一旦安裝了應用程序,打開它,從下拉菜單中選擇DS89C430。該器件用于PC的RS-232端口和MAXQ7665的JTAG連接之間的通信。設置MTK選項
選擇Options,然后是Configure Serial Port。輸入使用的串口,將速率設置為115,200波特率。同時選擇“Toggle DTR on connect/disconnect”、“Save working directory on exit”和“Save COM Port Settings on Exit” (如果還沒有進行這些設置)。連接至MAXQ7665評估板
選擇Target,然后是“Open COMx at 115200 baud”,其中x是上面選項所配置的串口。按下鍵盤的回車鍵來測試RS-232接口。每次按下回車鍵時,MAXQ7665評估板應該以提示符“>”做出響應。如果這一步正常,表明評估板上的微控制器能夠識別輸入,準備好接收輸入。如果這一步不正常,請參考下面的沒有提示符一節。連接至MAXQ7665調試引擎
有一個簡單的方法來確定MAXQ7665的狀態:“Get”所有的內部寄存器。Get命令向調試引擎發送幾個基本命令,使MAXQ7665發送其所有的內部寄存器。MTK目錄中快速啟動CD的protocol.txt文件中含有該命令。使用下面的命令來獲得所有的寄存器。請確定使用了大寫鍵(CAP),因為MTK區分大小寫。圓括號中的是注釋。>I (初始化調試引擎,按下回車鍵。)
>D (輸入調試背景模式,按下回車鍵。)
>E (輸入調試模式,按下回車鍵。)
>G (獲得所有寄存器,按下回車鍵。)
如果MAXQ7665工作正常,它應該以圖6中所示的寄存器映射進行響應。注意,寄存器開始是Module 0 Register 0,然后是Module 0 Register 1,依此類推。還需要注意,可以在一行上組合多條命令。例如,>IDEG會產生同樣的結果。
圖6. 如果MAXQ7665配置正確,寄存器映射應該以Module 0,Register 0開始。
從上面的寄存器映射中,Module 0和Index 0 M[00,00]的第一個寄存器是Port 0 Output Register (PO0)。該寄存器的上電復位值(POR)是0x3F,這是正確的。后面的兩個寄存器是Port 1 M[01,00] 和Port 2 M[02,00]輸出寄存器,其POR值是0xFF,也是正確的。
如果沒有得到圖6所示的寄存器映射,而是得到了圖7所示的寄存器映射,那么按下并釋放SW10,復位MAXQ7665。一旦進行這一操作后,重復IDEG命令,應該得到圖6所示的寄存器映射。注意,圖7所示的寄存器映射也是調試引擎可以接受的狀態。
圖7. 另一種Get寄存器映射
如果成功完成了前面的步驟,那么PC至微控制器JTAG至MAXQ7665調試引擎的通信鏈路工作正常。您應該能夠關閉MTK的通信端口,關閉MTK應用程序。IAR Embedded Workbench可以下載代碼,調試MAXQ7665評估板的應用程序代碼。
調試引擎狀態
調試引擎還返回其狀態以及上面的數據。例如,第一個寄存器M[00,00]是003F:03。左面四個字符是寄存器的十六進制數值。不管寄存器長度如何,返回的數據總是16位寬。在這個例子中,有一個冒號和03。03是主機和調試引擎之間的握手信號。在這個例子中,03表示調試有效。下表列出了可能的狀態。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) |
問題排查
如果上面的操作不起作用,或者得到的結果與這里顯示的不同,那么需要進行以下操作。沒有提示符
如果不能從MAXQ7665評估板得到提示符,從評估板斷開RS-232電纜,拔下直流電源插頭。然后,重新連接RS-232電纜和直流電源插頭。如果需要,重復這一過程。同時還要確定Options菜單中的串口選擇是您正在使用的端口。如果需要了解可用的串口,運行下面的應用程序。打開控制面板System application,選擇Hardware標簽。選擇Device Manager和Ports (COM和LPT),查看可用的串口。無效數據–調試忙
有時IDEG返回的數據和下面的數據相似,例如調試引擎狀態數據含有:02。這一數值通常表明鎖定了MAXQ7665的密碼,防止擦除閃存,防止IAR Embedded Workbench和MAXQ7665之間的任何通信。請參考圖8。圖8. IDEG屏幕上的:02表明MAXQ7665密碼鎖定。
擦除MAXQ7665閃存
可以利用MTK接口來擦除MAXQ7665閃存。圖9詳細介紹了擦除所需要的步驟。圖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.) |
如果在擦除閃存時,上面的步驟沒有成功,則重復整個過程。去掉直流電源,按下復位開關,輸入上面的命令。如果擦除成功,利用上面說明的IDEG命令,您應該能成功“Get”所有的寄存器。IAR Embedded Workbench應能夠下載應用程序代碼。
評論
查看更多