ESP32的ULP 协处理器笔记】的更多相关文章

1.ULP 协处理器是一个功耗极低的协处理器设备,无论主 CPU 是处于正常运行模式还是 Deep-sleep 模式,ULP 协处理器都可以独立运行.超低功耗协处理器的补充使得 ESP32 能够胜任一些对低功耗要求较高的应用场合.ULP 协处理器的主要特性有: 采用 8 MHz 频率和 8 KB 内存 内建 ADC 和 I2C 接口 支持正常模式和 Deep-sleep 模式 可唤醒主 CPU 或向主 CPU 发送中断 能够访问主 CPU 的外围设备.内部传感器及 RTC 寄存器 2.ULP 协…
基于ESP-IDF4.1 1 #include <stdio.h> 2 #include <string.h> 3 #include <sys/unistd.h> 4 #include <sys/stat.h> 5 #include "esp_err.h" 6 #include "esp_log.h" 7 #include "esp_spiffs.h" 8 9 static const char *…
基于ESP-IDF4.1 #include <string.h> #include <stdlib.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/event_groups.h" #include "esp_wifi.h" #include "esp_wpa2.h" #in…
1.ESP32 系列芯片提供三种可配置的睡眠模式,针对这些睡眠模式,我们提供了了多种低功耗解决方案,用户可以结合具体需求选择睡眠模式并进行配置.三种睡眠模式如下: Modem-sleep 模式:CPU 可运行,时钟可被配置.Wi-Fi/蓝牙基带和射频关闭. Light-sleep 模式:CPU 暂停运行,Wi-Fi/蓝牙基带和射频关闭.RTC 存储器和外设以及 ULP 协处理器运行.任何唤醒事件(MAC.主机.RTC 定时器或外部中断)都会唤醒芯片. Deep-sleep 模式:CPU 和大部分…
ESP-IDF Release v2.1  igrr 发布了这个 on 29 Jul · 自此发布以来,我承诺要 承诺414 自v2.0以来的变化. 突破变化 版本v2.1旨在大大兼容为ESP-IDF v2.0编写的应用程序.但是,引入以下突破性变化: esp_bt_controller_init函数收到一个新的esp_bt_controller_config_t *参数. 如果应用程序采用双核支持构建,则使用正常寄存器访问宏访问DPORT寄存器将导致编译时错误(如果在编译时无法对寄存器地址进行…
我的工程实践选题为ESP32低功耗的实现,本项目基于ESP32嵌入式开发平台.下文将以需求为基础,对该项目进行领域建模. 一.概念介绍 1.业务建模 1.1 概念介绍 业务建模(Business Modeling)是以软件模型方式描述企业管理和业务所涉及的对象和要素.以及它们的属性.行为和彼此关系,业务建模强调以体系的方式来理解.设计和构架企业信息系统. 1.2 分类 业务建模(Business Modeling)是一种建模方法的集合,目的是对业务进行建模.这方面的工作可能包括了对业务流程建模,…
我的工程实践选题为ESP32低功耗的实现,本项目基于ESP32嵌入式开发平台. 以此题为例,在理解项目需求的基础上进行用例建模,抽取Abstract use case,画出用例图,并确定每一个用例的范围High level use case,对关键用例进一步进行Expanded use case分析. 一.用例建模简介 从用户的角度来看,他们并不想了解系统的内部结构和设计,他们所关心的是系统所能提供的服务,也就是被开发出来的系统将是如何被使用的,这就用例方法的基本思想. 1.用例模型主要由以下模…
ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好   首先,我们把ESP32模块连接上电脑,如果没有ESP32底板的话,则需连接一个usb转ttl模块,接下来我们下载好两个压缩包: Msys32为ESP32的下载工具链和仿真环境,可以从如下网址下载 https://dl.espressif.com/dl/esp32_win32_msys2_envi…
协处理器作用 协处理器用于执行特定的处理任务,如数学协处理器可以执行控制数字处理,以减轻处理器的负担.ARM处理器最多可以支持16个协处理器,其中CP15是最重要的一个协处理器 CP15的作用 CP15是系统控制协处理器,通过额外的寄存器可以控制cache,MMU,系统时钟等功能 访问协处理器 1.CP15有16组寄存器,通过mcr和mrc指令来访问协处理器里的寄存器,从而达到访问协处理器的目的 2.通过datasheet中的CP15 register map summary可以查找到相关的寄存…
最近买了一个ESP32的开发板,以前只玩过ESP8266,没经验只能自己一步步摸索 现在把学习的过程记录下来,以免过了一段时间就忘记了 第一步安装 VMware 可以在我的网盘下载 链接:https://pan.baidu.com/s/1AO_gx_0i2d5K8-uJsdsc4Q 密码:y6pe 安装很简单,全部默认安装即可 安装完VMware之后,打开VMware,点击创建新的虚拟机 典型安装易出问题,所以这里选择自定义安装 硬件兼容性直接默认就好 这里选择稍后安装系统 根据自己的需要选择系…
打开终端 输入命令 sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial 会提示需要输入密码 输入密码后有可能会提示 使用下面的命令解锁一下就行了 sudo rm /var/lib/dpkg/lock 成功以后就是下面的界面 乐鑫是默认将工具链安装在 ~/esp/ 目录的,我也将工具链安装到这里吧. 先创建并进入该目录: mkdir -p ~/esp cd ~/esp…
目录 1.什么是Hacklab WebIDE 1.1 优势 1.2 趋势 2. 使用方法 2.1 功能介绍 2.2 编译第一个程序 2.3 搭建esp32的开发环境 2.4 建立开发板与云平台的连接 3.优势与特点 1.什么是Hacklab WebIDE Hacklab WebIDE是阿里云物联网云端开发环境,Hacklab WebIDE提供远程的Linux服务,并预先安装了物联网开发需要的环境,能实现AliOS Things的云端编译,本地烧录的功能.简单的说,就是一款集成了编译环境,永不掉线…
基于ESP-IDF4.1版本 main.c文件如下: #include <string.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/event_groups.h" #include "esp_system.h" #include "esp_wifi.h" #include &quo…
LittlevGL 添加自定义字体获取字库 ttf 文件可以从一些网站上获取字库文件,比如请注意字体许可证 生成源文件使用 LittlevGL 提供的字库文件转换工具,将 ttf 字库文件转换为源文件.将生成的源文件添加到 LittlevGL 工程中,添加以下代码声明字体:extern lv_font_t my_font_name; 1或者 LV_FONT_DECLARE(my_font_name);1源代码中使用这个字体可以: style.text.font = &my_font_name;1…
尽管FreeRTOS提供了软件计时器,但这些计时器有一些限制: 最大分辨率等于RTOS滴答周期 计时器回调从低优先级任务分派 硬件计时器不受这两个限制,但是通常它们使用起来不太方便.例如,应用组件可能需要定时器事件在将来的特定时间触发,但是硬件定时器仅包含一个用于中断产生的"比较"值.这意味着需要在硬件计时器之上构建一些功能来管理挂起事件列表,以便在发生相应的硬件中断时可以调度这些事件的回调. esp_timer 一组API提供了一次性的计时器和定期的计时器,微秒级的时间分辨率以及64…
基于ESP-IDF4.1 1 #include <stdio.h> 2 #include "freertos/FreeRTOS.h" 3 #include "freertos/task.h" 4 #include "esp_system.h" 5 #include "nvs_flash.h" 6 #include "nvs.h" 7 #include "driver/gpio.h&qu…
基于ESP-IDF4.1 1 #include <stdio.h> 2 #include "freertos/FreeRTOS.h" 3 #include "freertos/task.h" 4 #include "esp_system.h" 5 #include "nvs_flash.h" 6 #include "nvs.h" 7 8 void app_main(void) 9 { 10 //…
ES​P32芯片配有48个具有多种功能的引脚.并非所有的引脚都暴露在所有的ESP32开发板中,有些引脚不能使用. 关于如何使用ESP32 GPIO有很多问题.你应该用什么pin?在项目中应该避免使用哪些pin?本文旨在成为一个为ESP32的GPIO提供一个简单易懂的参考指南. 下图显示了ESP-WROOM-32引脚.如果使用ESP32裸芯片构建自定义板,可以将其用作参考: 注意:并非所有的GPIO都可以在所有的开发板中访问,但是每个特定的GPIO都以相同的方式工作,而不管您使用的是什么开发板.…
很多公司都在用MongoDb ,一直没有时间研究,最近好好的整了一下,做下笔记,直接上操作步骤,关于Mongodb的理论知识可以搜索其他资料,也可以联系我索取 mongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模式,主从模式其实就是一个单副本的应用,没有很好的扩展性和容错性.而副本集具有多个副本保证了容错性,就算一个副本挂掉了还有很多副本存在,并且解决了上面 第一个问题“主节点挂掉了,整个集群内会自动切换”.难怪mongoDB官方推荐使用这种模式.我们来看看mongoDB副本集的…
  前面章节: 自制蓝牙工牌办公室定位系统 (一)-- 阿里物联网平台概览及打通端到云(硬核·干货)   目录: 1.蓝牙广播简介 2.蓝牙扫描简介 3.基于蓝牙广播和蓝牙扫描常见应用 4.ESP32简介 5.ESP32开发环境搭建 6.基于ESP32的蓝牙扫描实现 7.效果展示   前言: 我们整个基于蓝牙beacon的办公室定位系统主要有两部分组成: 1)蓝牙信号扫描器(蓝牙扫描+数据上云) 2)基于beacon的低功耗工牌 上一节我们讲解了如何将数据通过ESP32上传到云端,本节主要讲如何…
