szypf2011 发表于 2018-10-10 09:58:02

瑞芯微 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系统,软件支持完善,开放源代码适合企业二次开发带高清显示的商显广告机、自助售货机、教育终端等,可降低研发门槛,缩短产品研发周期。




RK3399JTAG 配置指南RK3399 系统调试架构,支持 JTAG/SW 和 TRACE_DATA 两种输出接口。 这里主要介绍 JTAG/SW。https://img-blog.csdn.net/20181009110422807?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70JTAG/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 接口,如下图:https://img-blog.csdn.net/20181009110656488?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70TF 卡转接板
图上的两列单排针根据图 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


https://img-blog.csdn.net/20181009111049262?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70https://img-blog.csdn.net/2018100911120385?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
2.JTAG/SW 寄存器配置
IOMUX 引脚复用功能的切换
JTAG 各个引脚是和其他功能模块复用的,需要切换到 JTAG 的各个引脚。1.配置 IOMUX 寄存器GRF_GPIO4B_IOMUX (0xFF77_0000 +0x0e024)https://img-blog.csdn.net/20181009111820149?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/702.当配置 force Jtag 位时,硬件会自动切换,不需要配置寄存器 IOMUXGRF_SOC_CON7(0xFF77_0000+0x0e21c)https://img-blog.csdn.net/201810091118566?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70Coresight、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

https://img-blog.csdn.net/20181009112608198?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
也可以通过命令行动态开关:https://img-blog.csdn.net/20181009112654567?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70CLK 无需软件配置,默认寄存器配置就能正常使用 JTAG。如果无法连接,可以尝试在 command line添加以下配置:将所有 CLK 默认打开https://img-blog.csdn.net/20181009112718848?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70Upstream Linux 4.10 及以后版本只需将 force jtag 配置为 1 即可,代码如下:

https://img-blog.csdn.net/20181009112803485?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70DS-5 使用说明DS-5 是 ARM 公司出的一款调试软件,下载地址 https://developer.arm.com/produc ... -development-studioDS-5 soc 配置文件,以 DS-5 V5.26.2 为例: 1.创建 Configuration Database点 FILE->New->Otherhttps://img-blog.csdn.net/20181009112948885?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70选择 Configuration Database

https://img-blog.csdn.net/20181009113021314?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/702.创建 Platform Configuration
A.点 FILE->New->Otherhttps://img-blog.csdn.net/2018100911310647?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70B.选 Platform Configuration,点击 Nexthttps://img-blog.csdn.net/20181009113147807?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70C. 如果硬件连接的是 5 线的 JTAG,选第一个 Automatic/simple platform detection。 如果是 2 线的 SW,需要选第二个 Advanced platform detection or manual creation。 点击 Nexthttps://img-blog.csdn.net/20181009113225606?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70D.选择之前创建的 Database,然后点 Nexthttps://img-blog.csdn.net/20181009113304637?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70E.创建成功后,在 Connection Address 选择 JTAG DEBUG 设备https://img-blog.csdn.net/20181009113358323?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70F. 如果硬件连接的是 5 线的 JTAG,直接点击 Autodetect Platform。如果是 2 线的 SW,需要 配置如下图红色矩形框的配置,然后再点击上图的 Autodetect Platform。需要注意:选择 Autodetect Platform 一定要在 Maskrom 模式下,否则很多模块可能识别不到。https://img-blog.csdn.net/20181009113452123?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70G.扫描检测完后在左侧窗口展开如下列表,软件提示 CSETM_0-3 没有连接,需要手动添加https://img-blog.csdn.net/2018100911352429?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70H.右击 CSETM_0,点击 Add Link From This Devicehttps://img-blog.csdn.net/20181009113558535?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70I :选择 CSTFunnel,以此类推添加 CSETM_0-3
https://img-blog.csdn.net/20181009113646943?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

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

https://img-blog.csdn.net/20181009113718426?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
K.选择调试连接的核
https://img-blog.csdn.net/20181009113751326?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6aGViaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70注意:尝试连接时最好也是在 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开发,为客户提供专业化的量身定制广告机、消费类电子等解决方案。

hexenzhou 发表于 2018-10-10 10:42:10

用JLink可以连接吗?

sunliezhi 发表于 2018-10-10 12:07:05

对 Rockchip、Allwinner 一直向往,但没有机会搞

doushinide 发表于 2018-10-10 13:21:13

手里有一块RK3229 麦克风阵列开发板还没玩转 向楼主学习

TKZXJ 发表于 2018-12-20 22:46:00

谢谢分享,学习了
页: [1]
查看完整版本: 瑞芯微 RK3399 JTAG 配置指南