首页 > 编程语言 >ESP32编程框架

ESP32编程框架

时间:2024-03-14 15:11:52浏览次数:29  
标签:编程 框架 esp ESP32 py flash MAC API idf

工程结构

项目配置

开发者可以通过sdkconfig配置此项目的配置,并在build/config/sdkconfig.h中生成一系列宏定义

构建系统

idf.py管理了以下工具

一些常用命令

idf.py create-project <project name>

idf.py create-component <component name>

idf.py set-target <target>

idf.py fullclean

idf.py menuconfig

idf.py build

idf.py clean

idf.py flash

idf.py docs

idf.py size

components简介

系统API

app_update:OTA

app_trace:JTAG debug

bootloader:初始化硬件,初始化系统,生成bootloader.bin,分区表,flash 加密,安全引导和空中升级 (OTA) 

bootloader_support:为bootloader组件提供api接口

console:控制台终端交互

freertos:操作系统

hal:抽象chip

esp_system:IPC,Call function with external stack,软件复位,复位原因,堆内存,MAC 地址,eFuse 中的自定义 MAC 地址,本地 MAC 地址和全局 MAC 地址,芯片版本,SDK 版本,应用程序版本,看门狗

efuse

esp_common:Error Codes and Helper Functions

esp_https_ota:provides simplified APIs to perform firmware upgrades over HTTPS.

esp_event:事件循环库

esp_hw_support:Interrupt allocation(中断),随机数产生器,睡眠模式,DMA的memcpy

esp_timer:定时器

esp_rom

esp_pm:电源管理

heap:堆栈

log:日志

perfmon:Performance Monitor

pthread:底层线程,衍生system/pthread cxx/pthread 

soc:SoC 硬件功能的定义

lwip:网络时间

ulp:Ultra Low Power超低功耗协处理器编程

外设API

driver
spi_flash
hal
soc 时钟树

应用层协议

asio:已移除,需要自己下载
ESP-Modbus:已移除,需要自己下载
mqtt
esp-tls
esp_http_client
esp_local_ctrl
esp_http_server
esp_https_server
lwip:ICMP Echo
mDNS:一种组播 UDP 服务,用来提供本地网络服务和主机发现。
Mbed TLS

蓝牙API

bt

存储API

fatfs:文件系统
	  量产程序-通过csv配置关键信息,批量烧录
nvs_flash:非易失性存储库
driver/sdmmc:SDMMC 主机驱动
driver/spi:SD SPI 主机驱动
sdmmc:SD/SDIO/MMC 驱动程序
esp_partition:分区 API
spiffs:SPIFFS 文件系统
vfs:虚拟文件系统组件
wear_levelling:磨损均衡 API

配网api

protocomm:协议通信
wifi_provisioning:Wi-Fi 配网

连网api

esp_wifi
wpa_supplicant
esp_eth
openthread:一种基于 IPv6 的物联网网状网络技术
esp_netif:IP 网络层协议

other

cmock
cxx
espcoredump
esptool_py
esp_adc
esp_app_format
esp_gdbstub
esp_hid
esp_lcd
esp_phy
esp_psram
esp_ringbuf
http_parser
idf_test
ieee802154
json
linux
mbedtls
newlib
partition_table
protobuf-c
riscv
tcp_transport
touch_element
unity
usb
xtensa

标签:编程,框架,esp,ESP32,py,flash,MAC,API,idf
From: https://www.cnblogs.com/getonechao/p/18072890

相关文章

  • ESP32-Cam 初步使用:网络摄像头示例
    此片意在教会你如何初步使用ESP32-cam阅读本文,你将学会:一.学会安装Arduino二.学会使用相关例程一、Arduino的下载安装及汉化1.下载Arduino(Arduino软件下载官网)2.Arduino的安装3.Arduino的汉化:左上角File-->Preferences(Ctrl+逗号也能进入)-->Settings-->Lang......
  • pytest+selenium+allure web端UI自动化框架设计
    一、框架目录actions:封装业务操作链,是一个包pages:封装各模块页面操作方法,是一个包testcase:封装具体业务测试用例,是一个包common:底层代码封装,比如:核心操作,文件处理,日志等,是一个包doc:程序指南文件目录pagefiles:页面元素定位信息,是一个目录config:管理配置文件,是一个目录dat......
  • 大模型基础应用框架(ReACT\SFT\RAG)技术创新及零售业务落地应用
    一、前言2023年,大语言模型以前所未有的速度和能力改变我们对智能系统的认知,成为技术圈最被热议的话题。但“百模大战”终将走向“落地为王”,如何将大语言模型的强大能力融入实际业务、产生业务价值成为致胜关键。在零售场,大模型应用面临的核心挑战包括以下三点:(1)模型缺乏零售领......
  • OpenMP 编程模型
    OpenMP内存模型共享内存模型:OpenMP专为多处理器/核心、共享内存机器设计,底层架构可以是共享内存UMA或NUMOpenMP执行模型基于线程的并行:OpenMP程序基于多线程来实现并行,线程是操作系统可以调度的最小执行单元。线程存在于单个进程的资源中,没有进程,线程就不存在。......
  • 从前端到前端框架
    原文地址:从前端到前端框架-Pleasure的博客下面是正文内容:前言这是一篇笔记,主要用于帮助刚入门Web全栈不久的同学。以及个人思路的记录整理。如果你是一个全栈大师就可以直接跳过了。当然想加深一下理解也没有问题。可能会较多谈谈我的个人见解。大家点个关注收藏一......
  • 微前端qiankun框架子应用主和应用之间通信方法
    子应用主应用间如何通信qiankun官方提供了actions通信,qiankun内部使用initGlobalState(state)定义全局状态,该方法执行后返回一个MicroAppStateActions实例,实例中包含三个方法,分别是onGlobalStateChange、setGlobalState、offGlobalStateChange。MicroAppStateActionsonGlob......
  • 利用AI辅助编程开发:新时代的编程助手
    随着人工智能技术的飞速发展,AI在编程开发领域的应用也日益广泛。AI辅助编程不仅能够提高开发效率,还能减少错误,让开发者更加专注于创新性的工作。本文将详细介绍如何利用AI来辅助编程开发,并通过实际例子和代码展示其实际应用。一、代码自动补全与错误检查AI在编程中的一个......
  • 通讯框架 t-io 学习——给初学者的Demo:ShowCase设计分析
    前言最近闲暇时间研究Springboot,正好需要用到即时通讯部分了,虽然springboot有websocket,但是我还是看中了t-io框架。看了部分源代码和示例,先把helloworld敲了一遍,又把showcase代码敲了一遍,决定做一个总结。本篇文章并不会解释T-io是如何通讯的,而是从showcase这个给t-io初学......
  • 每日反思之学会结对编程
    长时间独立开发让人容易进入心流,也容易走向习惯性思维的误区。想起过去创业的时候,总是一个人写代码,自测,merge代码,分布上线,反馈之后再调整。整个过程全靠自己去思考并完成,在一些不复杂的情形下算是最简最快的方案。但当自己融入到一个大的团队和项目中,合作分工成为了主流,而不是单......
  • 图解Java并发编程第一章总结【精炼版】
    【第一章】图解Java并发编程Java线程的基本操作yield操作:yield操作,在基于时间片轮转的cpu调度算法中,用来放弃当前时间片sleep操作:sleep操作分为三种情况普通sleep:在指定时间内放弃cpu使用权,不释放同步锁sleep(0):作用与yield相同sleep被中断:抛出中断异常......