- 博客(63)
- 资源 (2)
- 收藏
- 关注
原创 STM32H5F4(F5) 使用STIROT安全启动
因为stm32h5f4暂时没有 安全管理器 固件可以提供,需要使用安全启动和安全升级就必须使用 STIROT 或者 OEMIROT。在路径 Projects/STM32H5F5J-DK/ROT_Provisioning 里有 STIROT 的使用工具。env.bat :这个文件指定 STM32CubeProgrammer 软件的路径 和 安全启动 后执行的工程目录,注意:走。
2026-08-04 14:53:00
189
原创 stm32h573 mcu安全笔记
mcu安全是指保护具有价值或易受攻击的资产不被盗窃,修改,伪造,或其他有害行为。威胁分析:识别资产->查找攻击接口->设计防护对策IDAU:芯片出厂设定的保护区域。SAU:可用户指定的保护区域。IDAU和SAU是或的关系,只要有一个指定是安全区域,则这个区域就是安全区域。
2026-06-28 15:24:35
250
原创 OCPP1.6j学习笔记
类型 类型 ID 数组元素数 元素顺序请求 2 4 个 [2, 消息ID, 动作名, 请求数据]成功响应 3 3 个 [3, 消息ID, 响应数据]错误响应 4 5 个 [4, 消息ID, 错误码, 错误描述, 错误详情]
2026-06-25 09:03:52
166
原创 JSON格式笔记
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
2026-06-20 16:17:59
274
原创 websocket
本文介绍了WebSocket协议的实现过程,包括建立连接、数据收发和关闭连接。首先通过Python搭建WebSocket服务器,然后使用Qt客户端建立TCP连接并发送HTTP升级请求转换为WebSocket协议。详细说明了握手过程中的Sec-WebSocket-Accept校验方法,以及数据帧的编码解码过程(包括掩码处理)。最后展示了如何发送关闭帧实现安全断开连接,并提供了完整的示例工程地址。整个过程涵盖了WebSocket协议的核心实现要点。
2026-05-24 01:51:49
652
原创 交流桩学习-控制导引
控制导引就是控制充电的整个流程,交流桩充电的控制导引在 18487.1-2015 中的附录A有比较详细的说明,在看控制导引以前,需要熟悉交流桩的常见的几种连接方式,充电模式,控制导引电路,控制导引功能,这些在18487.1中也有说明,2023版本比2015版本的增加了几项连接方式。
2026-05-10 17:39:22
498
原创 esp32开发笔记-wifi网络
摘要:本文介绍了ESP32-S3的WiFi网络开发方案。相比传统单片机需要外接PHY芯片和自行移植协议栈的方案,ESP32-S3内置WiFi射频和MAC硬件,通过ESP-IDF框架封装了硬件操作和lwIP协议栈,极大简化了网络开发流程。文章详细展示了WiFi扫描功能的实现代码,并重点介绍了AP+STA共存模式的应用,包括NAPT(网络地址端口转换)功能的配置方法,使连接AP的设备可以通过STA连接的路由器上网。示例代码演示了如何初始化双模式网络接口、处理网络事件以及配置DNS转发等功能。
2026-04-15 22:19:41
190
原创 esp32开发笔记-基本外设功能测试
这里使用的是 《ESP32-S3-WROOM-1-n16r8》这个模组,内部封装了16MBflash,和8MByte的PSram,ESP32-S3 芯片有 45 个物理通用输入输出管脚(GPIO Pin)。每个管脚都可用作一个通用输入输出,或连接一个内部外设信号。利用 GPIO 交换矩阵、IO MUX(IO 复用选择器)和 RTC IO MUX(RTC 复用选择器),可配置外设模块的输入信号来源于任何的 GPIO 管脚,并且外设模块的输出信号也可连接到任意 GPIO 管脚。
2026-04-13 01:28:16
471
原创 esp32开发笔记-工程搭建
本文介绍了ESP-IDF开发环境的搭建与工程创建流程。首先需要安装git和Python 10-13版本,然后下载ESP-IDF SDK并配置环境变量。安装VSCode及ESP-IDF插件后,可通过命令或界面创建新工程,需注意工程目录必须为英文路径。文中详细说明了项目配置方法,包括CPU频率、Flash、PSRAM等设置,以及分区表的配置要点。还介绍了如何添加组件文件到项目中,并提供了加快编译速度的方法。最后说明了下载程序时包含的3个关键文件:bootloader.bin、partition-table.bi
2026-04-11 12:54:38
544
原创 ubuntu vscode 调试 at32f435vmt7基于AT32IDE
本文介绍了在Ubuntu系统中安装和使用AT32IDE开发环境的完整流程。首先下载并解压AT32IDE安装包,配置必要的环境变量。然后通过AT32IDE创建AT32F435工程,完成基础调试测试。接着详细说明了如何配置VSCode进行调试:编写启动脚本start_openocd.sh调用IDE自带的OpenOCD,并在VSCode中安装Cortex-Debug插件,配置launch.json文件。最后通过执行脚本和按F5即可在VSCode中实现快速调试。整个流程涵盖了从环境搭建到IDE和VSCode双平台调
2026-03-30 14:42:26
487
原创 ubuntu vscode 调试 at32f435vmt7
注意:测试工程是使用雅特力的 WorkBench 工具生成,选择的makefile。把这个脚本保存为py文件: gen_vscode_config.py。把这个脚本保存为json: vscode_config.json。应该提示 “command not found”)关键:必须注销当前用户并重新登录(或重启系统)!2. 下载并安装最新版 ARM 工具链。4. 验证安装(无报错且版本正确即可)三、安装 pyocd(确保是新版)1. 彻底清理旧版 pyocd。1. 卸载系统可能自带的旧版。
2026-03-23 15:45:00
482
原创 rv1106使用笔记
(1).使用野火提供的ubuntu环境编译,需要添加编译器路径到系统路径,在 .bashrc 文件中修改PATH为:(2).编译程序 参考 Rockchip_Quick_Start_Linux_IPC_SDK_CN.pdf 第二章(3).如果需要单独配置 内核 buildroot参考 [野火]《快速使用手册-基于LubanCat-RV110x系列板卡》_20250616.pdf 第28,29章节也可以在编译目录输入 ./build.sh --help 查看配置选项。
2025-07-10 11:41:23
2920
原创 Qt编辑excel:QtXlsxWriter
QtXlsx是一个跨平台的Excel文件读写库,支持Qt5环境。它无需依赖Microsoft Excel,可创建、编辑.xlsx文件。使用步骤包括:1)从GitHub下载源码;2)通过Qt Creator编译安装;3)调用API实现功能。提供的demo展示了核心功能:单元格对齐/边框设置、字体样式、公式运算、数字格式化、单元格合并及数据分组等。该库通过Document类操作Excel文件,支持格式设置、公式计算等功能,最后生成Book1.xlsx示例文件并验证读写功能。
2025-06-17 11:27:06
1367
原创 minix文件系统
总结:文件节点数据区存放指向文件数据的指针,目录项节点数据区存放目录的目录项和文件的目录项。目录的目录项和文件的目录项都为32字节(当minix版本为0x138F时,1块数据区可以存 1024 /32 = 32 个目录项)。在linux最初的时候就是使用的minix文件系统,学习minix文件系统有助于理解,linux VFS虚拟文件系统,超级块,目录项,文件,i节点。
2024-08-12 13:57:17
1520
原创 pytorch标准化与模型训练推理以及中间层注意点
数据预处理,图像转tensor,图像归一化Normalize,模型中间层,数据批量化,数据Dropout。
2024-03-04 15:54:30
1297
原创 pytorch创建模型方式
定义模型需要用到的函数,基本都在nn这个模块里面有定义。2.直接使用 nn.Sequential。1.继承自nn.Module的方式。
2024-02-15 22:02:43
971
原创 pytorch常用激活函数笔记
4.leak relu函数,leakrelu函数和relu函数的主要区别是,leakrelu 函数保留了小于0的部分的一些影响,只是把这部分性影响减少了。2.sigmod函数,深层网络不咋用这个激活函数,因为容易梯度消失,把输入变为范围 0,1之间和tanh曲线挺像,但是tanh函数范围为-1,1之间。3.tanh函数,把输入变为范围 -1,1之间。深层网络内部激活函数常用这个。5.elu函数,α超参数一般取1。
2024-02-11 20:23:36
991
原创 ros2学习笔记-通信接口
在ROS2中根据不同通讯类型定义不同接口文件,该文件后缀分别为msgsrvaction.话题接口文件名:*.msgint64 num服务接口*.srvint64 a #这三个是输入参数int64 bint64 c---int64 sum #这个是返回结果动作接口*.action------至于参数这种方式不存在接口定义。首先使用 命令创建包(注意:这里使用的是c++编译方式)。
2023-10-25 13:47:00
934
2
原创 ros2学习笔记-工程创建
一般我们能安装的功能包都是作者编译好程序将可执行文件上传到仓库 中,然后我们才能够通过apt进行安装,如果作者还没来得及测试上传,或者忘记了测试上传,就会找不到对应的包,这时候就需要手动编译安装了。ROS出生于2007年,ROS的出现解决了机器人各个组件之间的通信问题,同时基于ROS的完善的通信机制,越来越多的优秀的机器人算法集成到了ROS中来。每一个功能包都有一个标配的manifest.xml文件,用于记录这个包的名字,构建工具,编译信息,拥有者,干啥用的等信息。
2023-10-20 17:12:02
468
原创 linux can socket 编程
CAN发送线程检查CAN发送buffer里面是否包含待发送的can报文,CAN接收线程把报文存储到CAN的接收buffer 里面。注:usleep(0) 是主动让出接收发送时机。以下是具体代码实现。注意:先设置CAN的参数,在ifconfig can up。CAN发送接收buffer。CAN发送和接收线程。
2023-08-07 19:18:32
2204
原创 OrangePi PC Plus 学习笔记
本文主要介绍Orange Pi PC Plus编译主线uboot linux buildroot组成能运行的系统固件方法。
2023-01-16 00:34:49
992
原创 SPI时序详解
SPI是一个同步的数据总线,也就是说它是用单独的数据线和一个单独的时钟信号来保证发送端和接收端的完美同步,时钟是一个振荡信号,它告诉接收端在确切的时机对数据线上的信号进行采样。 产生时钟的一侧称为主机,另一侧称为从机。总是只有一个主机(一般来说可以是微控制器/MCU),但是可以有多个从机(后面详细介绍); 数据的采集时机可能是时钟信号的上升沿(从低到高)或下降沿(从高到低)。 整体的传输大概可以分为以下几个过程: 注意,SPI是“全双工”(具有单独的发送和接收线路)
2022-12-03 13:22:08
16462
原创 QT QTextStream QDataStream 文本与二进制数据操作方式
QT QTextStream QDataStream文本与二进制数据操作方式
2022-10-29 12:06:36
2717
ESP32 最小工程模板(ESP-IDF 5.5.4)
2026-04-11
AT32F435VMT7 单片机调试工程(Ubuntu+VSCode+DAP
2026-03-23
Model/View Programming
2022-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