arm 開發工具比較(ADS vs RealviewMDK vs RVDS)

?

ADS

REALVIEW MDK

RVDS

公司

ARM

Keil(后被ARM收購)

ARM

版本

最新1.2 ,被RVDS取代

?

最新4.0

是否免費

?

?

?

破解情況

?

工程管理

CodeWarrior IDE

nVision IDE

Eclipse/ CodeWarrior IDE

編譯器

ARM C compiler for ADS

ARM C/C++ Compiler (RVCT)

ARM C/C++ Compiler (RVCT)

調試器

ARM Extention Degugger(AXD)

NVision Degger

REALVIEW Degugger(RVD)

仿真器

ARMulator

nVision CPU & Peripheral Simulation

REALVIEW? ISS

硬件調試單元

Multi-ICE/wiggler

uLink /jlink

Realview ICE(RVI)/ Multi-ICE(3.1版本后不支持Multi-ICE)

支持調試協議

RDI

??

RDDI/RDI(3.1版本后不支持RDI)

?

參考:

1.http://blog.csdn.net/lius1984/archive/2008/06/03 /2506299.aspx(REALVIW MDK RVDS 比較)

2.http://mcuol.com/download/upfile/P48-51-fromADStoRealView_MDK.pdf (ADS REALVIEW MDK 比較)

3.http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4227.html




ARM 調試工具比較(RealView ICE - Multi-ICE 比較)


