学习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相关推荐

  1. ARM64+树莓派4b+JLINK仿真器实验环境搭建指南

    ARM64体系结构与编程,全球原创的ARM64实验,笨叔带队,等你哟! ARM64体系结构与编程-yx音频:00:00/00:20 奔跑吧第三季视频课程实验设备清单 硬件开发平台:树莓派4B (2G或 ...

  2. 使用JLink、OpenOCD通过JTAG调试树莓派4

    通过JTAG调试树莓派4 硬件环境 使能树莓派JTAG管脚 树莓派与JLink连线 安装JLink驱动 启动openocd 启动gdb 硬件环境 树莓派4一个,本例程使用Raspberry Pi OS ...

  3. JLINK仿真器用SWD模式下载/调试只需三根线

    stm32上的jlink接口有20个,然而并不是所有的接口都是必须的,在网上找了一些资料,想用杜邦线连接stm32和jlink仿真器,因为排线实在难插拔. 试了一下只需三根线就可以下载和调试,分别是1 ...

  4. JLINK仿真器来仿真调试mini2440

    以下是网络牛人的原话: 鉴于目前大家使用最多的ARM9开发板是mini2440, 所以我们将以mini2440开发板为例,通过一个简单示例来演示 如何使用JLINK仿真器来仿真调试mini2440 h ...

  5. 国民技术 MCU JLink仿真调试环境配置

    1.安装Jlink 驱动 找个Jlink的驱动安装,例如下图的程序 安装完成后连接Jlink仿真器,可以在计算机设备管理那看到J-Link 2.安装国民技术MCU该芯片系列Keil Pack,以便下一 ...

  6. JLINK仿真器与ST-LINK仿真器的安装与配置.pdf

    JLINK仿真器与ST-LINK仿真器的安装与配置.pdf 工欲善其事,......stm32的开发环境搭建 观看地址  说到仿真器,首先要了解一下JTAG. JTAG协议 JTAG(Joint Te ...

  7. openOCD的使用1: 应用openOCD和Jlink仿真器连接Freescale K60系列 MCU

    openOCD的使用1: 应用openOCD和Jlink仿真器连接Freescale K60系列 MCU   OpenOCD是一款功能强大的开源调试软件,支持多种调试器,例如Jlink.STlink. ...

  8. JLINK仿真器用SWD模式下载程序,和stm32的连线说明

    stm32上的jlink接口有20个,然而并不是所有的接口都是必须的,在网上找了一些资料,想用杜邦线连接stm32和jlink仿真器,因为排线实在难插拔. 试了一下只需三根线就可以下载和调试,分别是1 ...

  9. J-Link仿真器与JTAG和SWD下载与接线

    目录 1.JTAG 1.1JTAG今天被用来主要的三大功能: 1.2JTAG引脚: 1.3可选引脚: 2.SWD 2.1 SWD引脚: 2.2  可选择引脚: 2.3  JTag和SWD模式引脚定义 ...

最新文章

  1. python中csv文件操作_python中操作csv文件
  2. R语言ggplot2可视化气泡图:无填充色的气泡图、自定义填充色的气泡图
  3. 图灵机器人-Java/Android
  4. SAP WM模块常用T-code
  5. appium 的 android sdk
  6. 全面开放270多项AI能力!百度大脑背后的技术到底有多强?
  7. [渝粤教育] 西南科技大学 数控机床与编程 在线考试复习资料
  8. 小白也可以玩转的炫酷大屏!
  9. ubuntu14.04+eigen3安裝(亲测)
  10. hihoCoder1690 (动态规划)
  11. 解压ubi文件_请问为什么AM3352 NAND FLASH UBI文件系统挂载失败?
  12. 敏捷 - #2 原则:欢迎更改要求 ( #2 Agile - Principle)
  13. 统计学习三要素的思考
  14. 终于,J 神还是加入了 Google!
  15. 网站成功的三十三个法则
  16. linux+显卡驱动+七彩虹,9800gt显卡驱动
  17. 游戏音效是用什么软件做的?
  18. 取回Apple TV遥控器的D-Pad
  19. 计算机组成及原理ppt课件,计算机组成原理第五章课件.ppt
  20. 【通信原理】PC上调试MODBUS基本功能(附报文解析)

热门文章

  1. 1:STM32CubeMX配置STM32F103C8T6驱动-下载软件配置RCC,CAN1,USART1
  2. 图片旋转90度解决的方法
  3. 什么是计算机软件 软件定义,软件定义_软件定义教程_软件定义视频教程 _课课家...
  4. 外挂的介绍 什么是外挂
  5. 中科大计算机学院推免拟录取,中科大2019年录取177所高校推免生2109人,外校985生源不足三成...
  6. 小米无线AR眼镜探索版细节汇总
  7. ArrayList源码解读
  8. 数据分析(Python)入门—鸢尾植物数据集处理
  9. Centos7.4使用recuse模式恢复虚机mbr分区表
  10. ps 简笔画效果制作