【RP2040】香瓜树莓派RP2040之仿真调试

news2024/9/9 0:36:31

本文最后修改时间:2022年08月23日 01:57

一、本节简介

本节以树莓派pico开发板为例,介绍如何使用一个pico作为仿真器,给另一个pico仿真调试代码。

二、实验平台

1、硬件平台

1)树莓派pico开发板

①树莓派pico开发板*2

②micro usb数据线*2

2)电脑

2、软件平台

1)VS CODE

三、版权声明

1)作者:甜甜的大香瓜

2)声明:喝水不忘挖井人,转载请注明出处。

3)纠错/业务合作:897503845@qq.com

4)香瓜嵌入式之树莓派群:512598061

5)本文出处:原创连载资料《简单粗暴学树莓派》

6)完整开源资料下载地址(电脑端打开):

opengua.taobao.com

四、实验前提

1、在进行本文步骤前,请先阅读以下章节:

1)《简单粗暴学树莓派》的“第一章至第二章”章节

2)《How to Debug the Raspberry Pi Pico Using Another Pico!》(外网视频):

https://www.youtube.com/watch?v=0i2gLeBal9Y

2、在进行本文步骤前,请先实现以下章节:

1)《简单粗暴学树莓派》的《香瓜树莓派pico之搭建开发环境(windows)》章节。

五、基础知识

1、大概需要做哪些步骤才能实现仿真?

答:

1)vs code里面的仿真环境搭建(看《香瓜树莓派pico之搭建开发环境(windows)》)。

2)将编译好的picoprobe.uf2固件下载进其中一个pico,此时这个pico就作为仿真器。

3)用杜邦线连接两个pico。

4)使用vs code仿真。

2、两个pico如何接线?

答:

https://img-blog.csdnimg.cn/d95dabbe230d4c7bbf7ee1d8590f3ecb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAY29kZXIubWFyaw==,size_20,color_FFFFFF,t_70,g_se,x_16

上图正中间的三个引脚(SWCLK、GND、SWDIO),就是SWD接口所用的引脚。

SWD接口是Cortex-M系列控制器的标准接口,例如常用的JLINK、ST-LINK仿真器都具有SWD接口。只要有SWD接口都可以给pico仿真、下载,本文只介绍pico的SWD接口仿真和下载。

https://img-blog.csdnimg.cn/6a65be5a5b77404eb51e9dc366f90ce4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAY29kZXIubWFyaw==,size_20,color_FFFFFF,t_70,g_se,x_16

如上图,左边的是pico A(仿真器),右边的是pico B(需要仿真的目标板)。

供电来自于pico A的USB,如果想给pico B的USB供电的话接线会更简单,但需要确保中间的红色电源线断开(黑色的不能断,需要共地)。

除了3个仿真引脚,官方推荐的硬件连接图还增加了TX和RX的串口引脚。方便打印出调试信息。

香瓜接的简化版,如下图:

六、实验步骤

1、连接硬件(包括usb插电脑通电)

2、命令行调试

1)使用“WIN+R”+“CMD”,打开两个命令行工具(不要使用Developer Command Prompt for VS 2022,环境不一样),左右各摆放一个。

2)左边的依次输入:

D:

cd D:\GUA_PICO\openocd

openocd –f interface/picoprobe.cfg –f target/rp2040.cfg –s tcl

3)右边的依次输入:

D:

cd D:\GUA_PICO\pico-examples\build\blink

arm-none-eabi-gdb blink.elf

如果运行提示找不到gcc工具链,是Arm GNU Toolchain工具没有装好。

4)右边的继续输入:

target remote localhost:3333

load

monitor reset init

continue

此时就已经在全速运行,可以看到目标板的led在闪烁。

3、选择工程进行编译,并点击仿真

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/888866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络通信原理传输层TCP三次建立连接(第四十八课)

ACK :确认号 。 是期望收到对方的下一个报文段的数据的第1个字节的序号,即上次已成功接收到的数据字节序号加1。只有ACK标识为1,此字段有效。确认号X+1SEQ:序号字段。 TCP链接中传输的数据流中每个字节都编上一个序号。序号字段的值指的是本报文段所发送的数据的第一个字节的…

使用 Ansible Galaxy 安装角色

使用 Ansible Galaxy 安装角色 使用 Ansible Galaxy 和要求文件 /home/curtis/ansible/roles/requirements.yml 。从以下 URL 下载角色并安装到 /home/curtis/ansible/roles : http://rhgls.area12.example.com/materials/haproxy.tar 此角色的名称应当为 balancer …

layui下拉框select 弹出层在最外层

出现问题如图所示 想要的效果是如下 这样的效果只需一行代码就能解决 .layui-layer-page .layui-layer-content{overflow: visible!important;}

生信豆芽菜-差异基因富集分析

网址:http://www.sxdyc.com/enrichmentEnrich 该工具使用R 语言的clusterProfiler包对关键基因集进行GO和KEGG富集分析,注意这个的关键基因集可以是差异基因,WGCNA的module基因,也可以是表型相关的基因集 1、数据准备 准备一个基因…

关于统一事件管理,一定有你想知道的(二)

本文部分内容来源于布博士----擎创科技资深产品专家 哈喽~又见面啦~ 上期内容我们说到了事件以及事件管理,戳这里一键恢复上期精彩内容:关于统一事件管理,一定有你想知道的(一) 这期主要带大家看看事件管理是怎么运用…

spring官方文档浅翻译(1)

