[飞腾]Trace32使用概述(1)

简介: [飞腾]Trace32使用概述(1)

科技背景_副本 公众号_副本.png

1. CPU JTAG电路的设计

根据飞腾demo图trace32的接法图如下图所示(新一些的demo图jtag的接法已经删除了,可以看比较老点儿的demo才会有这部分原理图,这里参考FT-2000_4core_demo_V1.2_20190809.zip):

2. Trace32简介

Trace32为德国Lauterbach(劳德巴赫)公司研制的仿真测试工具,TRACE32采用了很多领先技术,双端口存储技术,实时多任务处理机制,以太网、光纤通信技术、多CPU调试技术、软件代码覆盖分析技术、基于断点系统的存储技术、多级触发单元技术、时钟处理单元技术、动态存储技术等,有助于固件、系统级代码调试。

Trace32整体除电源外,需要包含一个调试模块和一个调试接头。我们使用的是usb接口的power debug调试模块。调试接头需要使用支持arm v8的接头。这里需要特别说明的是,调试模块power debug是固定不变的,调试接头需要根据不同的平台选择不同的接头,有x86用的,有ppc用的,当然也有arm用的,并且trace32软件上读取的license也是存在在调试接头中的。

软件下载链接地址:

TRACE32® Download Trace32 Software for full installation (lauterbach.com)

https://www.lauterbach.com/frames.html?country=cn



3 Trace32软件安装

正面.png

正面.png640.png


正面.png

640.png







正面.png


正面.png

640.png


4 Trace32调试使用

4.1 CPU JTAG管脚功能配置

硬件上将仿真器接头连接到CPU JTAG接口。实现JTAG连接要将处理器FT-2000/4的管脚复用调成JTAG,而不是CAN。简单的方式就是在系统gurb里改,改/boot/efi/boot/grub/grub.cfg,这个文件是麒麟开机起来后最先执行的文件。在里面的kylin启动项里,在{}里第一行增加一句话Write_dword 0x28180204 0x88488440,这就是将jtag复用功能管脚配置为jtag功能。



正面.png


正面.png

把这个管脚复用寄存器设置为0x88488440=10001000010010001000010001000000b,下面就把复用功能设定的bit值分配出来,且只显示影响管脚复用的bit位,再提出设计jtag的信号位,最后整理如下表。

bit位

31..30

29..28

27..26

25..24

23..22

21..20

19..18

17..16

15..14

13..12

11..10

9..8

7..6

5..4

3..2

1..0

10

00

10

00

01

00

10

00

10

00

01

00

01

00

00

00

Func


0


0


0


0


0


0


0


0

信号名






Ntrst_swj


Tdi_swj


Swditms_swj




Tdo_swj




正面.png




4.2 Trace32工程配置

      正面.png

正面.png


640.png正面.png



640.png

正面.png


640.png

640.png



相关文章
|
8月前
|
存储 消息中间件 Linux
xenomai内核解析--实时IPC概述
本文介绍了在Xenomai实时内核下,实时任务与非实时任务如何进行通讯
199 0
xenomai内核解析--实时IPC概述
|
运维 前端开发 关系型数据库
高效调试与分析:利用ftrace进行Linux内核追踪(上)
高效调试与分析:利用ftrace进行Linux内核追踪
|
存储 网络协议 Linux
高效调试与分析:利用ftrace进行Linux内核追踪(下)
高效调试与分析:利用ftrace进行Linux内核追踪
|
8月前
|
存储 缓存 安全
【ARM架构】ARMv8-A 系统中的安全架构概述
【ARM架构】ARMv8-A 系统中的安全架构概述
169 0
|
Linux Go
[飞腾]Trace32使用概述(2)
[飞腾]Trace32使用概述(2)
736 0
[飞腾]Trace32使用概述(2)
|
传感器
ArduPilot — ArduPlane架构概述
ArduPilot — ArduPlane架构概述
238 0
|
Android开发
RK3399平台开发系列讲解(内核调试篇)2.29、PCIe debug方法
RK3399平台开发系列讲解(内核调试篇)2.29、PCIe debug方法
159 0
|
安全 网络协议 JavaScript
【译】eBPF 概述:第 1 部分:介绍
【译】eBPF 概述:第 1 部分:介绍
274 0
|
监控 IDE 物联网
结合AliOS Things谈嵌入式系统通用问题定位方法(2):内核相关基础
内核提供的任务创建接口,会存在参数指定当前任务创建完立即运行还是需要显示调用start运行,需要注意。如果在创建任务时指定了立即执行,而在创建任务后去设置任务参数,可能是不生效的。(尤其posix的pthread接口经常遇到这种问题)
383 15
结合AliOS Things谈嵌入式系统通用问题定位方法(2):内核相关基础