TRACE32系列仿真器介绍 深圳旋极公司 www.watertek.com 皮永辉.

Slides:



Advertisements
Similar presentations
提高阶段: ——ARM部分 电气工程系 赵志衡.
Advertisements

嵌入式系统 主讲人: 赵宏伟 学时: 32 吉林大学计算机科学与技术学院.
第 2 章 中央處理單元.
第二部分 嵌入式硬件系统 第2章 嵌入式处理器 第3章 ARM内核与ARM处理器 第4章 嵌入式系统的外围设备.
嵌入式系统与结构 —基于ARM的体系结构和应用开发
基于s3c44B0X嵌入式uCLinux系统原理及应用
计算机硬件设备图片 go 珠海市第四中学 信息技术组.
NEUSOFT Institute of information Technology .ChengDu
第2章 SOPC硬件开发环境及流程.
单片机应用技术 项目一 循环彩灯装置 第7讲 Keil软件的使用 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
操作系统结构.
计算机导论 第4讲 微型计算机硬件系统 1.
计算机常见故障及排除方法 刘广君 2013年8月 励志图强 求实奋进.
一年16班 黃佳弘 硬 碟 機 Hard Disk Driver.
UClinux在3000平台上的移植.
《计算机操作员》精品 课件 淮南市潘集职教中心
單晶片原理與應用 魏兆煌 整理 南台科技大學 電機系 Sep
Hardware Chen Ching-Jung
CH.2 Introduction to Microprocessor-Based Control
主讲教师:唐大仕 第5讲 计算机硬件 主讲教师:唐大仕
第 2 章 中央處理單元.
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
高雄應用科技大學 有線網路建置實習(I) 聯易科技股份有限公司 Ben 李政勳
ARM存储器结构 ARM架构的处理器的存储器寻址空间有4G字节 ,存储空间可以分为 :
主講:王穎聰 電腦與通訊工程學系講師 銘傳大學資訊網路處
99(1)義守大學工讀職場技能精進訓練班 資訊工程系 林義隆 老師
S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
微 電 腦 實 驗 Megawin MPC82G516 操作與環境設定.
Bootloader技术分析.
5 Computer Organization (計算機組織).
SOLUTIONACCELERATORS Windows Vista Hardware Assessment 1
第4章 PIC软件开发设计基础.
C H A P T E R 8 体系结构对系统开发的支持.
嵌入式系统设计与开发 第1章 概述 第2章 ARM及其编程模型 第3章 ARM指令集 第4章 嵌入式程序设计
微机原理及单片机接口技术 电话: Tel:84192 山东大学生物医学工程.
單晶片MCS-51 C語言入門實習 第2章 KEIL-51工具軟體 作者:董勝源.
第1章 嵌入式系统概述 嵌入式系统的发展、定义、特点、组成、分类 嵌入式系统硬件核心、软件核心 嵌入式实时操作系统
第6章 FPGA的下载配置电路设计.
EDA 原理及应用 何宾
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
Visual Studio Team System 简介
基于ARM的 嵌入式开发技术 作者:皮永辉 深圳旋极历通科技有限公司
嵌入式系统的Boot Loader技术 陈文智 浙江大学计算机学院 2009年5月.
JTAG INTERFACE SRAM TESTER WITH C-LCM
第9章 DSP集成开发环境CCS 内容提要 CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。 本章对CCS开发软件的使用作了详细地介绍。首先,对CCS开发软件作了简要地说明,并介绍了该软件的安装及配置;其次,介绍了CCS的基本操作,包括:CCS的窗口和工具条、文件的编辑、反汇编窗口、存储器窗口、寄存器窗口、观察窗口
逆向工程-汇编语言
CPU结构和功能.
认识计算机系统.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
Introduction to C Programming
第3章 嵌入式系统的设计方法 3.1 嵌入式系统的总体结构 3.2 嵌入式系统开发过程 3.3 ADS集成开发环境的使用
8051單晶片 蘇恆生 老師.
第2章ARM/THUMB微处理器结构及指令系统
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
ARM Developer Suite 介 绍.
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
微處理機 Microprocessor (100上)
第10章 存储器接口 罗文坚 中国科大 计算机学院
第六章 記憶體.
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
HSC高速输出例程 HORNER APG.
第二章ADS1.2开发环境创建与简介.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
第11章 儲存裝置 與其管理.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
DSP技术与应用 电子与信息技术系.
第三章 计算机体系结构.
Presentation transcript:

TRACE32系列仿真器介绍 深圳旋极公司 www.watertek.com 皮永辉

