【RP2040】香瓜树莓派RP2040之新建工程

news2024/7/6 17:45:43

本文最后修改时间:2022年09月05日 11:02

一、本节简介

本节介绍如何新建一个自己的工程。

二、实验平台

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)《Raspberry Pico C/C++ SDK Setup and Example Project in under 30 min!》(外网视频):

https://www.youtube.com/watch?v=BAoTBg8MJJ4&t=1332s

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

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

2)《简单粗暴学树莓派》的《香瓜树莓派pico之仿真调试》章节。

五、基础知识

暂无

六、实验步骤

1、实现新建工程并可编译

1)在“D:\work”新建一个文件夹“GUA_PICO_PROJECT”

2)打开两个VS CODE,左边一个加载pico例程,右边一个打开便是无工程的。

3)选择刚刚建好的工程文件夹

4)新建一个pico_sdk_import.cmake,并把左边工程的pico_sdk_import.cmake内容复制过来,并保存(ctrl+S)。

5)新建一个CMakeLists.txt,并把左边工程的CMakeLists.txt部分内容复制过来,并保存(ctrl+S)。

注意蓝色箭头需要改成自己的工程目录。下一步会建GUA_CODE的工程目录。

6)新建工程目录

7)在GUA_CODE文件夹下,新建两个文件

注意“main.c”的“.c”不能漏

8)复制CMakeLists.txt(不要与前面的CMakeLists.txt混淆)的内容并修改文件夹和文件的名称,并保存(ctrl+S)。

9)编辑main.c文件,写入代码,并保存(ctrl+S)

#include "pico/stdlib.h"

int main()

{

    gpio_init(25);

    gpio_set_dir(25, GPIO_OUT);

    while (true) {

        gpio_put(25, 1);

        sleep_ms(250);

        gpio_put(25, 0);

        sleep_ms(250);

    }

    return 1;

}

10)按“ctrl+shift+p”,查找并选择“CMake:Configure”。

11)选择编译器

12)编译,即可生成uf2

13)下载进pico里看是否led闪烁正常,以此验证步骤是否做成功。

至此新建的工程即可正常编译,接下来要配置仿真调试的功能。

2、实现新建工程的仿真调试

1)下载openocd编译文件并放到工程路径下

2)下载picoprobe固件进pico

①按着pico的BOOTSEL按键,插入USB,松开按键。等待电脑识别pico为一个盘。

②将picoprobe固件拖拽进pico识别的盘里,会自动关闭,即下载成功。

3)VS debug环境配置

①将D:\GUA_PICO\pico-examples目录下的.vscode文件夹复制到D:\work\GUA_PICO_PROJECT

②修改.vscode文件夹里的launch.json

{

    // Use IntelliSense to learn about possible attributes.

    // Hover to view descriptions of existing attributes.

    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",

    "configurations": [

        {

            "name": "Cortex Debug",

            "cwd": "${workspaceRoot}",

            "executable": "${workspaceRoot}/build/GUA_CODE/GUA_CODE.elf",

            "request": "launch",

            "type": "cortex-debug",

            "servertype": "openocd",

            "device": "Pico2040",

            "runToMain": true,

            "configFiles": ["interface/picoprobe.cfg", "target/rp2040.cfg"],

            "searchDir": ["D:/work/GUA_PICO_PROJECT/openocd/tcl"],

            "svdFile": "D:/work/GUA_PICO_PROJECT/pico-sdk/src/rp2040/hardware_regs/rp2040.svd",

        }

    ]

}

③将D:\GUA_PICO\pico-examples目录下的pico-sdk文件夹复制到D:\work\GUA_PICO_PROJECT

④修改Cortex-Debug插件的配置项目

添加如下路径(根据自己openocd.exe所在路径),修改后关闭,记得点保存(ctrl+S)

{

    "cmake.configureEnvironment": {

        "PICO_SDK_PATH": "D:\\work\\GUA_PICO_PROJECT\\pico-sdk"

    },

    "cmake.generator": "NMake Makefiles",

    "cmake.configureOnOpen": true,

   

"cortex-debug.openocdPath":"D:/work/GUA_PICO_PROJECT/openocd/openocd.exe",

    "cortex-debug.gdbPath": "arm-none-eabi-gdb",

}

⑤编译,仿真。

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

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

相关文章

ThreadLocal内存泄漏问题

引子: 内存泄漏:是指本应该被GC回收的无用对象没有被回收,导致内存空间的浪费,当内存泄露严重时会导致内存溢出。Java内存泄露的根本原因是:长生命周期的对象持有短生命周期对象的引用,尽管短生命周期对象已…

为什么 ThreadLocal 会导致内存泄漏 ?如何解决 ?

面试官问 :为什么 ThreadLocal 会导致内存泄漏 ?? 在面试中被问到这个问题,如果记不清细节了,可以这样回答: ThreadLocal 里面存储的数据,它的生命周期是和线程或者线程池的生命周期保持一致的…

JavaWeb-DAO设计模式

目录 DAO设计模式 1.认识DAO 2.DAO各部分的详解 3.DAO设计模式流程 DAO设计模式 1.认识DAO DAO(Data Acess Object 数据库访问对象)的主要功能是操作数据库,所以DAO在标准开发架构中数据数据层,以下是标准开发的架构 客户层:目前使用B/…

ZKSV2-12-2NCP、ZKSV2-08-2NCSP-L、ZKSV2-08-2NOP插装式电磁换向阀

