项目创建后常用配置
选择型片型号:idf.py set-target esp32s3
选择端口号: idf.py
配置
工程配置 idf.py menuconfig
所有配置:
Build Type 编译类型
Bootloader config BootLoader 配置
Security features 安全特性
Application manager 应用程序管理器
Boot ROM Behavior 引导ROM行为
Serial flasher config Flash 配置
Partition Table 分区表配置
Compiler options 编译选项
Component config 组件配置
1.Build type (编译选项)用于配置项目工程编译时生成哪个应用程序类型
Application build type 选择应用程序的构建方式
Default(binary application + 2nd stage bootloader):这表示应用程序将以与 ESP-IDF 引导加载程序兼容的二进制格式构建
Build app runs entir ...
烧录过程
确认系统是否检测到 ESP32-S3 USB 设备,如果未检测到,重启并进入BOOT模式。
设置 ESP-IDF 环境变量(如已配置全局无需设置)get-idf
在 ESP-IDF 上设置“目标”芯片 idf.py set-target esp32s3
将控制台输出配置为 USB CDC idf.py menuconfig
Component config -> ESP System Settings
将 Channel for console Output 切换为 USB CDC(默认为 UART0)
保存配置
构建 DFU 二进制文件 idf.py dfu
烧录 DFU 二进制文件 idf.py dfu-flash
重启设备
后续即可使用原生 USB 烧录和监控设备 idf.py -p [usb port] flash monitor
常用命令
创建新工程: create-project
idf.py create-project <project name>
可使用--path 指定工程路径
创建新组件: create-component
idf.py create-component <component name>
使用 -C 选项指定组件创建目录
选择目标型片: set-target
idf.py set-target <target>
查看当前ESP-IDF支持的目标芯片列表:idf.py --list-targets
执行该命令相当于执行了3条命令
清除build目录 idf.py fullclean
删除 sdkconfig 文件 mv sdkconfig sdkconfig.old
使用新的目标芯片重新配置工程 idf.py -DIDF_TAGET=<target> reconfigure
构建工程: idf.py build
-B 选项可修改构建文件输出路径
使用 app、bootloader、partition-table 参数运行 ...
安装前置工作
非ubuntu系统安装ubuntu系统
Windows 系统
WSL2
虚拟机
Mac 系统
OrbStack
虚拟机
本地VSCode 安装2.1 VSCode 插件安装
Remote - SSH 用于连接ubuntu系统
ubuntu 系统安装依赖1sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
安装 ESP-IDF 工具0. 安装ESP工具
为了解决国内开发者从 github 克隆 esp 相关仓库慢的问题,已将 esp-idf 和部分重要仓库及其关联的子模块镜像到了 jihu,这些仓库将自动从原始仓库进行同步。
运行以下命令, 下载工具,并切换到jihu 镜像123git clone https://gitee.com/EspressifSystems/esp-gitee-tools.gitc ...
golang
未读文档地址:https://pkg.go.dev/github.com/go-playground/validator/v10
多个条件使用英文逗号分隔 ,
内置规则字段相关
Tag
Description
eqcsfield
Field Equals Another Field (relative)
eqfield
Field Equals Another Field
fieldcontains
NOT DOCUMENTED IN doc.go
fieldexcludes
NOT DOCUMENTED IN doc.go
gtcsfield
Field Greater Than Another Relative Field
gtecsfield
Field Greater Than or Equal To Another Relative Field
gtefield
Field Greater Than or Equal To Another Field
gtfield
Field Greater Than Another Field
ltc ...
收集一些比较好的第三方库,以后可能会用到
Web框架GinGin 是一个用 Go (Golang) 编写的 HTTP 网络框架。
官网:https://gin-gonic.com/zh-cn/
BeegoBeego 是 Go 编程语言的开源、高性能 web 框架。
官网:https://beego.me/
IrisGo 最快的社区驱动 web 框架。Webassembly,具有公共域、 MVC 、会话、缓存、版本控制 API 、问题 API 、 Websocket 、依赖注入等功能的自动 HTTPS。与标准库和第3 方中间件包完全兼容。
官网:https://iris-go.com/
echoHigh performance, minimalist Go web framework https://echo.labstack.com
kratosKratos是bilibili开源的一套Go微服务框架,包含大量微服务相关框架及工具。
WebSocketgorilla/websocketA fast, well-tested and widely used WebSocket i ...
TinyVue Theme Data12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619 ...