产品概况 One System Fits All 德国Lauterbach公司出品 全能型开发工具 产品有3个系列: TRACE32-ICE(In Circuit Emulator) TRACE32-ICD(In Circuit Debugger) TRACE32-FIRE(Fully Integrated RISC Emulator) 网址:WWW.LAUTERBACH.COM

TRACE32为何与众不同 一、All in One,模块化。丰与俭,巧规划。 模块化结构。可按用户要求裁剪,配置 多种仪器的综合体: 通用仿真器 逻辑/状态/时序分析仪 通用计数器/定时器 模式/脉冲信号源 模拟调试器 软件测试 FLASH编程

TRACE32为何与众不同 二、CPU,一网收。调新品,只换头。 TRACE32支持600种以上的微处理器。以下是部分常见品牌: AMD ARM Dallas Hitachi IBM Intel Mitsubishi Motorola National NEC Oki Philips SGS-Thomson Siemens Toshiba Zilog Infineon ... 通用性,更换仿真模块就可调试不同的芯片

TRACE32为何与众不同 三、编译器,款款宜。各平台,没问题。 TRACE32支持60种以上的编译器,主要有: ARM Borland Tasking CAD-UL Diab-SDS Greenhills Hitech Hiware HP IAR Intel Keil Microsoft Motorola... TRACE32支持6种编程语言: ASM, C, C++,PASCAL,PL/M, ADA或MODULA2 TRACE32支持15种不同的主机操平台,主要有: Windsows3.1/95/98/NT HP-UX Solaris...

TRACE32为何与众不同 四、RTOS,可调试。多任务,全透视。 TRACE32支持的嵌入式操作系统超过20种,主要有 Nucleus OSE Rubus CMX RTXC pSOS VxWORKS... TRACE32支持RTOS调试: RTOS专用菜单 Kernel资源显示 Task状态显示、统计评估 任务级调试 ...

TRACE32为何与众不同 五、FLASH,可擦写。全序列,任选择。 TRACE32支持FLASH在线编程,FLASH(厂家)主要有: AMD ATMEL FUJISTU INTEL MACRONIX MICRON MITSUBISHI MOTOROLA SHARP SST ST TI TOSHIBA… 既支持片外FLASH,也支持片内FLASH 支持8bit、16bit、32bit总线宽度

TRACE32为何与众不同 六、测软件,辨好坏。查性能,算覆盖。 TRACE32具有独特的嵌入式软件测试功能: 程序追踪(Trace) 程序流程 选择追踪... 函数性能测试(Performance) 运行时间 函数嵌套... 代码覆盖分析(Coverage) 代码覆盖率 变量检查(读/写) 堆栈深度分析...

TRACE32为何与众不同 七、个性化,易使用。菜单键,自己弄。 个性化的可编程菜单和功能键,用户可以根据自己的需要增加或删除某些下拉菜单和工具按键

TRACE32为何与众不同 八、基本功,样样精。搞开发,轻轻松。 Memory 测试 硬件断点功能,TRACE32可以在FLASH或EPROM 中直接调试 支持多CPU调试 丰富的断点类型 支持MMU、 FPU调试 上下文追踪系统CTS(Context Tracing System) 条件执行功能(STEP、GO) ...

TRACE32——开放的体系结构 硬件设计模快化 Easy adaptation to new derivatives 开放的调试接口 Easy integration with Compilers, RTOS, CASE tools 开放的主机接口 Easy portable to other Host platforms

Trace32-ICE的结构 Host Connection To Target

TRACE32-ICE

TRACE32-ICE的基本模块 仿真头Emulation Probe 仿真基本模块Emulation Base 逻辑分析仪State Analyzer 扩展存储模块 Emulation RAM up to16M 仿真控制模块Emulation Controller 系统控制模块System Controller

TRACE32-ICE配置方案举例 例1:简洁型,针对8位单片机 ICExxx ECC8 SCU32

TRACE32-ICE配置方案举例 例2:简洁型,针对32位单片机 ICExxx ECC32 SCU32

TRACE32-ICE配置方案举例 例3:针对32位机仿真器,带扩展仿真存储器 ICExxx SRAM ECC32 SCU32

TRACE32-ICE配置方案举例 例4:32位仿真器,带扩展仿真存储器和逻辑分析仪 ICExxx SRAM HA120 ECU32 SCU32

TRACE32 -- ICE 仿真头 Another sample Y2K test case

TRACE32 -ICD TRACE32-ICD是基于集成在片内的调试和跟踪逻辑 (BDM、JTAG、ETM、OCDS、NEXUS)的在线调试 器(In-Circuit Debugger)

