Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Debug
RISC-V_milk-v_CV1800B
risc-v_RISCV
MilkV Duo 使用 CK-Link Debug
发布于 2024-01-21 22:26:14 浏览:324
订阅该版
[tocm] ## 工具介绍 使用 Sipeed 家的 CK-Link 对 Dou 进行 debug , 该款 CK-Link 多合一,可以切换为 DAP-Link , CK-Link , USB转TTL串口,逻辑分析仪,通过按钮进行切换。 在 Ubuntu 中每次切换后可以通过 lsusb 查看目前设备的功能: ``` Bus 001 Device 008: ID d6e7:3507 SIPEED RV CMSIS-DAP Bus 001 Device 009: ID 359f:3101 SIPEED UARTx4 HSBus 001 Device 010: ID 359f:0300 SIPEED USB TO LA Bus 001 Device 011: ID 42bf:b210 SIPEED CKLink-HS ``` 可以通过LED指示灯直接区分模式,黄色为 CK-Link 模式 ![slogic_led_yellow.png](https://oss-club.rt-thread.org/uploads/20240121/c9ac1daee5f2c56e563096345ebb2b6e.png) ## 准备工作 ### 安装调试软件 下载调试工具 T-Head-DebugServe ``` wget https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1698310757460/T-Head-DebugServer-linux-x86_64-V5.18.0-20230926.sh.tar.gz tar xf T-Head-DebugServer-linux-x86_64-V5.18.0-20230926.sh.tar.gz sudo ./T-Head-DebugServer-linux-x86_64-V5.18.0-20230926.sh -i ``` 安装完成后,使用 DebugServerConsole 命令即可进入调试软件 ``` $ DebugServerConsole +--- ---+ | T-Head Debugger Server (Build: Sep 26 2023, Linux) | User Layer Version : 5.18.00 Target Layer version : 2.0 | Copyright (C) 2023 T-HEAD Semiconductor Co.,Ltd. | +--- ---+ 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-FactoryAIOT. Extra Info: hacr width is 8. ``` ### 替换fip.bin [下载链接](https://github.com/Judehahh/duo-buildroot-sdk/releases/download/Duo-debug/fip.bin) 需要替换 sd 卡中的 `fip.bin` 文件,以开启 debug 的相关配置 替换了 `fip.bin`之后,使用杜邦线将 Duo 上的 `GP15` 端口与 `3V3(OUT)` 连接,重新上电,进入 debug 模式,这个时候串口会打印如下信息: ``` FSBL Jb28g9:gc198e570f:2024-01-06T17:47:58+08:00 st_on_reason=d0000 st_off_reason=0 P2S/0x1000/0x3bc0dc00. SD/0xcc00/0x1000/0x1000/0.P2E. DPS/0xdc00/0x2000. SD/0xdc00/0x2000/0x2000/0.DPE. DDR init. ddr_param[0]=0x78075562. pkg_type=3 D3_1_4 DDR2-512M-QFN68 Data rate=1333. DDR BIST PASS ========================================= || Debug Mode || || || || Please use uart4 for serial out, || || and remove serial tool from uart0. || ``` 根据日志提示,我们需要将使用uart4作为串口输出,并将连接在uart0的工具移除,不然会对设备调试造成影响。 ## 开始调试 ### 开启DebugServe 新开一个窗口,并启动DebugServe ``` DebugServerConsole ``` 出现如下信息启动并连接成功: ``` +--- ---+ | T-Head Debugger Server (Build: Sep 26 2023, Linux) | User Layer Version : 5.18.00 Target Layer version : 2.0 | Copyright (C) 2023 T-HEAD Semiconductor Co.,Ltd. | +--- ---+ 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-FactoryAIOT. +-- Debug Arch is RVDM. --+ ``` 使用如下命令可以查看调试设备的cpu信息: ``` p target ``` duo是双核,所以出现以下信息: ``` +-- CPU 0 --+ RISCV CPU Info: WORD[0]: 0x0910090d WORD[1]: 0x12046000 WORD[2]: 0x260c0001 WORD[3]: 0x30030076 WORD[4]: 0x42180000 WORD[5]: 0x50000000 WORD[6]: 0x60000853 MISA : 0x8000000000b4112d MHARTID: 0x0 Target Chip Info: CPU Type is C906FDV, Endian=Little, Vlen=128, Version is R2S1P6. DCache size is 64K, 4-Way Set Associative, Line Size is 64Bytes, with no ECC. ICache size is 32K, 2-Way Set Associative, Line Size is 64Bytes, with no ECC. Current cluster0 has 1 core. MMU has 256 JTLB items. PMP zone num is 8. HWBKPT number is 4, HWWP number is 4. MISA: (RV64IMAFDCVX, Imp M-mode, S-mode, U-mode) +-- CPU 1 --+ RISCV CPU Info: WORD[0]: 0x0910010d WORD[1]: 0x12046000 WORD[2]: 0x260c0001 WORD[3]: 0x30030054 WORD[4]: 0x42180000 WORD[5]: 0x50000000 WORD[6]: 0x60000753 MISA : 0x800000000094112d MHARTID: 0x0 Target Chip Info: CPU Type is C906FD, Endian=Little, Version is R2S1P6. DCache size is 16K, 4-Way Set Associative, Line Size is 64Bytes, with no ECC. ICache size is 8K, 2-Way Set Associative, Line Size is 64Bytes, with no ECC. Current cluster1 has 1 core. MMU has 128 JTLB items. PMP zone num is 8. HWBKPT number is 4, HWWP number is 4. MISA: (RV64IMAFDCX, Imp M-mode, S-mode, U-mode) ``` ### 开启GDB 之后就可以开始使用GDB进行调试了 ``` /opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-unknown-linux-musl-gdb ``` 我的环境出现了以下依赖错误: ``` ./riscv64-unknown-linux-musl-gdb: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory ``` 检查安装python版本没有问题 ``` locate libpython2.7.so.1.0 ``` 找不到对应的库 尝试重新安装python ``` sudo apt update sudo apt install python2.7 ``` 显示已经存在,再次尝试还是缺少对应的库文件 Running the following command will install `libpython2.7.so.1.0`: ``` sudo apt-get install python2.7-dev ``` 之后尝试再次启动gdb ``` /opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-unknown-linux-musl-gdb ``` 成功 ``` GNU gdb (GDB) 9.1 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
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=x86_64-pc-linux-gnu --target=riscv64-unknown-linux-musl". Type "show configuration" for configuration details. For bug reporting instructions, please see:
. Find the GDB manual and other documentation resources online at:
. For help, type "help". Type "apropos word" to search for commands related to "word". (gdb) ``` 不同的环境可以会有不一样的问题,对应不同的解决办法。 之后使用一下命令就可以开始对不同的cpu核开始调试了: ``` # Connect to the main core riscv64-linux-gnu-gdb -ex "target remote :1025" # Connect to the small core riscv64-linux-gnu-gdb -ex "target remote :1026" ``` ## Refer: - https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource/1836682/1637637514397/T-Head+Debugger+Server+User+Guide.pdf - https://community.milkv.io/t/jtag-jtag-debug-guide-for-duo/1138
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
螺丝松掉的人
这家伙很懒,什么也没写!
文章
42
回答
0
被采纳
0
关注TA
发私信
相关文章
1
RTTStudio调试时出现Debugger connection lost错误
2
RTT Studio ST-Link 每次Debug调试前都出错,但下载程序正常
3
使用RTT-Thread studio出现无法调试,且程序下载进去毫无反应?
4
rtt-studio debug模式优化
5
stlink下载程序不成功
6
studio中不能进入debug
7
studio Stlink 调试问题
8
同时接多个JLink,下载程序时需选择2次
9
studio的debug,有现场表达式吗?
10
大神们,rtthread-studio怎么自动刷新DEBUG的变量区的值?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
cubemx
PWM
flash
packages_软件包
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
keil_MDK
SFUD
rt_mq_消息队列_msg_queue
C++_cpp
at_device
ulog
本月问答贡献
出出啊
1516
个答案
342
次被采纳
小小李sunny
1440
个答案
289
次被采纳
张世争
793
个答案
171
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
4
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部