ZKSV-08-2NCP、ZKSV2-08-2NCP、ZKSV2-10-2NCP、ZKSV2-12-2NCP、ZKSV2-08-2NCSP-L、ZKSV2-08-2NOP、ZKSV2-10-2NOP、ZKSV2-12-2NOP、ZKSV2-08-3、ZKSV2-08-3A、ZKSV2-08-3C、ZKSV2-08-3B、ZKSV2-10-3、ZKSV2-10-3C、ZKSV2-10-3B、ZKSV2-08-4 CO、ZKSV2-08-4 NC、ZKSV2-08-4 TC、…

问道管理:机器人概念走势活跃,新时达涨停,拓斯达、丰立智能等大涨

机器人概念17日盘中走势活跃,到发稿,拓斯达大涨18%,昊志机电涨近16%,丰立智能涨超13%,步科股份、优德精细涨超10%,新时达涨停,天玑科技、兆龙互联、中大力德涨逾9%。 消息面上,8月16…

javaScript:一分钟看懂数组排序以及冒泡排序(重点)

目录 一.前言 二.数组排序 sort() 字符串大小的比较原则 字符编码排序规则 如果使用sort从小到大排列 (重点) 函数的返回值 规则: 代码 案例 数组打乱 sort相关代码 三.冒泡排序(重点&#xff…

Zass主题 - 手工艺术家和工匠的WooCommerce商城主题

Zass主题是适合手工艺术家和工匠的完美 WordPress / WooCommerce 主题。无论您是想为您的手工制作业务构建功能齐全的 Etsy Style 在线商店、博客还是作品集,Zass 主题都是您的正确选择。凭借其极其强大的自定义电子商务功能、无限的作品集风格、不同的博客风格和无…

多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测

多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测,WOA-CNN-GR…

小象课堂在线授课教育系统

此项目包含后端全部代码,前端包括后台和web界面的源码,数据库用的mysql,可当作课设或者毕设,还可写入自己的简历中 web界面展示: 前端后台界面展示: 用户管理 课程管理 内容配置 订单管理 系统管理 系统监控

Postman项目实战一

项目简介:外卖任务委派系统 测试脚本: 登录,获取token创建任务,获取任务id根据id,修改任务根据id,查询任务根据id,删除任务根据id,验证任务已被删除 步骤: 1.创建Col…

聚隆转债上市价格预测

聚隆转债 基本信息 转债名称:聚隆转债,评级:A,发行规模:2.185亿元。 正股名称:南京聚隆,今日收盘价:16.64元,转股价格:18.27元。 当前转股价值 转债面值 / 转…

炒股票怎么加杠杆_融资融券账户怎么开通

炒股票作为一种投资方式,可以带来不错的回报。然而,对于那些希望以较小的资金获得更高收益的投资者来说,加杠杆炒股票是一个值得考虑的选择。本文将为您介绍加杠杆炒股票的意义,以及如何开通融资融券账户。 加杠杆炒股票的意义&a…

vue常识

vue是一套用于构建用户界面的渐进式框架,vue的核心库只关注视图层 1.声明式框架 ● 早在jquery的时期,编写代码都是命令式的,命令式框架的特点就是关注过程 ● 声明式框架更加注重结果,命令式的代码封装到了vue.js中,过程靠vue.js来实现 声明式代码更加简单,不需要关注实现,…

ssm学生请假系统源码和论文

ssm学生请假系统034 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集…

知了汇智与西南石油大学合作开展网络安全生产实习,培养实战型人才

近年来,随着互联网的快速发展和数字化转型的推进,网络安全问题日益突出。然而,网络安全应用型人才的供给却严重不足,导致行业面临着巨大的挑战和风险。面对这一现状,开展校企合作,培养优秀的网络安全行业人…

Talk | ICCV‘23 HumanMAC:简洁易拓展的人体动作预测新框架

​ 本期为TechBeat人工智能社区第522期线上Talk! 北京时间8月16日(周三)20:00,清华大学博士生—陈凌灏的Talk已准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “HumanMAC-简洁易拓展的人体动作预测新框架”,介绍了人体动…

使用爱校对提升公文材料准确性的必要性

在我们的工作中,公文材料的准确性往往决定了我们的工作效果。无论是内部的报告、计划,还是外部的公告、通知,都需要准确无误才能达到我们预期的效果。为此,我们需要使用强大的工具——爱校对,来提升公文材料的准确性。…

Yii2 advanced 框架,自定义Log日志方案

背景 近期在使用 【Yii2 advanced】框架时 在接触到 微信支付回调操作时,想要将微信服务器请求的参数信息记录下来 但是,不喜欢框架自带的日志配置方式 在此,推荐使用一种自定义文件目录与log记录形式的方案 希望有此需求的道友,能…

IDEA下方工具栏SideBar没有Services解决方法 IDEA配合微服务学习多端口管理打开Services栏方法

问题 微服务学习时,一次要打开多个端口,比如8080给order模块、8081给user模块……这就需要用idea管理多端口。 这时候就可以用到Services栏进行管理。 解决 首先看下方Sidebar没有Services。 打开Services 打开方式一:手动打开 在IDEA中…

智能语音开放平台选哪家,启英泰伦提供硬件、软件一体化服务

离线智能语音产品方案的开发主要包含两个方面:硬件和软件。这里硬件是指采用语音芯片等电子元器件为该产品设计的电路板,软件是指基于电路板上主控芯片的种类及产品功能需求所开发的代码,再经过编译工具等生成可下载到主控芯片中的语音固件&a…