智能终端开发文档

智能终端开发文档

采用的vscode + platform io,下面会记录自己开发时的问题

0. 环境搭建

这个在B站上找就可以,当初研究很久,主要是下载依赖库很慢,可以直接拷贝或者科学上网

1. 开发板配置(platformio.ini)

这里先对开发板的flash进行划分,下面是我的default_16MB.csv文件,里面包含了划分,这里解释一下

Name:分区名称(自定义,方便识别),比如 nvs「otadata」,工具会通过名称识别分区用途

Type:分区大类(仅 3 种可选:data 数据区、app 应用程序区、factory 工厂程序区)

SubType:分区子类型(细分用途,由 ESP32 框架定义,不能随便写)

Offset:分区在 Flash 中的起始地址(比如 0x9000,16 进制,从 Flash 开头算的位置)

Size:分区大小(16 进制,比如 0x5000 代表 20KB)

Flags:分区标志(通常留空,特殊需求时配置,比如加密、只读等)

复制代码
# Name,   Type, SubType, Offset,  Size, Flags
nvs,      data, nvs,     0x9000,  0x5000,
otadata,  data, ota,     0xe000,  0x2000,
app0,     app,  ota_0,   0x10000, 0x640000,
app1,     app,  ota_1,   0x650000,0x640000,
spiffs,   data, spiffs,  0xc90000,0x360000,
coredump, data, coredump,0xFF0000,0x10000,

下面我我的分区的定义,这里预设了OTA,打算后面实现远程更新功能

Q:从哪里开始偏移?

A:从0x9000开始偏移,查阅资料,前面的区域是S3芯片自己需要使用,如下:

这个设置好了,我们再设置我们的flash容量,速度,采用的SPI方式,后面根据使用,指定导入的库

复制代码
[env:esp32-s3-devkitc-1]
platform = espressif32 @ 6.5.0
board = esp32-s3-devkitc-1
framework = arduino
board_build.arduino.partitions = default_16MB.csv
board_build.arduino.memory_type = qio_opi
build_flags = -D BOARD_HAS_PSRAM
board_upload.flash_size = 16MB
upload_speed = 500000

后续根据我们开发的需要,需要导入依赖库,如下,后面会慢慢添加,最后会贴一份完整的ini文件

复制代码
lib_deps = 
	lvgl/lvgl@^8.3.9

注意指定版本platform工具的版本@ 6.5.0

2. LVGL

2.1 移植

这里我们直接导入platform里面的官方LVGL库,,导入方式见1的最后,使用lvgl/lvgl@^8.3.9,可以在.pio/libdeps下找到,然后我们先进行更改,把lv_conf_temple.h改为lv_conf.h,然后我们进入这个文件,在其内部完成用户自定义的配置,时基,内存分配,颜色深度,绑定硬件(屏幕大小和回调函数),然后可选的配置,字体配置,文件系统,日志输出,还有部件的禁用

相关推荐
busideyang1 天前
为什么推挽输出不能接收串口数据,而准双向口可以?
c语言·stm32·单片机·嵌入式硬件·嵌入式
济6171 天前
STM32定时器进阶:从模式控制器完全指南,一文学会TRGI/TRGO---STM32 HAL库专栏
stm32·单片机·嵌入式·stm32hal库编程
FreakStudio2 天前
把 Flask 搬进 ESP32,高中生自研嵌入式 Web 框架 MicroFlask !
python·单片机·嵌入式·cortex-m3·异步编程·电子diy
Zevalin爱灰灰2 天前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(五)
单片机·物联网·嵌入式·esp8266
Zevalin爱灰灰3 天前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(四)
物联网·嵌入式·esp8266
FreakStudio3 天前
MicroPython+PycoClaw,3 分钟搞定 ESP32 跑上 OpenClaw!
python·单片机·嵌入式·电子diy
逆小舟3 天前
【SWM320】FreeRTOS搭建工程——1、框架学习
嵌入式·c·rtos
小杨同学493 天前
STM32 进阶封神之路(二十二):DMA 实战全攻略 ——ADC 采集 + 串口收发 + 内存复制(库函数 + 代码落地)
后端·单片机·嵌入式
隔壁大炮3 天前
速度环实现行进&角度环实现转弯
嵌入式·pid·江协科技·平衡小车
busideyang4 天前
STM32中__weak(弱定义)函数核心总结
c语言·stm32·单片机·嵌入式硬件·嵌入式