FeatureMulti-ICE?RealView??ICE
???
General
Host ConnectionParallel Port10/100 Ethernet and USB 2.0
JTAG Connection to Target20-pin (0.1")
?
20-pin (0.1")
?+ LVDS (10 & 20-pin 0.05" 2Q 08)
ARM??Core Support
ARM7TM, ARM9TM, ARM10TMYesYes
ARM11TMNoYes
CortexTM-M, -R, -ANoYes
Debug Support
ARM DebuggerRVDS 2.x to 3.0, ADS 1.2RVDS 2.x to 3.1
CoreSightTM?DebugNoDAP, SWD, ETM, ETB, ECT, TPIU, SWV for DK9, DK11, DK-R4 & DK-A8
Debug InterfaceRDIRDDI
Other interfacesTAPOp, eXDISVF, eXDI2, gdb, Virtual Ethernet
Classic Trace supportMulti Trace
(Obsolete)
RealView Trace
RealView Trace2
Real-Time ProfilingNoRealView Trace2
Performance
JTAG Clock10MHz20MHz and 50MHz using LVDS?connector?
Code download speed130 Kbps1,300 Kbps
Step rate50 per Second100 per Second
Status
Production statusDiscontinuedAvailable
???



ARM仿真調試技術


在嵌入式系統的設計中,仿真應用的范圍主要集中在對程序的仿真上。在ARM的開發過程中,一種最簡單和原始的開發流程是:編寫程序,然后燒寫到芯片上驗證功能,這種方法對于簡單的小系統是可以對付的,但在大系統中使用這種方法則是完全不可能的。所以很多時候我們需要在不燒寫代碼的情況下調試程序,這就是仿真調試技術。

現代調試技術可以分為軟件仿真調試和硬件仿真調試兩種:

一.軟件仿真(指令集仿真):

概念:

用數據結構描述目標機CPU中各個寄存器和其他資源(內存等),通過軟件模擬,可以逐條指令解釋執行目標機可執行映象中的程序。

應用場合:

●??當嵌入式軟件開發在目標硬件平臺不存在的情況下進行,就要使用這種軟件來模擬目標CPU,以驗證代碼邏輯。
????????●??是學習嵌入式開發有效地工具,可以讓學習者從底層具體硬件細節中解脫出來,專注于軟件,尤其是與具體硬件無關的系統軟件(TCP/IP協議棧)。

幾個不錯的硬件模擬平臺:

●??Skyeye:清華大學計算機系博士后陳渝發起,開源項目,主要模擬ARM內核CPU。
????????●??ARMulator:ARM公司推出,ARM指令集模擬器(ADS,Realview MDK上就用這個)。
????????●??ZIX:一個快捷高效、功能強大、易于配置的嵌入式Linux開發環境。

軟件仿真的缺點:

無法完全仿真與硬件相關的部分,最終還要通過硬件仿真來完成最終的設計。

二.硬件仿真調試:

以前的芯片沒有JTAG調試邏輯,要向仿真它就必須要有專門的仿真器,這種仿真器成本較高,而且每種芯片都不一樣,現在這種仿真器已經不存在了。

現在的芯片一般都內置了JTAG調試邏輯,并不需要CPU仿真器,需要的只是一個JTAG協議轉接器(現在還稱其為仿真器,其實叫做調試器比較合適)。所以下面主要介紹JTAG及其仿真技術。

JTAG簡介

JTAG是Joint Test Action Group的簡稱,該組織致力于統一芯片的測試標準,它們最初向IEEE提出了IEEE1149.1標準,后來經過IEEE批準并且標準化,所以IEEE1149.1標準又叫JTAG標準,它是一套芯片測試接口和標準,現在幾乎所有的CPU核里面都會實現JTAG邏輯單元。JTAG原本是用來測試芯片設計是否正確,其基本原理就是在芯片的各個管腳上放置鎖存器,然后串聯起來構成移位寄存器,可以監控芯片管腳的輸入和輸出。后來大家發現用JTAG在線調試芯片非常方便(其實就是利用JTAG控制CPU內核),還不需要設計專門的仿真芯片,因此就出現了用JTAG調試風行的局面。

邊界掃描技術(Boundary-Scan):

JTAG調試主要就是基于這種邊界掃描技術。

邊界掃描技術的基本思想是在靠近芯片的輸入輸出管腳上增加一個移位寄存器單元。因為這些移位寄存器單元都分布在芯片的邊界上,所以被稱為邊界掃描寄存器 (Boundary-Scan Register Cell) 。當芯片處于調試狀態的時候,這些邊界掃描寄存器可以將芯片和外圍的輸入輸出隔離開來。通過這些邊界掃描寄存器單元,可以實現對芯片輸入輸出信號的觀察和控制。

JTAG的主要作用:

●????檢測芯片是否良好
????????????????■這是JTAG最初設計的目標

●????鏡像文件的燒寫功能
????????????????■可以燒寫編譯出來的二進制或者十六進制可執行文件到目標板的Flahs芯片上
????????????????■當開發板為裸板(沒有固化任何程序)的時候,通常需要通過JTAG接口下載bootloader
????????????????■調試功能
????????????????■JTAG接口為宿主機和目標系統之間的通信、控制提供了方便的途徑

ARM7TDMI調試架構:

一個調試系統通常包含三個部分:

●????調試主機
????????????????■是一臺運行調試軟件(ADS,Keil等)的計算機
????????????????■可以發出一些高層的調試命令,設置斷點,訪問內存等

●????協議轉換器
????????????????■將調試主機發出的高層調試命令轉換為底層的ARM JTAG調試命令
????????????????■調試目標
????????????????■基于目標芯片的開發板

ARM7TDMI典型的調試架構如下圖所示:

經過協議轉換器進行命令解釋,主機上運行的調試軟件就可以通過JTAG接口直接和目標芯片對話了。

為了支持底層的調試,ARM7TDMI提供了硬件上的調試擴展,包括:

●??停止程序的運行
????????●??檢查和修改ARM7TDMI的內核狀態
????????●??觀察和修改內存
????????●??恢復程序的運行

常見ARM調試工具:

●????BDI1000/2000/3000
????????????????■非常好的調試工具,可以調試ARM、MIPS、PowerPC、Xscale等多種架構處理器
????????????????■JTAG下載速度可以上兆,以太網接口
????????????????■性能優越但是價格不菲,可以調試Linux內核這種復雜的代碼

●????U-Link
????????????????■U-Link是Keil公司做的用于ARM和某些增強型8051單片機調試的工具
????????????????■由于Keil公司做的時候沒有加密,導致現在盜版滿天飛
????????????????■U-link僅僅支持Keil,JTAG下載速度20K~30K
U-Link下載程序不是簡單通過JTAG,而是先用JTAG下載一段固件程序到目標板,然后再用這個固件程序和JTAG把用戶代碼寫入Flash以提高速度

●????J-Link
????????????????■J-Link是IAR公司為ARM芯片開發的調試工具
????????????????■支持RDI協議的調試工具,如Keil、ADS、IAR等
????????????????■J-Link不支持ARM10以上的內核
????????????????■JTAG下載速度400K~500K

●????Multi-ICE
????????????????■ARM公司原創調試工具,支持全系列ARM芯片
????????????????■JTAG下載速度130K左右

●????Wiggler電纜
????????????????■Wiggler是世界上最泛濫的一種調試工具
????????????????■結構非常簡單:一片74HC244 + 一個9013 + 幾個電阻
????????????????■性能一般,但是價格非常便宜
????????????????■后人又在Wiggler的硬件基礎上開發了很多的調試工具,例如大名鼎鼎的H-Jtag


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447255.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447255.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447255.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決macOS Catalina(10.15)解決阻止程序運行“macOS無法驗證此App不包含惡意軟件”

在終端里面輸入如下命令 sudo spctl --master-disable 下面圖片對比執行命令前后,安全性與隱私 界面上顯示的差異:使用命令之后,界面變了

MSYS2 + MinGW-w64 + Git + gVim 環境配置

原文 http://dantvt.is-programmer.com/posts/63161.html 以前用 MSYS 的多,最近重裝系統順帶把環境重新配一下,發現 MSYS2 挺順手的。 一、安裝 MSYS2 先裝 MSYS2 的好處是之后可以將 $HOME 設為 /home/name/,再裝其他 *nix 系工具時配置…

MAC版 的最新Docker 2.2版本配置國內代理的解決辦法

點擊Docker圖標,選擇Preference選項,進行國內代理的問題 輸入內容如下 {"experimental": false,"debug": true,"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.…

常用的Homebrew的命令的使用

(1)安裝軟件:brew install 軟件名,例如:brew install wget (2)搜索軟件:brew search 軟件名 (3)卸載軟件:brew uninstall 軟件名 (…

微軟正式提供Visual Studio 2013正式版下載(附直接鏈接匯總)

轉自 http://www.iruanmi.com/visual-studio-2013/ 微軟已經向MSDN訂閱用戶提供了Visual Studio 2013正式版鏡像下載,不過非MSDN用戶可以在微軟的Visual Studio 2013官方網站上下載到正式版鏡像(通過下載專業版本,已驗證與MSDN版本一致&…

《算法的樂趣》作者王曉華訪談:多看、多做、多想是秘訣

摘要:王曉華是一位熱衷于算法研究的程序員,他是CSDN算法專欄的超人氣博主,也是《算法的樂趣》一書的作者。近日,筆者采訪了王曉華,請他分享算法的經驗之道。 王曉華是一位熱衷于算法研究的程序員,他是CSDN…

基于Mac環境搭建以太坊私有區塊鏈進行挖礦模擬

第一步:相關軟件的安裝 go-ethereum客戶端安裝Go-ethereum客戶端通常被稱為Geth,它是個命令行界面,執行在Go上實現的完整以太坊節點。Geth得益于Go語言的多平臺特性,支持在多個平臺上使用(比如Windows、Linux、Mac)。Geth是以太坊…

Springboot 添加server.servlet.context-path

Springboot 2.0變革后的配置區別 1、springboot 2.0之前,配置為 server.context-path 2、springboot 2.0之后,配置為 server.servlet.context-path

vs2015 支持Android arm neon Introducing Visual Studio’s Emulator for Android

visual studio 2015支持Android開發了。 Microsoft released Visual Studio 2015 Preview this week and with it you now have options for Android development. When choosing one of those Android development options, Visual Studio will also install the brand new Vi…

基于linux環境采用update-alternatives 方式進行python版本切換

采用update-alternatives 切換版本 update-alternatives是Debian提供的一個工具,通過鏈接的方式,但是其切換的過程非常方便。首先看一下update-alternatives的幫助信息: $ update-alternatives --help 用法:update-alternatives …

FFmpeg示例程序合集-批量編譯腳本

此前做了一系列有關FFmpeg的示例程序,組成了《 最簡單的FFmpeg示例程序合集》,其中包含了如下項目:simplest ffmpeg player: 最簡單的基于FFmpeg的視頻播放器simplest ffmpeg audio player: 最簡單的基于FFmpeg的音頻…

基于Ubuntu環境使用docker搭建對于中文識別的chineseocr_lite項目

光學字符識別(OCR) 光學字符識別(OCR)目前已經有了很廣泛的應用,很多開源項目都會嵌入OCR 來擴展原有的能力,例如身份證識別、出入停車場的車牌識別、拍照翻譯等等本文介紹的開源的中文 OCR 項目&#xff…

Ubuntu環境使用conda安裝輕量級中文ocr開源項目chineseocr_lite,最簡單的方式

問題 接使用docker的方式來創建項目所報的錯誤選中文件之后,界面不停的繞圈,顯示不了對于圖片的識別結果,并且監控界面上出現錯誤提示如下ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory&a…

基于Ubuntu使用docker的方式來搭建基于Yolo3+crnn的Chineseocr識別

Docker Docker簡單易用,具體的安裝和配置可以看我的或者其他人的博客 安裝完之后,輸入以下命令安裝chineseocr并且開啟服務 docker pull zergmk2/chineseocr docker run -d -p 8080:8080 zergmk2/chineseocr 在瀏覽器輸入http://127.0.0.1:8080/ocr網…

c/c++ 內存使用指南 和實踐指導

如果你完全理解如下內容, 請聯系我:szu030606163.com, 討論更深層次合作 。 1. 大內高手—內存模型 單線程模型 多線程模型 2. 大內高手—棧/堆 backtrace的實現 alloca的實現 可變參數的實現。 malloc/free系列函數簡介 new…

mininet 應用實踐

教學目的與學時建議 能夠運用 mininet 可視化工具創建計算機網絡拓撲結構能夠運用 mininet 交互界面創建拓撲結構能夠運用 python 腳本構建計算機網絡拓撲結構建議:2 學時 實驗環境 下載并安裝虛擬機 VMware workstation;下載虛擬機鏡像( S…

使用百度大腦,導入aip以及相應的庫文件報錯問題

參考文章 github鏈接地址 具體操作 pip install githttps://github.com/Baidu-AIP/python-sdk.gitmasterfrom aip import 對應服務即可

一個通用的makefile寫法,自動推導文件的依賴關系

溫習之用。 假設有兩個頭文件目錄 header1,header2;兩個cpp文件目錄,src1,src2,一個lib目錄 寫一個完整的makefile步驟如下: 1 定義可執行文件的名稱 TARGET MyPro 2 指定此編譯工程所要使用的頭文件所在的目錄 INC -I. -Iheader1 -Iheader2 3 指…

實現基于darknet框架實現CTPN版本自然場景文字檢測 與CNN+CTCOCR文字識別的ChineseOCR搭建

Github地址 Github源碼地址 支持系統:mac/ubuntu python3.6 實現功能 文字檢測; 文字識別; 支持GPU/CPU,CPU優化(opencv dnn) docker鏡像服務(CPU優化版本) 下載鏡像 鏈接:https://pan.baidu…

50個c/c++源代碼網站

C/C是最主要的編程語言。這里列出了50名優秀網站和網頁清單,這些網站提供c/c源代碼。這份清單提供了源代碼的鏈接以及它們的小說明。我已盡力包括最佳的C/C源代碼的網站。這不是一個完整的清單,您有建議可以聯系我,我將歡迎您的建議&#xff…