pico-sdk(零)

pico-sdk(零)

  • 项目概述
    • license
    • 相关文档
  • 依赖三方库
  • 链接

项目概述

Raspberry Pi Pico SDK(以下简称 SDK)提供了为 RP 系列微控制器设备(如 Raspberry Pi Pico 或 Raspberry Pi Pico 2)编写 C、C++ 或汇编语言程序所需的头文件、库和构建系统。

SDK 旨在为非嵌入式 C 开发人员和嵌入式 C 开发人员提供他们都熟悉的 API 和编程环境。一次在设备上运行一个程序,并使用传统的 main() 方法启动。支持标准 C/C++ 库以及 C 级库/API,用于访问 RP 系列微控制器的所有硬件,包括 PIO(可编程 IO)。

此外,SDK 还提供更高层级的库,用于处理定时器、同步、Wi-Fi 和蓝牙网络、USB 和多核编程。这些库足够全面,应用程序很少需要直接访问硬件寄存器。但是,如果确实需要或更喜欢访问原始硬件寄存器,还可以在 SDK 中找到完整且完全注释的寄存器定义头。无需在数据表中查找地址。

SDK 可用于构建任何内容,从简单的应用程序、成熟的运行时环境(如 MicroPython1)到低级软件(如 RP 系列微控制器的片上 bootrom 本身)。

整个 SDK 的设计目标是短小精悍

未发布到 SDK 中的其他库/API 可以在 pico-extras 中找到。

license

BSD-3-Clause
BSD - 3 - Clause license 是伯克利软件分发(BSD)许可证的一种。它是一种宽松的开源软件许可证,允许用户自由地使用、修改和分发软件,只要保留版权声明和许可声明即可。
  • 使用该软件开发的应用程序可作为商业产品出售。
  • 对该软件修改后,可以将修改后的版本分享给其他开发者,其他开发者可以继续基于这个版本进行开发。
  • 使用该软件的产品不需要衍生使用该协议,可使用其他任何协议。

相关文档

  • Getting Started with the Raspberry Pi Pico-Series:有关如何设置硬件、IDE/环境以及如何为 Raspberry Pi Pico 和其他基于 RP 系列微控制器的设备构建和调试软件的信息。
  • Connecting to the Internet with Raspberry Pi Pico W:了解有关为 Raspberry Pi Pico W 编写连接到 Internet 的应用程序的更多信息。
  • Raspberry Pi Pico-Series C/C++ SDK:了解有关使用 SDK 进行编程的更多信息,探索更多高级功能,以及完整的基于 PDF 的 API 文档。
  • Online Raspberry Pi Pico SDK API docs:有关基于 HTML 的 API 文档。

依赖三方库

  • TinyUSB:用于嵌入式系统的开源跨平台的USB主机/设备技术栈。受Adafruit2资助。
    在这里插入图片描述

  • CYW43xx WiFi/BT SoC driver:CYW43xx3 WiFi/BT SoC的驱动程序。

  • lwIP:lwIP 是 TCP/IP 协议栈的一个小型独立实现。lwIP TCP/IP 实现的重点是减少 RAM 使用量,同时仍具有全功能的 TCP。这使得 lwIP 适用于具有数十千字节可用 RAM 和大约 40 千字节代码 ROM 空间的嵌入式系统。lwIP 最初由瑞典计算机科学研究所(SICS)的计算机与网络架构(CNA)实验室的 Adam Dunkels 开发,现在由全球开发者网络进行开发和维护。

  • Mbed TLS:Mbed TLS 是一个 C 库,用于实现加密原语4、X.509 证书5操作以及 SSL/TLS6 和 DTLS7 协议。其代码占用空间小,使其适用于嵌入式系统。

  • BTstack:BTstack 是 BlueKitchen8 的官方蓝牙技术栈实现。它非常适合小型、资源受限的设备,例如 8 位或 16 位嵌入式系统,因为它具有高度可配置性,并且具有超小的内存占用。

