TRACE32是LAUTERBACH公司开发的在线调试工具,功能强大,可以做单步跟踪,设置断点等各种在线调试。一般大家对其习惯的称呼有:“trace32”,“T32”,“trace”,“lauterbach”。

​Lauterbach官网 https://www.lauterbach.com/

本文章主要简单介绍T32连接配置,连接脚本,以及代码下载与基础调试。

如果写的有异议或错误,欢迎大家留言指正,谢谢!

目录

1: T32打开界面

2: 参数设置

3:加载.axf/.elf/symbol文件

4:加载和保存二进制数据

5:dump数据

6: 调试


1: T32打开界面

1:  首先需要安装,一般默认安装在C:\T32,在安装路径下T32/bin/windows64 下打开t32start.exe,如下,检查路径是否正确,检查core是否正确。

2: 然后点击start;

界面功能说明如下:

2: 参数设置

1:设置CPU等参数。也可以写一个.cmm脚本,在file--> edit script中加载并debug该脚本。

2: 一个简单的脚本(命令行方式)如下(忘记区分大小写了):

system.mode down

system.reset  (复位CPU)

system.jtagclok 10Mhz(设置jtag clk)

system.cpu =contexm33 (目标CPU)

system.config memoryaccessport 0 (下面4个是在上图中最后侧点击CONFIG设置项)

system.config debugaccessport 1

system.config jtagaccessport 2

system.config corejtagport 2

system.config SWDPTargetSel  0x02000001 (target ID,一般为硬件决定)

system.mode up (trac32与板子连接,并CPU指向初始化向量表,一般为rom/ram零地址)

总结:执行该脚本主要实现了CPU重启,初始化连接,CPU指向中断向量表。

3:加载.axf/.elf/symbol文件

可以直接使用file--> load file,或者在脚本中增加

data.load  elf_file_name (下载code到内存,覆盖原有内存数据)

或 data.load elf_file_name /nocode (只下载符号表,不覆盖内存,通常用于调试)

4:加载和保存二进制数据

加载数据(到内存):data.load .binary (file_name)  mem_addr

保存数据(到文件):data.save.binary (file_name) mem_addr++(mem_size-1)

或data.save.binary (file_name) mem_addr1++mem_addr2

//保存addr1~addr2范围的数据

5:dump数据

下载二进制数据时出现bus error时,可以用来检查load的目标地址是否可以正常访问(读写)。

6: 调试

下载成功后,点击工具菜单中的, 查看汇编代码

汇编语言调试窗口:

1): step (F2)

单步运行。在碰到子函数的时候会进入子函数中的第一条代码。

2)over(F3)

单步执行,和step区别是遇到函数时,over会执行完这个函数,到下一条指令,不会进入函数内。

2): next

Next的模式会在当前代码的下一条代码打一个临时断点,当程序执行以后会一直运行直到碰到这个临时断点,它可以帮助我们直接跨过一个循环体.比如:

3)return

Return 会在一个函数的最后一行设置一个临时断点,当在函数体内点击Return以后,程序会一直运行直到停在设置的临时断点的位置。

4)up

up会从当前函数执行结束,跳到应用它的函数的下条指令

5) go

执行应用程序,直到碰到用户设置的断点才停下来。

