- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 嵌入式软件中的状态机机制
只要目标事件(例如定时未到、电平没有跳变、串口数据没收完等)还没发生,工作状态就不会发生改变,程序就一直重复“查询—执行其他任务—查询—执行其他任务”的循环。程序中有哪些状态、会发生哪些事件、状态机如何响应以及响应后跳转到哪个状态,都可以通过状态机机制清晰的展现出来,使得程序结构清晰,易于理解和维护。状态机是一种以系统状态为中心,以事件为变量的设计方法,它专注于各个状态的特点以及状态之间相互转换的关系。状态的转换是由事件引起的,那么在研究某个具体的状态的时候,就会考虑任何一个事件对该状态会产生怎样的影响。
2024-12-26 14:13:17
253
原创 vscode连接远端docker高效开发的方法
目前项目源码部署在远端服务器的docker上,但是我习惯在vscode中修改源码并验证。所以需要通过vscode连接远端容器进行代码开发。vscode通过remote ssh连接服务器是比较常见的用法了,但是连接远端容器还是第一次使用。摸索了一阵后发现一个方便快捷的方法,不需要映射容器端口到服务器,不需要配置ssh,即可直接通过vscode连接远端容器。
2024-10-15 09:48:57
436
原创 Yocto学习笔记(三)配置Busybox
BusyBox 是一个开源的、轻量级的 Unix 工具箱,它集成了许多标准 Unix 工具的精简版本。它被设计用来运行在资源受限的环境中,例如嵌入式系统或者启动盘。BusyBox 将多个标准 Unix 实用工具整合到一个可执行文件中,这些工具包括文件操作、进程管理、网络配置、文本处理等。在嵌入式 Linux 系统中,BusyBox 被广泛应用于构建小型和高效的根文件系统。通过将多个功能整合到一个可执行文件中,BusyBox 可以显著减小系统的磁盘占用和内存占用。
2024-05-12 15:34:56
1584
原创 PRIu64与intptr_t在不同架构处理器可移植性的作用
当项目中需要将原来32位架构处理器的代码移植到ARM64架构处理器上时,在编译过程中会遇到许多的warning,这些警告大多与指针与整型变量的类型转换和printf函数参数的数据类型不相符有关。而intptr_t类型和PRIu64这些宏定义提高了代码在不同架构平台的可移植性。
2024-05-10 20:16:34
759
原创 Linux i2c工具——i2c_tools
i2c-tools是一个用于处理I2C(Inter-Integrated Circuit)总线的工具集,它在Linux环境中广泛使用。这个工具集包含了一系列命令行工具,用于在I2C总线上执行各种操作,例如扫描设备、读取/写入寄存器、检测设备等。可以通过该工具在linux命令行直接修改或读取i2c设备的数据,省去了代码编译烧录的过程,在调试开发阶段非常实用。
2024-05-08 13:22:57
1014
原创 i.MX系列芯片Yocto secure boot镜像签名
移植NXP meta-nxp-security-reference-design/meta-secure-boot layer对i.MX系列芯片进行签名secure boot
2024-04-28 14:39:35
1174
原创 bitbake ERROR:No space left on device or exceeds fs.inotify.max_user_watches?
bitbake ERROR:No space left on device or exceeds fs.inotify.max_user_watches? 解决方法及原因
2024-04-25 13:29:53
837
4
原创 NXP imx6ull secureboot HAB签名
i.MX系列应用处理器在芯片上提供了HAB(High Assurance Boot)功能。ROM负责从引导介质加载初始程序映像(U-Boot),而HAB使ROM能够通过使用密码学操作对程序映像进行验证和解密。此功能在i.MX 50、i.MX 53、i.MX 6、i.MX 7系列和i.MX 8M系列(i.MX 8M、i.MX 8MM、i.MX 8MN、i.MX 8MP设备)中受支持。
2024-04-17 20:36:07
1291
1
原创 NVIDIA Jetson Xavier搭建qt开发以及yolov5环境
ARM架构开发板nvidia jetson系列yolo开发环境搭建
2022-01-15 16:58:52
3863
2
原创 C++ 区分接口继承和实现继承与override关键字
《effective C++》接口继承和实现继承,纯虚函数(pure virtual)、普通虚函数(impure virtual)和成员函数在public继承中的不同关系
2021-12-08 10:52:03
447
原创 Linux中ps命令 ps aux与ps -ef的区别
平时进程卡死需要人为杀死进程时通常都这样操作,获取某特定的进程的pid时常用的命令是ps -ef | grap xxx,然后再用kill -9 pid 去杀死进程最近看到还有个显示进程的命令时ps axu,写下这篇文章记录ps -ef 和 ps axu的区别查看man ps里的解释最后两段表示在系统中查看每个进程的标准语法和BSD风格的语法,第一段也说明了,ps兼容UNIX、BSD、GUN三种风格的语法:UNIX 风格,选项可以组合在一起,并且选项前必须有“-”连字符BSD 风格,选项可以组合在
2021-12-02 11:07:04
1473
原创 大恒MER-1070-10GC相机 LINUX环境 QT开发记录
大恒工业MER-1070-10GC相机开发记录目录前言正文前言实验室正好有一个大恒型号为MER-1070-10GC的面阵相机,于是便用该相机学习工业相机的开发,写下本篇博客作为开发记录,也当作学习之路的一次小小实践。大恒正文...
2021-11-19 19:16:49
4642
1
原创 Pycharm使用ssh远程连接时遇到java.io.IOException:Cannot run program “connect“:CreateProcess error=2的问题
问题Pycharm专业版中可以使用ssh连接远程设备,在编程和调试时提供了很大的方便。最近在连接时遇到了无法连接的问题,显示java.io.IOException:Cannot run program “connect”:CreateProcess error=2,系统找不到指定文件。xshell连的时候可以连接,说明ssh是没有问题的。后来卸载了windows的Openssh,重新安装一遍就可以解决问题了。解决方法先进C盘用户目录,删除.ssh文件夹然后进入windows设置,在设置中找到应
2021-11-11 10:50:24
3459
8
原创 STM32F1系列超声波测距程序
STM32F1系列超声波测距程序因为自己做毕设的缘故,用到超声波HCSR04模块,在网上查找了相关的代码,发现关于超声波测距大体上有两种写法。在自己调试改进后,想把这两种方法都贴出来,和大家一起讨论学习。对了,我用的是STM32F103ZET6。超声波测距原理首先还是简单介绍下超声波测距原理。(1)超声波模块的TRIG引脚给最少10us高电平信号,触发测距。(2)模块自动发送8个40k...
2020-05-08 12:59:49
12891
43
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人