瑞薩E1/E20仿真器:設計、調試與使用全解析
在嵌入式系統開發中,仿真器是不可或缺的工具,它能幫助工程師高效地進行硬件調試和程序開發。瑞薩的E1/E20仿真器就是這樣一款強大的工具,今天我們就來詳細了解一下它的使用方法、調試技巧以及一些注意事項。
文件下載:R5F104PLAFA#30.pdf
一、仿真器概述
瑞薩E1/E20仿真器的用戶手冊包含兩部分:《E1/E20 Emulator User’s Manual》和《E1/E20 Emulator Additional Document for User’s Manual》。在使用之前,務必仔細閱讀這兩份文檔。該仿真器支持R8C系列的多個MCU,如R8C/3x系列和R8C/Lx系列,適用于單芯片模式。
1.1 規格參數
- 目標MCU:涵蓋了眾多R8C家族的產品,具體型號在手冊中有詳細列表。
- 仿真器規格:E1(R0E000010KCE00)和E20(R0E000200KCT00)兩款仿真器,采用USB總線供電,無需額外電源。適用的調試器為R8C E1/E20 Emulator Debugger,工作環境對溫度、濕度、振動等都有一定要求。
- 操作環境:支持Windows XP(32位)、Windows 7(32位和64位)、Windows Vista(32位)等操作系統,對PC的CPU、內存、接口等也有相應要求。
- MCU相關規格:電源電壓范圍為1.8 - 5.5V,最大工作頻率為20MHz,最小為32.768KHz,通過14針連接器與用戶系統連接。
1.2 適用工具鏈和第三方產品
可以調試內部工具鏈和第三方產品創建的模塊,如M3T - NC30WA V.5.20 Release 01或更高版本的工具鏈,以及IAR EWM16C V.2.12或更高版本、TASKING M16C C/C++/EC++ Compiler V.2.3r1或更高版本的第三方產品。
二、用戶系統設計
2.1 連接器選擇
在將E1或E20仿真器連接到用戶系統時,需要在用戶系統上安裝合適的連接器。推薦使用3M Limited的14針連接器,如2514 - 6002(用于國外)和7614 - 6002(用于日本)。連接時要注意一些事項,如在連接器周圍5mm內不要安裝高度超過10mm的組件,將14針連接器的2、12和14針牢固連接到用戶系統板的GND上,插拔用戶系統接口電纜時要握住電纜頭部的連接器蓋。
2.2 小連接器轉換適配器
如果使用瑞薩單獨提供的E1仿真器小連接器轉換適配器(R0E000010CKZ11),要注意其連接器引腳分配與標準接口連接器不同。
2.3 系統接地連接
仿真器的信號接地與用戶系統的信號接地相連,在用戶系統中,只連接框架接地,不要將信號接地與框架接地相連,否則可能會因接地電位不同導致冒煙、起火或觸電等危險。
2.4 與MCU的連接示例
推薦的E1/E20連接連接器與MCU的連接方式中,MODE引腳用于MCU控制和強制中斷控制,不要連接電容等;RESET#引腳使用開集電極輸出緩沖器或CR復位電路作為復位電路,上拉值推薦為4.7kΩ或更高。同時,相鄰上拉電阻可能會受到其他引腳噪聲的影響,連接器與MCU之間的布線應盡可能短,信號線路不要與其他信號線路連接。
2.5 接口電路參考
手冊中給出了E1和E20仿真器的接口電路示例,可作為確定上拉電阻值的參考。
三、調試準備
3.1 激活工作區
要激活高性能嵌入式工作區,首先將仿真器連接到主機和用戶系統,然后從[開始]菜單的[程序]中選擇[Renesas -> High - performance Embedded Workshop -> High - performance Embedded Workshop]。在彈出的[Welcome!]對話框中,可以選擇創建新的工作區、打開最近的工作區或瀏覽其他工作區。
3.2 創建工作區
創建新工作區時,根據是否使用工具鏈有不同的步驟。如果不使用工具鏈,在[Welcome!]對話框中選擇創建新工作區,啟動項目生成器,輸入工作區名稱、項目名稱、目錄、CPU家族等信息;如果使用工具鏈,還需要選擇合適的工具鏈。
3.3 打開現有工作區
在[Welcome!]對話框中選擇瀏覽其他項目工作區,指定工作區所在的目錄,選擇工作區文件(擴展名為.hws),即可打開工作區。
3.4 連接仿真器
連接仿真器有多種方法,如在啟動前進行仿真器設置,選擇[Debug Settings…]從[Debug]菜單打開[Debug Settings]對話框,選擇調試目標、注冊下載模塊和自動執行的命令鏈;也可以加載會話文件。如果仿真器斷開連接,可以通過[Debug]菜單的[Connect]、工具欄按鈕或命令行輸入連接命令進行重新連接。
3.5 斷開仿真器
要斷開仿真器,可以通過[Debug]菜單的[Disconnect]、工具欄按鈕或命令行輸入斷開命令。
3.6 調試相關設置
在調試前,需要進行一些設置,如指定下載模塊、設置命令行批處理文件的自動執行等。可以通過[Debug Settings…]菜單打開[Debug Settings]對話框進行設置。
3.7 啟動仿真器調試器
啟動E1/E20仿真器調試器時,要確保用戶系統電源關閉,連接好用戶系統接口電纜和USB接口電纜。使用產品附帶的教程工作區,按照相應步驟操作,檢查仿真器和MCU的連接情況。
3.8 啟動時的設置對話框
仿真器啟動時會顯示三個對話框:
- [Initial Settings]對話框:用于選擇目標MCU和建立通信,可通過[Setup]菜單的[Emulator] -> [Device Setting…]重新顯示,但啟動后更改設置不會立即生效。
- [Configuration Properties]對話框:在[Initial Settings]對話框之后顯示,用于進行與仿真器和調試功能相關的設置,可通過[Setup]菜單的[Emulator] -> [System]重新打開。
- [Connecting…]對話框:顯示啟動處理的進度。
四、調試功能
4.1 調試功能列表
瑞薩E1/E20仿真器調試器支持多種調試功能,包括程序下載、內存訪問、斷點設置、跟蹤功能等。不同的操作模式(如[Writing the on - chip flash memory mode]和[Debugging mode])支持的功能有所不同。
4.2 程序下載
選擇[Download]從[Debug]菜單或右鍵單擊[Download modules]中的加載模塊,選擇[Download]即可下載程序。下載前需要將程序注冊為加載模塊,注意指定的訪問大小應為1字節。
4.3 打開源文件
可以通過選擇源文件并點擊[Open]按鈕或雙擊[Workspace]窗口中的源文件來打開源文件。在[Editor]窗口中,左側有[Source Address]、[On - Chip Breakpoint]、[S/W Breakpoint]等列,提供地址、斷點等信息。
4.4 內存訪問功能
- 內存讀寫:通過[Memory…]窗口可以進行內存內容的顯示、變量顯示、數據保存和加載等操作,還支持自動更新內存數據。
- 其他內存操作:包括內存填充、移動、比較、搜索等功能,但在操作時要注意數據大小的指定,避免出現錯誤。
4.5 斷點功能
- 強制中斷:用于強制中斷用戶程序的執行。
- S/W中斷:通過重寫指定地址的指令為調試專用指令來中斷程序,設置和移除S/W斷點會涉及內存寫入。
- 片上中斷:包括預PC中斷、數據訪問中斷和跟蹤滿中斷等功能。
4.6 跟蹤功能
跟蹤功能可以獲取用戶程序執行過程中的分支信息和數據訪問信息,幫助工程師分析程序執行流程。可以通過[View -> Code -> Trace]打開[Trace]窗口查看跟蹤結果,設置跟蹤條件包括跟蹤類型、開始條件、停止條件等。
4.7 狀態條
通過顯示[Status]條可以了解調試平臺的當前狀態,包括PC狀態、任務ID、中斷條件、執行時間等信息。
4.8 啟動/停止功能
仿真器可以在用戶程序執行前后執行特定的例程,通過[Setup -> Emulator -> Start/stop Function Setting…]打開對話框進行設置。但該功能有一些限制,如在指定例程執行期間,部分調試功能無效。
五、教程示例
教程程序使用C語言編寫,對隨機數據進行排序。通過這個示例可以了解如何使用仿真器和調試器的各項功能,包括啟動高性能嵌入式工作區、連接仿真器、下載教程程序、設置斷點、執行程序、檢查斷點、更改寄存器內容、查看符號和內存內容等。
六、使用注意事項
6.1 MCU資源使用
- 程序區域:不同型號的MCU有不同的程序區域用于仿真器,不要更改這些區域,否則仿真器可能無法控制MCU。
- 引腳使用:仿真器使用RESET#和MODE引腳控制MCU。
- 中斷使用:BRK指令中斷、地址匹配中斷、單步中斷和地址中斷被仿真器程序使用,用戶程序不要使用這些中斷。
- 堆棧區域:仿真器在用戶程序中斷期間使用最多8字節的堆棧指針,需要預留相應的堆棧區域。
- SFR使用:部分SFR被仿真器程序使用,不要隨意更改其值。
6.2 復位問題
- 電源復位和電壓監測0復位不能使用,否則仿真器會失控。
- 調試期間復位向量地址被仿真器程序使用,用戶程序運行時顯示的是仿真器設置的值。
- MCU復位后,會先進入仿真器程序,然后再重啟用戶程序,不同類型的復位行為有所不同。
6.3 內部ROM區域
- 更改內部ROM區域時,只有仿真器的內部緩存會更新,更改內容在用戶程序啟動前才會反映到MCU中。
- 在CPU重寫模式下調試時,不要重寫特定區域的CPU,否則仿真器無法控制MCU。
- 仿真器進行閃存內存重寫時,不要對MCU進行復位或調試操作。
6.4 電源供應
E1仿真器不向用戶系統供電時,會消耗一定的電源電壓。在批量生產過程中,不建議使用E1仿真器的電源供應功能,應根據MCU的允許電壓單獨供電。
6.5 調試功能限制
- 單步執行時,S/W斷點和片上斷點無效,部分指令的單步執行有特殊限制。
- “Go to cursor”功能使用地址匹配中斷實現,執行該命令時,所有斷點無效。
- 在停止模式或等待模式下調試時,要設置斷點并避免操作窗口,直到程序停止。
6.6 CAN模塊使用注意事項(僅適用于R8C/3xW和R8C/3xX)
- 使用CAN模塊時,CPU時鐘應在4MHz或以上,否則可能出現通信錯誤。
- 不要從內存窗口等激活CAN模塊,不要進入停止模式,否則可能導致通信錯誤。
- 如果MCU的操作時鐘速度較低,設置或移除S/W斷點可能需要時間,建議優先使用片上斷點。
瑞薩E1/E20仿真器是一款功能強大的調試工具,但在使用過程中需要注意各種細節和限制。通過仔細閱讀用戶手冊,掌握正確的使用方法和調試技巧,工程師可以更高效地進行嵌入式系統的開發和調試。你在使用這款仿真器的過程中遇到過哪些問題呢?歡迎在評論區分享。
發布評論請先 登錄
瑞薩E1/E20仿真器:設計、調試與使用全解析
評論