高咩咩在人间
嵌入式软件开发/研发项目经理,系统分析师,PMP,蓝牙,wifi,移动模块,NB-IOT应用。若粉丝有问题需要解决,可以留言博主,博主会尽快根据问题输出博文供大家参考学习。
展开
-
ESP32如何引用自定义.a静态库
(2)libtest.a报错某.c文件undeclare未定义声明,对应的是test2.h中的接口名,则说明在主函数中没有实现,刚开始调试的时候,可以通过打桩函数写空接口,编译通过后再一个个去实现。(3)主函数中报错不存在libtest.a静态库中的接口,则检查设置引用静态库中步骤,检查libtest.a编译的时候是不是有编译宏设置之类的。(1)编译生成静态库,方法可参考。原创 2023-03-10 22:07:38 · 1066 阅读 · 0 评论 -
ESP32如何用makefile直接编译生成.a静态库
开发过esp系列的攻城狮们都知道,esp32的sdk包含了编译器、组件代码和例程代码,编译都是基于cmake的,都是整体一起编译,CMakeList.txt,component.mk,project.mk等等一系列和编译相关的文件,如果你想要自己编译一个自己的静态库放到esp32中去使用,这个就很麻烦了,对于不熟悉编译内容的小伙伴来说,下面,我给大家提供一个方法,直接通过makefile编译静态库。(2)指南非常详细,按照步骤安装好,根据系统是windows还是linux的,自行选择。原创 2023-03-08 22:32:04 · 1090 阅读 · 0 评论 -
esp-idf版本更新及切换方法
ESP-IDF 版本简介ESP-IDF 的 GitHub 仓库时常更新,特别是用于开发新特性的 master 分支。如有量产需求,请使用稳定版本。发布版本您可以通过以下链接访问各个版本的配套文档:最新稳定版 ESP-IDF:https://docs.espressif.com/projects/esp-idf/zh_CN/stable/最新版 ESP...原创 2019-09-06 14:25:02 · 9084 阅读 · 0 评论 -
ESP32之软件SPI驱动及SPI、HSPI和VSPI的理解
ESP32 共有 4 个 SPI 控制器,用于连接支持 SPI 协议的设备。 SPI0 控制器作为 cache 访问外部存储单元接口使用, SPI1 作为主机使用, SPI2 和 SPI3 控制器既可作为主机使用又可作为从机使用。作主机使用时,每个 SPI 控制器可以使用多个片选信号 (CS0~CS2) 来连接多个 SPI 从机设备。 SPI1 ~ SPI3 控制器共享两个 DMA 通道。...原创 2019-08-22 13:51:17 · 35865 阅读 · 3 评论 -
ESP32之官方文档--------严重错误fatal error
严重错误概述在某些情况下,程序的执行,没有按照定义的方式持续执行.在 ESP-IDF 中,这些情况包括:CPU 异常:Illegal Instruction, Load/Store Alignment Error, Load/Store Prohibited error, Double Exception.(非法指令,加载/存储对齐错误,加载/存储禁止错误,双重异常)系统级别检查和安全...原创 2019-07-02 17:27:29 · 5591 阅读 · 0 评论 -
ESP32之esp-idf版本的切换与更新方法
很多新手开发者从github上clone了最新的esp-idf固件包,但是可能不是想使用最新的esp-idf版本,而是想要某个指定的版本。下面,我介绍一下。(1)下载esp-idf固件包如果是第一次下载,可以选择全部的release版本,建议不要单独下载zip压缩包,用git命令直接获取git clone --recursive https://github.com/espres...原创 2019-06-24 10:20:04 · 12775 阅读 · 0 评论 -
ESP32之蓝牙配网blufi
概览BluFi 是一款基于蓝牙通道的 Wi-Fi 网络配置功能,适用于 ESP32。它通过安全协议将 Wi-Fi 配置和证书传输到 ESP32,然后 ESP32 可基于这些信息连接到 AP 或建立 SoftAP。BluFi 流程的关键部分包括数据的分片、加密、校验和验证。用户可按需自定义用于对称加密、非对称加密和校验的算法。这里我们采用 DH 算法进行密钥协商、128-AES 算法用于...转载 2019-07-02 11:59:00 · 15554 阅读 · 1 评论 -
ESP32之进入低功耗模式保持GPIO的状态
进入低功耗前gpio_hold_en(GPIO_NUM);gpio_deep_sleep_hold_en();进入低功耗模式esp_deep_sleep_start();唤醒gpio_hold_dis(GPIO_NUM);gpio_deep_sleep_hold_dis();必须这么操作,该操作一般是gpio初始化中,否则唤醒后GPIO还是上一次的状态...原创 2019-06-25 15:02:07 · 3542 阅读 · 0 评论 -
ESP32之code dump的backtrace分析crash问题
文件:projectname.elf:工程编译后再build文件夹下可以找到pyton准备工作:(1)menuconfig设置串口打印crash信息(2)利用命令xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS追踪问题结果如下:...原创 2019-06-19 18:25:56 · 3709 阅读 · 0 评论 -
ESP32之core dump分析crash问题
文件:projectname.elf:工程编译后再build文件夹下可以找到core_dump.txt:这个需要新建,从串口打印消息中将内容复制过来pyton准备工作:(1)menuconfig设置串口打印crash信息(2)将crash信息复制到core_dump.txt,(CORE DUMP START 以下的内容)(3)使用python编译,命令pytho...原创 2019-06-19 17:59:53 · 1865 阅读 · 0 评论 -
ESP32遇到“Skipped 1 tasks with bad TCB”和“Crashed task has been skipped!”的解决方法
如果遇到ESP32打印出来的信息如下[17:22:05.454] abort() was called at PC 0x40082a1f on core 0Backtrace: 0x40090de8:0x3ffbe1f0 0x4009107d:0x3ffbe210 0x40082a1f:0x3ffbe230 0x40082b29:0x3ffbe260 0x400e7f46:0x3ffbe...原创 2019-01-24 17:26:56 · 1218 阅读 · 4 评论 -
ESP32中 SO_REUSEADDR 设置(socket返回118错误解决方法)
1、一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。 SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。TCP,先调用close()的一方会进入TIME_WAIT状态2、SO_R...原创 2018-12-28 11:18:22 · 2125 阅读 · 0 评论 -
ESP32系列:三线SPI硬件设计及程序驱动设计(SPI FLASH为例)
(1)三线SPI硬件设计首先,ESP32是支持三线制和四线制的,三线制为半双工通信,四线制为全双工通信。如果你们用的芯片不支持三线制,就不要再折腾了,支不支持三线制,看芯片的datasheet。如图,所谓三线制就是CS、SCK和MOSI。其中MOSI为双向通信,先发送数据,则接收数据。这里的10K电阻必须接,如果不接,EPS32的MOSI引脚怎么接收SPI FLASH返回来的数据呢??那为什么ES...原创 2018-05-23 06:38:23 · 13440 阅读 · 2 评论 -
ESP32学习之开发环境搭建(包含eclipse)
一、所需工具由于项目要用ESP32模块进行开发,折腾了下集成开发环境,现将过程记录下来,以便需要的人使用。其中需要的有交叉编译工具,esp-idf示例代码以及C/C++版的eclipse。交叉编译工具MSYS32:https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip示例代码esp-i...转载 2018-04-28 14:00:47 · 15703 阅读 · 13 评论 -
ESP系列:教你如何擦出ESP8266、ESP32的flash全部内容
Esp8266擦除整个flash,使其为空方法第一步、安装Python环境下载地址https://www.python.org/downloads/在下载完成之后,一直点击下一步就OK了。在安装完成之后,打开控制台,输入“Python”,我们能够看到下面的效果:原因很简单,是因为python.exe文件在 Python 目录下,我们还没有设置环境变量。所以我们需要手动添加环境变量:鼠标右键我的电脑...原创 2018-04-19 09:11:43 · 22163 阅读 · 4 评论 -
ESP8266 OTA升级MAKEFILE常见问题之一(非常重要)
FOTA对应的flash空间分配如图所示:对应的下载地址如图:FOTA的下载地址和运行地址如果不对应,则升级程序可能会出现问题比如说,我的SPI FLASH大小为4097KB,bin文件编译的时候makefile选的是512+512KB的,则user1升级user2,运行地址是0x81000,但是在烧写烧写程序的时候选择1024+1024KB,则升级完成后从0x1010原创 2018-01-26 09:30:33 · 1535 阅读 · 0 评论 -
Esp8266 softAP热点配网
一、前言。上篇SmartConfigs一键配网介绍了如何利用UDP广播包来发送数据到8266进行配置配网,这种方式一般成功率还是比较低的。那么本篇介绍另外一种无线配网的、成功率更高的配网模式——-AP模式。softAP的配网模式的公开代码还是比较少的,但是出于好奇心,有了足够多的能力之后,我决定开源softAP配网模式的整个流程和源代码!几经翻阅机智云的soc源码原创 2020-07-28 11:34:49 · 1411 阅读 · 0 评论 -
Esp8266 UDP和TCP通信
一、前言。关于网络通讯,Maybe搞硬件的小伙伴不是很懂!因为关于UDP和TCP的协议是啥协议?有何不同?那本文仅仅做一个粗略的介绍!参考诸多资料,但会把其中的精华与要义介绍给大家!在网络传输应用层中,通常使用TCP和UDP这三种协议实现数据的传输。在传输过程中,需要双向的通讯连接实现数据的交互。因此,在这双向链路的一端称之为socket,一个socket有一个IP原创 2020-07-28 11:33:07 · 708 阅读 · 0 评论