链接

  • pico-sdk仓库

  1. MicroPython 是一种精简高效的 Python 编程语言实现,专门为微控制器和嵌入式系统设计。它可以在资源受限的设备上运行,如 Raspberry Pi Pico 等。MicroPython 提供了一种方便的方式,让开发者能够使用 Python 语言进行嵌入式开发,而无需深入了解底层硬件细节。它通常包括 Python 解释器和一系列针对特定硬件的库,以便开发者能够轻松地控制硬件外设、进行通信和实现各种应用。 ↩︎

  2. Adafruit 是一家知名的开源硬件公司。成立于 2005 年,创始人是 Limor Fried(在网络上以 “Ladyada” 为人熟知),她毕业于麻省理工学院(MIT),是一名电子电气工程师和黑客。Limor Fried 在开源硬件社区很有影响力,曾被《Entrepreneur》杂志提名为 2012 年的年度创业者,也是首位登上《Wired》杂志封面的女性工程师。 ↩︎

  3. CYW43xx 是一系列由赛普拉斯半导体公司(后被英飞凌9收购)推出的 WiFi 和蓝牙芯片。 ↩︎

  4. 加密原语。指的是密码学中最基本的操作和算法,如加密、解密、哈希函数、数字签名等。这些基本操作是构建更复杂密码学系统的基础。例如,在一个加密通信系统中,可能会使用多种加密原语来确保通信的安全性。 ↩︎

  5. X.509 证书是一种数字证书标准,用于在计算机网络中进行身份验证和安全通信。它包含了证书持有者的身份信息、公钥以及证书颁发机构的数字签名等内容。X.509 证书在 SSL/TLS 和其他安全协议中被广泛使用,以确保通信双方的身份真实性和数据完整性。例如,在网站的 HTTPS 连接中,服务器会向客户端提供 X.509 证书,客户端通过验证证书的有效性来确认服务器的身份。 ↩︎

  6. SSL(Secure Sockets Layer,安全套接层)和 TLS(Transport Layer Security,传输层安全)是为网络通信提供安全及数据完整性的一种安全协议。它们在互联网上广泛用于加密客户端和服务器之间的通信,例如在网页浏览、电子邮件传输等场景中,确保数据在传输过程中不被窃取、篡改或伪造。 ↩︎

  7. DTLS(Datagram Transport Layer Security)即数据包传输层安全性协议。它是一种基于 UDP 的通信协议,用于在不可靠的网络上提供安全的数据传输。DTLS 在功能上类似于 TLS(Transport Layer Security),但专门针对数据包传输进行了优化,以适应诸如实时通信等对延迟敏感的应用场景。在本文中,Mbed TLS 支持 DTLS 协议。 ↩︎

  8. BlueKitchen GmbH 是一家专注于蓝牙技术相关软件开发的公司,总部位于瑞士苏黎世,公司处于活跃运营状态。其团队规模较小,但在蓝牙技术领域具有较高的专业性和影响力。 ↩︎

  9. 英飞凌(英文名:Infineon,全称:英飞凌科技股份公司)是一家全球领先的半导体公司。前身是德国西门子集团的半导体部门,1995 年正式进入中国市场,1996 年在无锡市建立第一家企业。1999 年 4 月 1 日,英飞凌在德国慕尼黑正式成立,并于 2000 年上市(法兰克福证券交易所股票代码:IFX,美国柜台交易市场股票代码:IFNNY)。2002 年后,其中文名称由亿恒科技更名为英飞凌科技。2006 年,英飞凌内存部门独立成为全资子公司奇梦达。2019 年,英飞凌宣布收购美国赛普拉斯公司,2020 年 4 月完成收购,收购完成后成为全球十大半导体制造商之一,跃居成为全球第一的车用半导体供应商。 ↩︎

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

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

相关文章

基于java+SpringBoot+Vue的视频网站系统设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

vue注册全局组件,其他地方可以直接方便的调用

文章目录 问题注册全局组件完结 问题 本来我们想使用某个组件,需要在各个地方引入对应的参数,并配置好components内容,才可以使用 但是随着用的越来越多,这种方法变得重复且易出错 注册全局组件 修改main.js文件,放…

javaScript交互补充(元素的三大系列)

1、元素的三大系列 1.1、offset系列 1.1.1、offset初相识 使用offset系列相关属性可以动态的得到该元素的位置(偏移)、大小等 获得元素距离带有定位祖先元素的位置获得元素自身的大小(宽度高度)注意:返回的数值都不…

基于SSM的特色美食推荐平台+LW示例参考

1.项目介绍 系统角色:管理员、普通用户功能模块:管理员(用户管理、店铺管理、美食类型、美食收录管理、论坛交流管理等)、普通用户(登录注册、论坛交流、信息查看、美食收藏、美食资讯等)技术栈&#xff1…

【javascript从零单排】变量let、var、const

🌈"It always seems impossible until it’s done." — Nelson Mandela 种一棵树最好是机会是十年前,其次是现在。 📗概念 在 JavaScript 中,变量是用于存储数据值的容器。可以使用变量来保存不同类型的数据&#xff0…

Marp for VScode插件 PPT无法预览的问题

优质好文:https://blog.csdn.net/lyuhaochina/article/details/141527208 这是因为很多人在VScode中安装markdown插件时都会安装插件Markdown Preview Enhanced,这个插件会和Marp插件的预览功能产生冲突,导致用Marp插件做的PPT无法预览 找到设置选项Markdown-previe…

响应时间指标的探索

