瑞芯微 RK3399 JTAG 配置指南

  RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。

    盈鹏飞科技最新研发的RK3399安卓主板,搭载了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸等...RK3399开发板主板尺寸为:146*102mm,设计有非常丰富的接口,板载5路UART,支持USB3.0高性能设备接口, WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。

     RK3399开发板为消费类电子、智能终端、MID、无线通讯、医疗设备、工业控制等行业产品的应用开发而设计,超强的视频处理能力,超高清视频输出优势,口丰富、性能稳定。支持Android\Linux\Ubuntu系统,软件支持完善,开放源代码适合企业二次开发带高清显示的商显广告机、自助售货机、教育终端等,可降低研发门槛,缩短产品研发周期。

RK3399  JTAG 配置指南

RK3399 系统调试架构,支持 JTAG/SW 和 TRACE_DATA 两种输出接口。 这里主要介绍 JTAG/SW。

JTAG/SW 又分为两种接口,5 线的 JTAG 接口和 2 线的 SW 接口。

JTAG 接口包括 TDO、TDI、TRST_N、TMS、TCK,SW 接口包括 TMS 和 TCK 两根线。 如图 1.2.1,Debug 的脚是和 SDMMC 复用的,硬件设计上可以直接将这些引脚连到

JTAG/SW 座子上,或者采用 TF 卡转接板来连接。这两种接口是芯片硬件自动识别和控制的,不需要软件干预。即调试软件如 DS-5,若 TDO/TDI/TRST_N/TMS/TCK 全部连接,配置为 JTAG 或 SW 接口都能识别,如果只连接 TMS 和 TCK,则只能配置为 SW 接口,如下图:

TF 卡转接板

图上的两列单排针根据图 1.2.3 布线,图 1.2.3 是 DS-5 等调试器的 JTAG 接口图。一般情况下,DS-5 上 Debug 的连接都采用 2 线的 SW(serial wire)接口。硬件准备好后,可以在 Maskrom 或 Loader 烧写模式试连,以确保硬件没问题。因为在上述模式 JTAG/SW 功能是使能 的,但到运行至 Linux 内核,SDMMC 驱动可能会禁止 JTAG 功能,这需要软件做相应修改。也就 是说 Debug 功能和 TF 卡无法同时使用。

图 1.2.3

2.JTAG/SW 寄存器配置

IOMUX 引脚复用功能的切换

JTAG 各个引脚是和其他功能模块复用的,需要切换到 JTAG 的各个引脚。

1.配置 IOMUX 寄存器

GRF_GPIO4B_IOMUX (0xFF77_0000 +0x0e024)

2.当配置 force Jtag 位时,硬件会自动切换,不需要配置寄存器 IOMUX

GRF_SOC_CON7(0xFF77_0000+0x0e21c)

Coresight、CPU 等相关模块

一般无需 CLK 开关配置。

 

JTAG/SW 软件配置

Rockchip Linux 4.4

如果有使能 cpu power down 功能,会导致 jtag 无法正常访问 cpu,这需要禁止所有 CPU 进入 power down 状态。手动将每个 CPU 节点的 cpu-idle-states 属性注释掉:

arch/arm64/boot/dts/rockchip/rk3399.dts

也可以通过命令行动态开关:

CLK 无需软件配置,默认寄存器配置就能正常使用 JTAG。如果无法连接,可以尝试在 command line

添加以下配置:

将所有 CLK 默认打开

Upstream Linux 4.10 及以后版本

只需将 force jtag 配置为 1 即可,代码如下:

DS-5 使用说明

DS-5 是 ARM 公司出的一款调试软件,下载地址 https://developer.arm.com/products/software-development-tools/ds-5-development-studio

DS-5 soc 配置文件,以 DS-5 V5.26.2 为例: 1.创建 Configuration Database

点 FILE->New->Other

选择 Configuration Database

2.创建 Platform Configuration

A.  点 FILE->New->Other

B.  选 Platform Configuration,点击 Next

C. 如果硬件连接的是 5 线的 JTAG,选第一个 Automatic/simple platform detection。 如果是 2 线的 SW,需要选第二个 Advanced platform detection or manual creation。 点击 Next

D.  选择之前创建的 Database,然后点 Next

E.  创建成功后,在 Connection Address 选择 JTAG DEBUG 设备

F. 如果硬件连接的是 5 线的 JTAG,直接点击 Autodetect Platform。如果是 2 线的 SW,需要 配置如下图红色矩形框的配置,然后再点击上图的 Autodetect Platform。需要注意:选择 Autodetect Platform 一定要在 Maskrom 模式下,否则很多模块可能识别不到。

G.  扫描检测完后在左侧窗口展开如下列表,软件提示 CSETM_0-3 没有连接,需要手动添加

H.  右击 CSETM_0,点击 Add Link From This Device

I :选择 CSTFunnel,以此类推添加 CSETM_0-3

J:Ctrl+S 保存工程,这时工程会生成如下文件

K.  选择调试连接的核

注意:尝试连接时最好也是在 Maskrom 模式下先测试。

        盈鹏飞嵌入式专注于Atmel、TI、NXP、Rockchip等平台产品的研发。公司团队拥有超过10年的ARM软硬件开发经验,拥有智能家居、人机界面、工业缝纫机、电力采集器等多个成功案例;公司2005年成立至今,主要从事工业控制领域开发,先后开发了以ARM9- AT91SAM9G45、Cortex-A8-335x 、A7- i.MX6UL 、A9-I.MX6Q为主控的各种方案,深入WINCE/LINUX 嵌入式系统开发多年,产品以高稳定性,高可靠性获得客户的信赖!2017年我们再出发,依赖工业控制领域多年的设计造诣,公司以创"芯"科技,智造双赢为经营理念,先后开发了以RK3288、RK3399 等处理器为应用的ANDROID解决方案,承接项目定制、BSP以及APP开发,为客户提供专业化的量身定制广告机、消费类电子等解决方案。

 

 

猜你喜欢

转载自blog.csdn.net/szhebin/article/details/82978876