博流RISC-V芯片JTAG debug配置与运行

news/2025/2/5 22:11:31/

文章目录

    • 1、Windows下安装与配置
    • 2、Linux下安装与配置
    • 3、芯片默认 JTAG PIN 列表
    • 4、命令行运行JTAG
    • 5、Eclipse下使用JTAG

1、Windows下安装与配置

  1. CKLink 驱动安装

Windows版驱动下载地址: https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1666331581133/T-Head-DebugServer-windows-V5.16.5-20221021-1018.zip

解压后按照默认配置安装,安装成功后插上 cklink-lite 后,可以在设备管理器中找到 cklink-lite 已经找到

在这里插入图片描述

  1. 运行
    双击桌面上的 T-HeadDebugServer 即可运行

在这里插入图片描述

正确连接 cklink-lite 与目标芯片,然后点击 T-HeadDebugServer 上的 Run debug server,如硬件连接正确,图标会由三角形编程圆形,并在软件窗口上显示芯片内核信息

在这里插入图片描述

Running Debug Server, auto to check the target at first...
T-HEAD: CKLink_Lite_V2, App_ver unknown, Bit_ver null, Clock 2526.316KHz,5-wire, With DDC, Cache Flush On, SN CKLink_Lite_Vendor-rog 2C115D.
+--  Debug Arch is RVDM.  --+
+--  CPU 0  --+
RISCV CPU Info:WORD[0]: 0x0814050dWORD[1]: 0x11080000WORD[2]: 0x202bf97bMISA   : 0x40909125
Target Chip Info:CPU Type is E907FP, Endian=Little, Version is R1S2P0.DCache size is 16K.ICache size is 32K.MGU zone num is 8.MGU zone size is 4B.HWBKPT number is 3, HWWP number is 3.MISA: (RV32IMAFCXP, Imp M-mode, U-mode)GDB connection command for CPUs(CPU0):target remote 192.168.135.1:1025target remote 192.168.22.1:1025target remote 192.168.188.23:1025

默认端口:1025

2、Linux下安装与配置

  1. CKLink 驱动安装
    Linux x86_64版驱动下载地址:https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1666331533949/T-Head-DebugServer-linux-x86_64-V5.16.5-20221021.sh.tar.gz

  2. 在 linux 命令行下执行

$ tar zxvf T-Head-DebugServer-linux-x86_64-V5.16.5-20221021.sh.tar.gz
$ sudo ./T-Head-DebugServer-linux-x86_64-V5.16.5-20221021.sh -i

其中参数含义为:

-i:安装

-u:卸载

然后按照提示输入 yes 就可以。

注意:必须要 ubuntu 22 以上才可以,ubuntu 20.04 不行。。

  1. 完成安装后,插上 CKlink-Lite,通过 lsusb 可以看到已经检测到了CKlink-Lite
$ lsusb
Bus 002 Device 004: ID 42bf:b210 Bouffalo C-Sky CKLink-Lite
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  1. 运行
  • 确认安装完成,查看参数
$ DebugServerConsole -h
  • server 端口号,默认 1025,可以通过 -p 修改
$ DebugServerConsole -p 3333

注意:在运行 jtag 功能器件,T-HeadDebugServer 要一直运行。

3、芯片默认 JTAG PIN 列表

CHIP/PinBL602/BL604BL702/BL704/BL706BL616/BL618BL808
TMSGPIO12GPIO0GPIO0GPIO6
TCKGPIO14GPIO2GPIO1GPIO12
TDOGPIO11GPIO9GPIO2GPIO7
TDIGPIO17GPIO1GPIO3GPIO13

4、命令行运行JTAG

  1. 运行 gdb
$ riscv64-unknown-elf-gdb helloworld_bl616.elf
GNU gdb (Xuantie-900 elf newlib gcc Toolchain V2.6.1 B-20220906) 10.0.50.20200724-git
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=i686-w64-mingw32 --target=riscv64-unknown-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:<http://www.gnu.org/software/gdb/documentation/>.For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from .\helloworld_bl616.elf...
(gdb) 

也可以先只运行 riscv64-unknown-elf-gdb 命令,然后在连接 gdb server 完成后,使用 file helloworld_bl616.elf 命令加载 elf 文件。

  1. 设置等待远程目标响应240秒的超时限制,默认为2秒。
(gdb) set remotetimeout 240
  1. 连接 gdb server
(gdb) target remote :1025
  1. 加载
(gdb) load
  1. 运行
(gdb) c

更多指令可查询 gdb 手册

5、Eclipse下使用JTAG

  1. 选择 Debug Configurations …

在这里插入图片描述

  1. 选择当前需要调试的目标项目的 elf 文件

在这里插入图片描述

注:使用 JTAG 调试前,需先下载完成对应目标项目的 bin 文件。


http://www.ppmy.cn/news/1070856.html

相关文章

docker 04.更加重要的命令

之前的都是基础命令&#xff0c; 前台交互进程和后台守护进程&#xff1a; 重新进入容器&#xff1a; docker中的导入导出&#xff1a; docker中的拷贝到&#xff1a;

leetcode 496. 下一个更大元素 I

2023.8.28 这题提供暴力解法和单调栈法两种方法。 暴力解&#xff1a; class Solution { public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {vector<int> ans(nums1.size(),-1);for(int i0; i<nums1.size…

asp、jsp环境安装

文章目录 phpasp安装环境打开asp大马 aspx修改配置打开aspx大马 jsp安装环境打开jsp大马 jspx php 在github下载138shell文件夹&#xff0c;解压后放入win10虚拟机&#xff0c;然后安装phpstudy&#xff08;在这里不再演示&#xff09;&#xff0c;并将php大马文件放在C:\phpS…

数据结构:八种数据结构大全

数据结构 1.1 数据结构概述 数据结构是计算机存储、组织数据的方式&#xff1b;通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能&#xff1b;常用的数据结构有&#xff1a;数组&#xff08;Array&#xff…

[python]问题:pandas处理excel,选中特定的sheet

要使用pandas处理Excel文件并选中特定的sheet,首先需要安装pandas和openpyxl库。可以使用以下命令进行安装: pip install pandas openpyxl然后,可以使用以下代码读取Excel文件中的特定sheet: import pandas as pd# 读取Excel文件 file_path = your_excel_file.xlsx sheet…

JavaIO流

JavaIO流 一、概念二、File类三、File类的使用1、File文件/文件夹类的创建2、File类的获取操作3、File类判断操作 - boolean4、File类对文件/文件夹的增删改5、File类的获取子文件夹以及子文件的方法 四、Java中IO流多种维度的维度1、按照流向 - Java程序2、按照流的大小分类3、…

JavaScript—BOM

BOM是什么&#xff1f; Browser Object Model是浏览器对象模型 官方&#xff1a;浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构&#xff0c;BOM由多个对象构成&#xff0c;其中代表浏览器窗口的window对象是BOM的顶层对象&#xff0c;其他对象都是该…

【少年的救赎——放牛班的春天】

风中飞舞的风筝&#xff0c;请你别停下 池塘之底 这是马修在池塘之底写下的日记 他所有的故事&#xff0c;还有“我们”的 1949年一月十五日&#xff0c;在经历了所有领域的挫折后&#xff0c;马修来到了人生低谷期&#xff0c;“池塘之底”像专为他挑选的一般。那是在一个…