响应时间指标的探索 最近又看到响应时间的一些讨论,就顺着这个响应时间的一些资料整理了如下内容 1968年 目前能够追溯的最早定义响应时间的文章应该是Rober B.Miller于1968年在AFIPS 68 (Fall, part I): Proceedings of the December 9-11, 1968, fall joint comp…

VRT: 关于视频修复的模型

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月15日14点34分 神秘男子影, 秘而不宣藏。 泣意深不见, 男子自持重, 子夜独自沉。 论文链接 点击开启你的论文编程之旅…

从基础到进阶,Dockerfile 如何使用环境变量

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 什么是 Dockerfile 环境变量?🔖1. `ENV` 指令🔖2. `ARG` 指令🔖语法:🔖使用 `ARG` 的例子:📝 如何使用环境变量提高 Dockerfile 的灵活性🔖1. 动态配置环境🔖2. 配置不同的运行环境🔖3. 多…

使用AI制作视频的一些感受

浦饭幽助真人灵丸 大家好,我是阿赵。 最近我开始用各种AI软件来制作一些视频,比如上次介绍的3D打印的黑龙波飞影的视频,就用了AI生成语音,还有一些换脸的视频。然后再比如上面这个浦饭幽助从漫画变成真人,然后再做出发…

从0开始创建Django项目-基础篇

文章目录 1、安装Django2、创建项目3、默认项目的介绍4、APP5、快速上手5.1 写一个页面5.2 templates模板5.3 静态文件5.3.1 static目录5.3.2 引用静态文件 6、模板语法7、请求和响应8、数据库操作8.1 安装第三方模块8.2 ORM8.3 案例:用户管理 1、安装Django pip install djan…

网络设备 - 这个有点难!

Linux 内核中的网络设备是整个网络通信的核心,它将硬件接口与内核的网络栈连接起来。对于许多初、中级学者而言,理解 Linux 网络设备的概念和工作机制可能显得复杂,但一旦掌握了这些内容,就能更深入地理解内核中的网络操作原理。本…

电商行业财一体化实施案例:如何通过对接实现多组织结算

电商行业财一体化实施案例:如何通过对接实现多组织结算 项目概述: 一家电子商务有限公司,专注于整合线上线下销售渠道,主营业务涵盖化妆品、日用品、乳制品、保健食品等产品的批发与零售。 公司背景与特色 主营业务&#xff1a…

动手学深度学习73 课程总结和进阶学习

1. 课程总结和进阶学习 https://c.d2l.ai/stanford-cs329p/ https://paperswithcode.com https://www.bilibili.com/video/BV1nA41157y4/?vd_sourceeb04c9a33e87ceba9c9a2e5f09752ef8 怎么建立知识库 2. QA 20 算法提取的特征和人的不一样,互补 21 很难预测未…

UE5材质篇 4 材质表面雨滴打落

materials 101的教程的灵感,特此记录一下 教程里本质上其实是先实验确定了湿滑表面的roughness和specular的值metallic这些,然后根据time来给表面的某些点这几个属性进行变换,主要是roughness和normal的变化 具体的变化是依赖了一张noise&a…

【论文分享】三维景观格局如何影响城市居民的情绪

城市景观对居民情绪的影响是近些年来讨论的热门话题之一,现有的研究主要以遥感影像为数据来源,进行二维图像-数据分析,其量化结果精确度有限。本文引入了三维景观格局的研究模型,通过街景图片及网络发帖信息补充图像及数据来源&am…

[代码+论文+讲解]2024数维杯A题:飞机激光测速中的频率估计问题

一、问题背景 空速是飞机相对于空气的速度,是飞行中需要监测的关键参数。空速与飞行状态如攻角和侧偏角密切相关。如果空速数据异常,很容易导致诸如失速等事故。因此,准确测量空速非常重要。 图1:空速激光测速的示意图 激光测速是一种可行的测…

[刷题]入门3.彩票摇奖

博客主页:算法歌者本篇专栏:[刷题]您的支持,是我的创作动力。 文章目录 1、题目2、基础3、思路4、结果 1、题目 链接:洛谷-P2550-彩票摇奖 2、基础 此题目考察数组、三重循环、自增操作的能力。 3、思路 写代码时候&#xf…

数据在内存中的存储

1:整数在内存中的存储 在前面我们已经在操作符那一章博客中引入了,原反补的概念。 正整数的原,反,补码相同。 负整数的三种码表示不同。 2:大小端字节序和字符序判断 1:什么是大小端 很明显&#xff0…

Java线程池:ThreadPoolExecutor原理解析

一、线程池的基本概念 1.1 线程池的定义 线程池是一组预先创建的线程,这些线程可以重复使用来执行多个任务,避免了频繁创建和销毁线程的开销。线程池的核心思想是通过复用一组工作线程,来处理大量的并发任务,减少系统资源消耗&a…