前言

最近在学习ARM64体系结构的相关知识,主要是根据笨叔的《ARM64体系结构编程与实践》,最先需要进行的就是搭建基础的环境,这种底层的体系结构学习一定要有配套的开发板,刚好手头有一个树莓派4b可以作为很好的学习平台,但是根据已有的资料来看,大部分的仿真平台都使用的是jlink,这个仿真器可以去淘宝看一下,价格基本上都在100+,作为学生,我买不起,所以研究了一下平替方案。特此记录一下。当然我是使用的win+wsl进行的调试,如果使用纯Linux环境需要一些调整,但是也不会太大。


文章目录

  • 前言
  • 平替方案
  • 环境搭建
    • 1. 硬件连接
    • 2.软件下载
  • 配置修改
    • daplink配置修改
    • 树莓派配置修改
  • 开始调试
    • 进入调试模式
    • wsl连接
  • 后记

平替方案

树莓派4b采用的是jtag作为调试端口的,那么按照arm官网所说,只要是带有jtag端口的都可以对其进行调试,一番搜索下来发现了一个国人开源方案就是nanodap,开源地址(需要科学上网)。

经过研究开源地址发现,它采用了最简单的stm32f103c8t6作为主控,所以价格相对不高,并且是基于arm开源项目cmsis-dap,所以不是像jlink ob那样提示盗版,最关键的是大多数ob版jlink不会引出jtag调试口,并且这个自带串口,连一个ch340的钱也省了。反正蛮好用的。但是因为大多数资料基于jlink,需要做一些修改。


环境搭建

1. 硬件连接

nandap 树莓派
TMS 13
TCK 22
TDI 37
TDO 18
nRST 15
TX 10
RX 08
GND GND

注意上面的TX和RX是有交叉的,另外就是GND连接到任意的GND上

2.软件下载

这次模拟主要用到的是openocd,可以从这里下载github,注意对应系统,我是win里面运行这个所以直接下载了win版本。

然后将其解压到任意目录,然后win需要将解压文件的bin文件加入到环境变量,也就是

当然我看了一下linux的,相对来说没有那么麻烦,只要进入解压好的位置,输入下面的指令就好了

sudo ln -s ./bin/openocd /usr/local/bin/openocd

无论win还是linux里,在终端里输入openocd有以下反应证明安装成功。


配置修改

daplink配置修改

我们使用的默认的配置文件为./interface/cmsis-dap.cfg,直接打开可以看到如下的代码

adapter driver cmsis-dap

这只是帮助我们连接了dap,没有进行配置,比如选择jtag口之类的。所以我们添加两行:

# 选择jtag作为调试口
transport select jtag
# 绑定到任意ip,可以支持远程连接
bindto 0.0.0.0

树莓派配置修改

其实最新版的openocd带有bcm2711的配置文件,为了和书上一样,我们只用改一个小部分就行了