常见的调试接口 BDM:背景调试模式 Background Debug Mode 主要由Motorola使用,用于调试 有6Pin和10Pin两种形式 JTAG:边界扫描 边界扫描来源于IEEE Std 1149.1,是由联合测试行动小组(Joint Test Action Group)制定的一种测试逻辑,所以又称JTAG标准。 基本功能(必须实现)是边界扫描测试 调试功能(可选)

常见的调试接口 OCDS On Chip Debug Support 由Infineon公司定义 有16Pin和40Pin两种形式 NEXUS NEXUS来自IEEE-ISTO 5001标准 用于嵌入式微处理器调试 标准接口为5Pin 可以加入用户定义的引脚 调试功能共有4级

TRACE32-ICD 基本结构 典型构成: 1、Controller 2、Debugger 3、Debug Port

TRACE32-ICD的基本模块 控制/接口模块 - PODPRT(并口) 调试模块 - DEBUG - ETH(网口) 调试模块 - DEBUG - PowerDEBUG - PowerDEBUG USB Trace模块 - PowerNEXU、 - ICR (RISC Trace) - PowerTrace ROM 调试器(ESI) 激励产生器(STG) 强力探测器(PowerProbe)

TRACE32-ICD 的扩展

ICD配置方案 例 1: ROM仿真器(并口,8/16位) 1:PRT Cable 2:Podbus Parallel Interface 3: EPROM Simulator Module and ROM Monitor

ICD配置方案 例 2: ROM仿真器(网口,32位) Ethernet Interface EPROM Simulator Module and ROM Monitor EPROM Simulator Module

ICD配置方案 例 3: BDM/JTAG调试器,带ROM仿真器(网口) Hub Ethernet Interface BDM/JTAG Debugger EPROM Simulator Module

ICD配置方案 例 4: BDM/JTAG调试器,带ROM仿真器(USB口) BDM/JTAG Debugger with USB Interface EPROM Simulator Module

ICD配置方案 例 5: BDM/JTAG调试器,带Trace模块(并口) PRT Cable Podbus Parallel Interface BDM/JTAG Debugger RISC Trace Module

ICD配置方案 例 6: BDM/JTAG调试器,带触发探头(并口) Printer Cable Parallel Interface BDM/JTAGDebugger Trigger Probe

TRACE32-FIRE for RISC

TRACE32-RIRE

Trace32的使用 安装

Trace32的使用 调试界面 下拉菜单:大多数常用功能都能在菜单中找到 常用按钮:常用调试和显示命令 命令行:所有的功能都可以通过命令的形式来实现 命令提示软键:当你要输入某种命令时,它会及时给出命令和子命令关键字,非常方便 滚动信息条:命令执行过程中的错误信息提示 状态指示:给出光标的地址信息/名称,以及CPU的运行状态等 各种显示窗口

Trace32的使用 TRACE32命令集 TRACE32使用同一个命令集 命令格式: B::WinPrint.Data.Dump 0x1000 /byte option parameter sub-command command pre-command device name 所有命令都支持简略形式

Trace32的使用 Support for a wide range of on-chip debug interfaces Easy high-level and assembler debugging Interface to all compilers Fast download RTOS awareness Interface to all hosts Display of internal and external peripherals at a logical level Flash programming Hardware breakpoints and trigger (if supported by the on-chip debug interface) Trace extension available Multiprocessor/multicore debugging Software trace Virtual analyzer USB, Ethernet or Parallel Interface

Trace32的使用 简单调试命令 Step.single Step.over Go.next Go.return Go.up Go.NoBreak

Trace32的使用 复合调试命令 这类命令允许单步或全速运行程序,直到满足某条件时停止 Step.Change R(D1) Var.Step.Change <hll-expression> Go. Change Data.Byte(D:2777) Var. Go.Change <hll-expression> Step.Till R(D2)==0A Var.Step.Till I>9 Go.Till R(D2)==0A Var. Go.Till I>9 Var. Break.Pass Flag(6)==Flag(9) Var.Break.Pass <hll-expression>

Trace32的使用 E D C B A W R S H P 断点:TRACE32提供10种不同的断点类型 Program 断点 HLL断点 Spot断点 Read断点 Write断点 Alpha断点 Beta断点 Charly断点 Delta断点 Echo断点

Trace32的使用 断点:不同的断点有不同的用处 P、H:同步,最常规的程序断点 R、W:异步,对变量读、写时中断 A、B、C:异步,对变量读/写时中断,主要用于逻辑分析仪的触发条件(地址选择) S:程序区为同步,数据区为异步。主要用于“视点”刷新,即当程序到达S断点的一瞬间刷新所有显示窗口(约需100-500微秒)