文章目录 IOC容器IOC容器和beans的介绍实例化 BeanBeanFactory:ApplicationContext 容器概述配置元数据实例化容器组合基于xml的配置元数据使用容器 bean的概述命名bean别名的使用 实例化bean构造函数实例化静态工厂实例化实例工厂方法bean 在运行时的实际类型 依赖…

学习笔记|基于Delay实现的LED闪烁|模块化编程|SOS求救灯光|STC32G单片机视频开发教程(冲哥)|第八集:实现LED闪烁(下)

文章目录 2 函数的使用1.函数定义(需要带类型)2.函数声明(需要带类型)3.函数调用 3 新建文件,使用模块化编程新建xxx.c和xxx.h文件xxx.h格式:调用头文件验证代码调用:完整的文件结构如下&#x…

使用 RHEL 系统角色

使用 RHEL 系统角色 安装 RHEL 系统角色软件包,并创建符合以下条件的 playbook /home/curtis/ansible/selinux.yml : 在所有受管节点上运行 使用 selinux 角色 将角色配置为以强制执行状态使用SELinux yum install rhel-system-roles.noarch su - curti…

七夕送礼指南:这几款礼物不仅颜值高而且非常实用

七夕又被称为“乞巧节”,相传这一天是牛郎织女一年一度的相会日,所以在这个浪漫的节日里,很有多的恋人也会不远万里来相见,在这个浪漫的日子里,送礼物是表达心意和爱意的重要方式,那么,面对琳琅…

前端练手小项目--自定义时间(html+css+js)

自定义时间 写文章的因 关于要写这篇文章的原因 是记录在工作上遇到的困难需求,是希望能给大家提供一些解决问题的思路 接下来我描述这个需求的多样性,难点在哪。 勾选勾选框开始时间与结束时间默认显示昨天与今天。取消勾选框开始时间与结束时间清空。…

element+vue 表格行拖拽功能

解决方案 使用 sortable.js 步骤一&#xff1a; 安装 npm install vuedraggable步骤二&#xff1a;引入 import Sortable from sortablejs;步骤三&#xff1a; el-table 添加row-key属性&#xff0c;外层包一层 sortableDiv <div class"sortableDiv"> 拖…

IDEA【java.sql.SQLSyntaxErrorException: ORA-00904: “P“.“PRJ_NO“: 标识符无效】

IDEA报错如下&#xff1a; 2023-08-17 11:26:15.535 ERROR [egrant-biz,b48324d82fe23753,b48324d82fe23753,true] 24108 --- [ XNIO-1 task-1] c.i.c.l.c.RestExceptionController : 服务器异常org.springframework.jdbc.BadSqlGrammarException: ### Error queryin…

Docker 的基本概念和优势,在应用程序开发中的实际应用。

Docker是一个开源的容器化平台&#xff0c;让开发者能够轻松地打包、运输和运行应用程序。其基本概念包括&#xff1a; 镜像(Image)&#xff1a;一个镜像是一个只读的软件包&#xff0c;它包含了运行应用所需的所有代码、库文件、环境变量和配置文件等。 容器(Container)&…

docker之简介与安装

环境配置问题 没有虚拟机&#xff0c;我们往往是打包代码发给对方&#xff0c;然后让对方安装相应的环境&#xff0c;比如node、数据库&#xff0c;要是配置不同&#xff0c;项目很有可能无法运行&#xff0c;还会报错&#xff0c;如果多个人想要运行这份代码&#xff0c;那还得…

手撸一个简单的Tomcat,延伸`SpringMvc`的原理

为什么写这篇文章 一直以来都说tomcat是用的java写的&#xff0c;但是也是不明白到底是怎么弄的&#xff0c;最近有个机会搞明白了&#xff0c;特此记录&#xff0c;可以使得更懂tomcat的原理 用java写一个java的运行程序&#xff0c;听着就很酷&#xff0c;你觉得呢&#xf…

多模态分割医学数据集小调研

QaTa-COV19 V1&#xff1a; 该数据集由4603张COVID-19胸部x光片组成;该数据集首次包含了用于COVID-19感染区域分割任务的真值分割掩码。加上对照组的胸部x光片&#xff0c;QaTa-COV19由120,968张图像组成。图像位于“QaTa-COV19/ images /”文件夹下&#xff0c;ground-truth分…

selector.replaceAll is not a function报错问题

个人项目地址&#xff1a; SubTopH前端开发个人站 &#xff08;自己开发的前端功能和UI组件&#xff0c;一些有趣的小功能&#xff0c;感兴趣的伙伴可以访问&#xff0c;欢迎提出更好的想法&#xff0c;私信沟通&#xff0c;网站属于静态页面&#xff09; SubTopH前端开发个人站…

Leetcode49. 字母异位词分组

给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 解题思路&#xff1a;计数 思路&#xff1a;题意是字符串的字符都是小写&#xff0c;可以对每个字符串统计其中字符的…

什么是公网、私网、内网、外网?

中午好&#xff0c;我的网工朋友。 最近经常有很多小白朋友在问&#xff0c;公网、私网、内网、外网&#xff0c;这些的概念是啥样的&#xff0c;又该怎么去界定。 关于IP地址&#xff0c;确实没有太明确的区分&#xff0c;其实也不必太过咬文嚼字。 内网、外网就是一个参考…

SAP复杂表格转换为JASON格式的例子

分享一个三层表格转换伙JASON格式的例子&#xff0c;代码如下。 REPORT zjason_test. "// 定义 DATA: lv_json TYPE string.DATA: BEGIN OF ls_detail_l3,code_l3 TYPE string,name_l3 TYPE string,age_l3 TYPE string,END OF ls_detail_l3,lt_detail_l3 LIKE TABLE OF…