go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程. Go语言中文网 - Golang中文社区https://studygolang.com/ The Go Programming Language (官方网站需要翻)https://golang.org/ 下载后直接下一步,下一步安装就可以了 下载 LiteIDE -…
1      前言 从踏入嵌入式行业到现在已经过去了4年多,参与开发过的产品不少,有交换机.光端机以及光纤收发器,停车场出入缴费系统,二维码扫码枪,智能指纹锁以及数字IC芯片开发等; 涉及产品中中既有STM和Nuvoton这类通用芯片,也有Nordic-52832,Nordic-52810,易兆微这种专用的蓝牙芯片,还包含用于WIFI设备的ESP32芯片,以及专业的指纹/二维码安全芯片,当然也参与过基于ARM9内核的Linux的嵌入式服务器开发和维护,更详细的参与了异步双核MCU的验证工作和库开…
首先去官网下载arduino https://www.arduino.cc/en/main/software         由于国产链接下载慢的缘故,所以可以采用百度网盘的方式进行下载,具体下载方法不赘述 下载完成后可以看到我们下载的文件 然后解压文件   xz -d arduino-1.8.8-linux64.tar.xz tar -xf arduino-1.8.8-linux64.tar         解压完成后可以看到解压出来的文件     进入arduino-1.8.8文件夹中,输入…
由于我们的开发环境在Ubuntu上,所以介绍一下如何在Ubuntu上烧写esp32的程序 首先下载esptools   pip install esptool           擦除 sudo esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash           可以看到正常的擦除完成   下面我们来下载最新的固件并且烧录进去 https://github.com/m5stack/M5Cloud/tree/master/firmwa…
第一步:下载必要的库文件   sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial         第二步:创建esp32专用目录 mkdir esp32           第三步:esp32文件夹中创建三个目录 mkdir crossTools demos sources           crossTools:交叉编译环境 demos:例程 sources:SDK源代码   第四步…
这两天把要前几天的知识点回顾一下,接下来我会用自己对知识点的理解来写一些东西 一.知识点回顾 1.hbase集群启动:$>start-hbase.sh ===>hbase-daemon.sh start hmaster   +  hbase-daemon.sh start regionserver    hbase集群关闭:$>stop-hbase.sh   ===>hbase-daemon.sh staop hmaster +hbase-daemon.sh stop region…
目 录 第1章 ARMv8简介. 3 1.1基础认识. 3 1.2 相关专业名词解释. 3 第2章 Execution State 4 2.1 提供两种Execution State 4 2.2 决定Execution State的条件. 4 第3章 Exception Level 5 3.1 Exception Level 与Security 5 3.1.1 EL3使用AArch64.AArch32的对比. 5 3.2 ELx 和 Execution State 组合. 6 3.3路由控制. …
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011368821/article/details/25129835 sched.c sched.h 代码分析笔记 首先上header file sched.h #ifndef _SCHED_H #define _SCHED_H #define HZ 100 #define NR_TASKS 64 #define TASK_SIZE 0x04000000 #define LIBRARY_SIZE…
本笔记摘抄自:https://www.cnblogs.com/skylaugh/archive/2011/07/12/2103572.html,记录一下学习过程以备后续查用. 数据加密技术是网络中最基本的安全技术,主要是通过对网络中传输的信息进行数据加密来保障其安全性,这是一种主动安全防御策略,用很小的代价 即可为信息提供相当大的安全保护. 一.加密的基本概念 "加密",是一种限制对网络上传输数据的访问权的技术.原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加…
ARM汇编(非虫笔记) 1.ARM汇编的目的: 分析elf文件的需要. 2.原生程序生成过程. (1)预处理,编译器处理c代码中的预处理指令. gcc -E hello.c -o hello.i (2)编译 gcc编译器首先要检查代码的规范性,以及是否有语法错误,在检查无误之后,gcc编译把代码翻译成ARM汇编语言的代码. gcc -S hello.i -o hello.s (3)汇编,gcc编译器会挑用汇编器将汇编代码汇编成二进制目标文件. gcc -c hello.s -o hello.o…