Trace32的使用 设置断点 Break >Set >编辑窗口 选中源程序/变量等,点击鼠标右键

Trace32的使用 与断点有关的命令: Break.Set (Sets permanent breakpoint on assembler level) Var.Break.Set (Sets permanent breakpoint on HLL level) Break (Sets temporary breakpoint on assembler level) Var.Break (Sets temporary breakpoints HLL level) Break.List Break.Delete Var.Break.Delete

Trace32的使用 数据或程序存储区调试(Data命令) Data.dump [< address>|<range>] [/<format>|<option> ...] Data.Set [< address>|<range>] %<format> /<option> Data.View %<format> [< address>|<range>] [/<option>] Data.List [< address>] [/<option>] Data.ListAsm [< address>] [/<option>] Data.ListHll [< address>] [/<option>] Data.ListMix [< address>] [/<option>]

Trace32的使用 写FLASH 写片外FLASH的过程如下(以AM28F010为例): Flash.Reset Flash.Create 0--3FFFF AM28F256 Word Flash.Program All Data.Load <文件名> (Data.Set ...) Flash.Program Off TRACE32也支持用户提供的烧写程序

Trace32的使用 RTOS调试:启动RTOS调试功能(以Nucleus为例): Task.Config Nuc ;配置多任务调试器 Menu.Reprogram Nuc ;启动Nucleus菜单 相关命令: Task.TaskStat Task.MbxStat Task.QueueStat Task.EventStat ...

Trace32的使用 增加一个菜单: MENU.AddMenu <name> <command> 增加一个工具键: 例:Menu.AddMenu”连接目标板“ ”System.up” 例:Menu.Reprogram Example 增加一个工具键: MENU.AddTool <tooltip text> <tool image> <command> 例:Menu.AddTool “Reset” “R” “Sys.Res”

Trace32的使用 MMU调试 TRACE32提供丰富的MMU调试命令,例如: MMU.CLEANUP Clean up MMU table MMU.COMMON Define common area MMU.Create Create translation MMU.CreateTab Create multiple translations MMU.Delete Delete translation MMU.DUMP Dump MMU tables MMU.OFF Deactivate MMU translation MMU.ON Activate MMU translation MMU.List List MMU translation table

Trace32的使用 MMU.ListID List MMU space ID table MMU.Protect Protect memory MMU.RESet Reset MMU configuration MMU.SCAN Scan MMU tables MMU.SCANALL Scan all MMU tables of kernel MMU.ScanID Scan MMU address space tables from kernel MMU.Set Set MMU registers MMU.TRANS Transparent banking area MMU.view View MMU registers

Trace32的使用 例:MMU调试 y.reset ;clear symbols mmu.reset ;clear MMU table mmu.create 0x00000++0x3ffff 0x00000++0x3ffff ;first logical space mmu.create 0x40000++0x3ffff 0x80000++0x3ffff ;second logical space mmu.on ;activate MMU w.d 0x40000 ;display logical address 40000 w.d a:0x40000 ;display physical address 40000 d.load.i main.abs /noclear ;load program to logical space;keep MMU table alive

Trace32的使用 多内核调试 TRACE32-ICD支持多内核调试,即当微处理器内含有2个以上的内核时(JTAG口串行连接),你可以指定调试某个特定的内核,例如: TDI ---> Core A ---> Core B ---> ARM 9 ---> Core C ---> TDO 各JTAG口指令寄存器的长度分别为: Core A:3 bit Core B:5 bit Core C:6 bit 希望调试ARM9,怎么办?

Trace32的使用 多内核调试 可使用SYStem.MultiCore 命令进行配置 格式: SYStem.MultiCore <location> <number> 其中< location>为位置指示: IRPRE JTAG链中位于ARM9与TDO之间所有寄存器的bit数 IRPOST JTAG链中位于TDI到ARM9之间所有寄存器的bit数 DRPRE JTAG链中位于ARM9与TDO之间的内核数 DRPOST JTAG链中位于TDI到ARM9之间的内核数

Trace32的使用 多内核调试 因此可以这样配置 SYStem.MultiCore IRPRE 6 ; IR Core C SYStem.MultiCore IRPOST 8 ; IR Core A + B SYStem.MultiCore DRPRE 1 ; Core C SYStem.MultiCore DRPOST 2 ; Core A + B SYStem.Up

Trace32的使用 TRACE32的其他命令 逻辑/状态分析 触发 函数性能分析 ROM调试 定时器/计数器 激励信号产生 脚本语言命令(Practice) CTS分析 …...

谢谢大家