使用JLINK仿真器调试树莓派4
学习armv8,怎么能没有开发板呢?有的小伙伴说,我可以用QEMU啊?笨叔要很负责任的说,QEMU不能100%地模拟armv8的硬件行为,有不少地方QEMU模拟不出来的,所以还是需要一个真实的硬件板子。例如下面的2个例子, QEMU能跑,但是在树莓派上跑却跑飞了。
所以,使用真实的物理板子是有必要的。其中树莓派4就是一个优秀的代表,4核cortext-A72的IP核心,高端上档次。而且价格超级便宜,只需要200~300多块RMB,搭配一个几块钱的USB串口,就可以玩树莓派了。
在树莓派上调试汇编代码,常常有这样的苦恼,汇编代码写错了,机器就挂了,也不知道是执行哪条指令挂了。所以呢,我们需要一个便宜好用的arm仿真器。支持cortext-A系列处理器的arm仿真器有很多,但是大部分都很贵,买一台至少要几万RMB,一般个人学习爱好者很难支付的起。但是JLINK仿真器的价格就比较亲民,JLINK Base版本的价格大概是2000多RMB,也就是一台中档手机的价格。还有一个好消息,在校师生可以通过代理商购买JLINK EDU版本才48欧元,大约人民币500块。(购买正版JLNK,请联系JINLK在中国区的代理商)。
下面教大家如何使用JLINK仿真器来调试树莓派4b。
首先我们需要把树莓派4链接到JLINK上。要在树莓派上使用J-Link仿真器,首先需要把J-Link仿真器的JTAG接口连接到树莓派的扩展板上。树莓派的扩展接口已经内置了JTAG接口。树莓派4b上扩展接口定义。
我们可以使用杜邦线来连接。J-Link仿真器提供20管脚的JTAG接口。
树莓派与J-Link仿真器的连接需要8根线,如表16.3所示。读者可以参考上面两个图来仔细连接线路。
树莓派与J-Link仿真器连接
JTAG接口 |
树莓派管脚号 |
树莓派排管脚名称 |
TRST |
15 |
GPIO22 |
RTCK |
16 |
GPIO23 |
TDO |
18 |
GPIO24 |
TCK |
22 |
GPIO25 |
TDI |
37 |
GPIO26 |
TMS |
13 |
GPIO27 |
VTref |
01 |
3.3v |
GND |
39 |
GND |
连接完成之后的效果图如下:
笨叔给大家一点小建议:尽量使用不同颜色的杜邦线,这样不容易出错。大家在金工实习的时候连复杂的小锤子和收音机都做出来了,连8根线,对大家是小儿科。
接下来使用openocd来进行调试了,小伙伴可以使用笨叔提供的基于ubuntu20.04做的vmware image v1.2,目前这个vmware image只对订阅了旗舰篇视频课程的小伙伴开放,等奔跑吧第二版图书出版后再public。
使用如下命令来连接树莓派,如图所示。
$sudo openocd -f jlink.cfg -f raspi4.cfg
接下来就可以调试了。在Linux主机中新建一个新终端,输入如下命令来登录OpenOCD的telnet服务。
$ telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> halt
> load_image /home/rlk/rlk/lab01/benos.bin 0x80000
>step 0x80000
使用GDB来调试代码了,先使用gdb-multiarch命令来启动GDB,并且使用3333的端口号来连接OpenOCD的GDB服务。
$ gdb-multiarch --tuibuild/benos.elf
(gdb) target remotelocalhost:3333 <=连接OpenOCD的GDB服务
第三季ARM64体系结构与编程,已经上线了,笨叔带您玩树莓派,在树莓派上做实验,几十个全球原创的实验,等你哟!我们提供原创实验的参考源代码以及详细的实验讲解视频哟!
使用JLINK仿真器调试树莓派4相关推荐
- ARM64+树莓派4b+JLINK仿真器实验环境搭建指南
ARM64体系结构与编程,全球原创的ARM64实验,笨叔带队,等你哟! ARM64体系结构与编程-yx音频:00:00/00:20 奔跑吧第三季视频课程实验设备清单 硬件开发平台:树莓派4B (2G或 ...
- 使用JLink、OpenOCD通过JTAG调试树莓派4
通过JTAG调试树莓派4 硬件环境 使能树莓派JTAG管脚 树莓派与JLink连线 安装JLink驱动 启动openocd 启动gdb 硬件环境 树莓派4一个,本例程使用Raspberry Pi OS ...
- JLINK仿真器用SWD模式下载/调试只需三根线
stm32上的jlink接口有20个,然而并不是所有的接口都是必须的,在网上找了一些资料,想用杜邦线连接stm32和jlink仿真器,因为排线实在难插拔. 试了一下只需三根线就可以下载和调试,分别是1 ...
- JLINK仿真器来仿真调试mini2440
以下是网络牛人的原话: 鉴于目前大家使用最多的ARM9开发板是mini2440, 所以我们将以mini2440开发板为例,通过一个简单示例来演示 如何使用JLINK仿真器来仿真调试mini2440 h ...
- 国民技术 MCU JLink仿真调试环境配置
1.安装Jlink 驱动 找个Jlink的驱动安装,例如下图的程序 安装完成后连接Jlink仿真器,可以在计算机设备管理那看到J-Link 2.安装国民技术MCU该芯片系列Keil Pack,以便下一 ...
- JLINK仿真器与ST-LINK仿真器的安装与配置.pdf
JLINK仿真器与ST-LINK仿真器的安装与配置.pdf 工欲善其事,......stm32的开发环境搭建 观看地址 说到仿真器,首先要了解一下JTAG. JTAG协议 JTAG(Joint Te ...
- openOCD的使用1: 应用openOCD和Jlink仿真器连接Freescale K60系列 MCU
openOCD的使用1: 应用openOCD和Jlink仿真器连接Freescale K60系列 MCU OpenOCD是一款功能强大的开源调试软件,支持多种调试器,例如Jlink.STlink. ...
- JLINK仿真器用SWD模式下载程序,和stm32的连线说明
stm32上的jlink接口有20个,然而并不是所有的接口都是必须的,在网上找了一些资料,想用杜邦线连接stm32和jlink仿真器,因为排线实在难插拔. 试了一下只需三根线就可以下载和调试,分别是1 ...
- J-Link仿真器与JTAG和SWD下载与接线
目录 1.JTAG 1.1JTAG今天被用来主要的三大功能: 1.2JTAG引脚: 1.3可选引脚: 2.SWD 2.1 SWD引脚: 2.2 可选择引脚: 2.3 JTag和SWD模式引脚定义 ...
最新文章
- python中csv文件操作_python中操作csv文件
- R语言ggplot2可视化气泡图:无填充色的气泡图、自定义填充色的气泡图
- 图灵机器人-Java/Android
- SAP WM模块常用T-code
- appium 的 android sdk
- 全面开放270多项AI能力!百度大脑背后的技术到底有多强?
- [渝粤教育] 西南科技大学 数控机床与编程 在线考试复习资料
- 小白也可以玩转的炫酷大屏!
- ubuntu14.04+eigen3安裝(亲测)
- hihoCoder1690 (动态规划)
- 解压ubi文件_请问为什么AM3352 NAND FLASH UBI文件系统挂载失败?
- 敏捷 - #2 原则:欢迎更改要求 ( #2 Agile - Principle)
- 统计学习三要素的思考
- 终于,J 神还是加入了 Google!
- 网站成功的三十三个法则
- linux+显卡驱动+七彩虹,9800gt显卡驱动
- 游戏音效是用什么软件做的?
- 取回Apple TV遥控器的D-Pad
- 计算机组成及原理ppt课件,计算机组成原理第五章课件.ppt
- 【通信原理】PC上调试MODBUS基本功能(附报文解析)
热门文章
- 1:STM32CubeMX配置STM32F103C8T6驱动-下载软件配置RCC,CAN1,USART1
- 图片旋转90度解决的方法
- 什么是计算机软件 软件定义,软件定义_软件定义教程_软件定义视频教程 _课课家...
- 外挂的介绍 什么是外挂
- 中科大计算机学院推免拟录取,中科大2019年录取177所高校推免生2109人,外校985生源不足三成...
- 小米无线AR眼镜探索版细节汇总
- ArrayList源码解读
- 数据分析(Python)入门—鸢尾植物数据集处理
- Centos7.4使用recuse模式恢复虚机mbr分区表
- ps 简笔画效果制作