trace32专栏——基础调试相关推荐

  1. trace32专栏 | 基础调试

    T32打开界面 首先需要安装,一般默认安装在C:\T32,在安装路径下T32/bin/windows64 下打开t32start.exe,如下,检查路径是否正确,检查core是否正确. 然后点击sta ...

  2. TRACE32——SMP多核调试

    TRACE32--SMP多核调试 很多时候我们需要调试SMP多核芯片,或者一个复杂的处理器里的SMP多核部分,例如英飞凌TC275TF有三个Tricore™ 内核.NXP S32G274A中含有四个C ...

  3. TRACE32——AMP多核调试

    TRACE32--AMP多核调试 之前有一篇文章介绍过芯片的SMP多核调试,适用于同架构的内核运行同一套操作系统的场景.例如英飞凌的TC275TF芯片的三个TriCore核以SMP的方式运行着Auto ...

  4. mimo的误码率_混合波束成形专栏|基础:深入浅出5G,毫米波,大规模MIMO与波束赋形...

    在进入5G热门研究技术:混合波束赋形的介绍之前, 笔者想先以这篇文章深入浅出的介绍5G,大规模MIMO以及波束赋形等概念的直观理解.旨在用最浅显的语言,尽可能让零基础的读者也能轻易的掌握其本质,从而为 ...

  5. 浅谈代码规范基础调试几道面试题

    废话篇:本文由CSUST的FINAL实验室的LX创作,用途是给予CSUST的小鲜肉们一些关于C语言代码规范的一些基本知识,若本文有什么错误或是表述不清之处,欢迎留言讨论指正. 代码规范: 在讲代码规范 ...

  6. keil怎么跳转_KEIL那些事儿之基础调试(一)

    本小节介绍 KEIL 的常用调试方法,部分内容对 51 单片机也适用. KEIL 调试模式分为软件仿真和在线仿真.所谓软件仿真即用电脑模拟 51 或 32 的工作过程,可以在没有实际单片机开发板存在的 ...

  7. Keil5简介、下载及安装(NB-IoT专栏—基础篇2)

    目录 1.Keil 简介 2.软件下载 3.环境搭建 1.Keil 简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结 ...

  8. python pdb 基础调试

    当手边没有IDE,面对着python调试犯愁时,你就可以参考下本文:(pdb 命令调试) 参考:http://docs.python.org/library/pdb.html 和 (pdb)help ...

  9. Linux下Python基础调试

    当手边没有IDE,面对着python调试犯愁时,你就可以参考下本文:(pdb 命令调试) 参考:http://docs.python.org/library/pdb.html 和 (pdb)help ...

最新文章

  1. Linux之父警告全球程序员:我刚发布的5.12内核有bug,你们千万别用
  2. 网络推广期间遇到页面无效收录情况网络推广专员如何应对?
  3. 云计算与分布式系统课程学习笔记(二)——Linux基本命令的使用与熟悉
  4. caffe新手常遇到的三个问题
  5. it精英挑战赛的规则 校区内部评选 2020
  6. ***经验谈之SA权限***的感悟
  7. python中session的使用方法_python中requests库session对象的妙用详解
  8. 可以分屏的软件_Screen分屏软件下载|Screen+专业分屏 免费版v1.4.25 下载
  9. java exception 包_什么是Java中的异常包装?
  10. scrapy_全站爬取
  11. redis-bitmap 命令使用的一些帖子
  12. 创建FTP和Web虚拟目录的方法!
  13. 图片标注工具Labelme-简明使用教程
  14. flash百叶窗消失_Flash遮罩特效实例之百叶窗效果
  15. 52亿美元!Uber迎来有史以来最大季度亏损和最慢营收增长
  16. 三线制接近开关原理及接线图
  17. Vistor(访问者模式)行为型
  18. AlexNet网络结构详解与代码复现
  19. ubuntu backup
  20. Android运行虚拟机怎样解锁,vm 虚拟机 android 如何解锁

热门文章

  1. java导出word
  2. 【mysql】mysql获取两个集合的交集/差集/并集
  3. git莫名其妙缓存5k+文件
  4. section怎么制造图框_Section2014(地质图件制作软件) 4.5.2官方版_增强辅助制图
  5. ruoyi-vue数据库配置
  6. 2022春招华为笔试题-(2)
  7. 容易歧义的线程函数SuspendThread、ResumeThread 和如何获知线程是否还在运行
  8. 数据分析学习笔记:因子分析
  9. Qt使用Ogre引擎开发3d项目
  10. java获取客户端请求IP地址 获取公网ip