#for { set _core 0 } { $_core < $_cores } { incr _core } { 注释掉原来的
for { set _core 0 } { $_core < 1 } { incr _core } { #改成只对cpu0调试

其实这个地方就是只调试0号cpu,毕竟启动的时候只有0号cpu在运行。


开始调试

进入调试模式

只要在终端里进入openocd文件夹输入以下指令就好了

openocd -f ./interface/cmsis-dap.cfg -f ./target/bcm2711.cfg

然后看到下图就算是成功进入调试模式可以进行其他操作了:

wsl连接

因为wsl2默认不支持串口,如果将usb设备映射过去过于麻烦,所以我直接用win运行openocd,wsl那边通过网络直接进行连接就好了。关于wsl网络不通的原因可以看我这篇文章
然后就gdb连接和telnet链接的时候输入win的ip就好了。


后记

最近开始学习ARM64相关的知识,如果遇到和书上不一样的地方会在这个专辑里面进行记录,大家如果也在学习相关方面的知识可以跟我一起交流哦。

【我是学生,可以送我么】搭建树莓派4bJTAG调试平台jlink平替版相关推荐

  1. c++实现ftp服务器_第三步,尝试用树莓派搭建你的云计算平台和服务器

    " 学完前两步,最后让我们用网页调用你刚刚设计好的内容,进行扩展部分云计算平台的搭建!简单的来说分为以下几点: 1,通过网页访问rcS文件设置开发板IP,避免重启后服务器IP访问失效.然后通 ...

  2. 淮北晨刊报道我校学生募捐送温暖活动

    赞:学子街头募捐 到社区送温暖 http://www.hbnews.net/epaper/hbck/html/2012/01/20/07/07_23.htm 晨刊讯"爷爷,请收下这200元钱 ...

  3. 从零开始搭建树莓派 + intel movidius 神经元计算棒2代深度学习环境

    从零开始搭建树莓派+intel movidius 神经元计算棒2代深度学习环境 摘要 材料硬件: 步骤: 1. 下载树莓派镜像并解压 2. 烧写镜像 3. 启动树莓派 4. 配置树莓派 5. 安装cm ...

  4. 小型计算机csol,谁看看我的电脑换个什么显卡好,得能玩CSOL那种的FPS游戏不卡的。我是学生,不要太贵的,高分求助!...

    谁看看我的电脑换个什么显卡好,得能玩CSOL那种的FPS游戏不卡的.我是学生,不要太贵的,高分求助! 目前我的配置 玩CSOL CF甚至跑跑卡丁车 画面卡,求助,买什么样的显卡好,还得能和我主板弄一起 ...

  5. 10分钟搭建树莓派NAS私有云和KODI影音播放系统 (1)---树莓派4B重大提升,脱胎换骨

    在这之前,我们先来了解下树莓派4b有哪些提升,对于接下来的使用来说有哪些意义. 什么是树莓派呢?这个我就不在这里累述了,不清楚的小伙伴可以搜索了解下.我们重点介绍下树莓派4B,很多小伙伴其实并不太了解 ...

  6. 一起搭建私有物联网云平台讲解

    "预计2020年全球的物联网设备将达到500亿台"这句话已经被我无耻地在各种材料.PPT中引用过无数次了,但这并不妨碍物联网已经成为或即将成为下一个浪潮之巅的事实,各大.小公司都想 ...

  7. 微信小程序云开发 · 从0搭建商业级校园跑腿平台(已开源)

    微信小程序云开发  ·  从零搭建商业级校园跑腿平台 小秃僧 新生代农民工,一枚准毕业的大四学生,热爱前端开发,做个有态度.有思想.有价值的公众号. 好久不更新了,再更新已是打工人! 我将分享用云开发 ...

  8. Linux搭建 我的世界(Minecraft) 1.17.1版 服务器教程

    Linux搭建 MC 1.17.1 Java版 服务器教程,带网页管理面板. 视频教程: Linux搭建 我的世界(MC) 1.17.1版 服务器教程,带面板 windows搭建MC服务器教程:htt ...

  9. 和我一起搭建私有物联网云平台

    背景(不看也罢) "预计2020年全球的物联网设备将达到500亿台"这句话已经被我无耻地在各种材料.PPT中引用过无数次了,但这并不妨碍物联网已经成为或即将成为下一个浪潮之巅的事实 ...

最新文章

  1. 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 启动相同 id 的第二个前台 Service 关闭通知 )
  2. Zabbix Maintenance 维护周期
  3. Linux7改运行级别,Centos7.0修改系统运行级别
  4. Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问
  5. 无线共存:利用蓝牙和 WiFi 性能特性实现芯片间提权
  6. OpenCV-Laplacian边缘检测
  7. Windows Server 8 让人有点茫然
  8. amd cpu不能在cmd环境下运行java代码_Golang安装与环境搭建并在VSCode里面输出HelloWord...
  9. HTML5九宫格拼图小游戏
  10. android中如何去掉键盘,总结:Android去掉软键盘(输入法)的方法
  11. Qt开发的超轻量http server
  12. 光电编码器的原理及应用场合_光电编码器原理及应用电路
  13. Python之ASCII码相关
  14. 无线通信基础知识13:数字通信之信道编码
  15. [CF936B]Sleepy Game
  16. macOS Monterey 12.2 (21D49) 虚拟机 IOS 镜像
  17. 7-28 天梯赛的善良 (PTA C语言)最简
  18. halcon初识region
  19. 使用虹软SDK实现离线人脸注册,人脸登录(H5-JS前端,java后台)
  20. 软件工程经验总结系列之二 - 概念阶段控制

热门文章

  1. 【HTML】有趣的代码合集(附源码)
  2. VS2008编译 找不到 regex头文件
  3. 昆仑通态直接用485Modbus通讯控制国产380系统变频器
  4. 建筑智能前沿探索 | eCAADe2020
  5. 【Visual-Hull + Bregman】基于Visual-Hull + Bregman算法的三维重建算法matlab仿真
  6. java perl 正则表达式_来自Perl类型正则表达式的Java正则表达式
  7. 丰田“背叛”了燃油车?
  8. Pinterest分享功能
  9. EndNote20使用教程分享(未完
  10. 可编程定时器/计数器(微机接口技术)