自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

六个九十度

嵌入式软件开发的一些经验

  • 博客(239)
  • 资源 (2)
  • 收藏
  • 关注

原创 GD32串口的IDLE中断可以用来实现帧定界

在第一个RBNE中断里开启IDLE,在IDLE回调里关闭IDLE

2026-08-07 19:38:29 188

原创 用python脚本访问被网关隔离的嵌入式设备

用paramiko库实现

2026-07-10 19:49:01 196

原创 定位Petalinux 2022.1的u-boot在zynq-7000芯片上启动失败

试着开启CONFIG_SERIAL_PROBE_ALL配置选项

2026-06-30 20:21:51 217

原创 英文网站的【右单引号】显示问题

右单引号在英文系统是半角,在中文系统是全角

2026-06-23 20:08:49 234

原创 基于协程思想实现单线程同时执行2个事件循环

将其中一个循环的头、体、尾抽取成3个switch case分支,再封装成一个函数,供另一个循环调用

2026-06-17 19:29:54 220

原创 gcc编译告警开关-Wall对于工业级C代码是不够的

仔细阅读gcc的告警选项列表,从中找到你需要的

2026-05-30 15:43:36 185

原创 一种适用于嵌入式linux系统的时间同步方法

嵌入式系统时间同步的轻量级解决方案 本文提出了一种不依赖NTP客户端的嵌入式系统时间同步方法。该方法通过上位机将本地时间信息(秒级和微秒级)通过TCP协议发送给下位机,下位机接收后设置自己的RTC时钟。文章详细介绍了时间同步协议的设计,包括数据结构选择(使用struct timeval)、字节序处理方案,以及具体的实现步骤。同时针对嵌入式系统特点,提供了时区设置建议(推荐使用UTC时区)和替代方案(通过环境变量TZ设置时区)。实测表明该方法存在约30ms的同步误差,对于精度要求不高的场景适用,但对高精度需求

2026-04-11 09:38:58 370

原创 C语言的重载——变参函数

变参函数就是丐版重载

2026-03-26 18:12:21 202

原创 实现一个简单的Linux多实例timer库

封装timer_create和timer_settime接口

2026-02-26 19:02:41 524

原创 让mobaxterm支持光标闪烁

闪烁的开启入口藏在终端的颜色设置里

2026-01-05 13:56:09 407

原创 LTC2500内置滤波器的群延迟

群延迟跟转换时间不是一回事!

2025-12-31 17:18:39 324

原创 用C语言把BCD编码的数字转换成普通16进制

将4bit的BCD按8bit分组,高4bit乘以10再加上低4bit,就得到8bit十六进制数

2025-12-27 11:46:40 514

原创 Linux下通过sysfs读写GPIO的一个注意事项

要加上系统给所选gpio控制器分配的base编号!

2025-11-15 18:35:11 542

原创 使用mobaxterm的ssh隧道实现远程访问虚拟机里的Linux系统

remote server和ssh server的IP都配置成虚拟机的IP,端口号都配置成22即可

2025-11-10 13:52:15 607

原创 busybox的syslog不支持毫秒级时间戳的一种规避方法

定义变参函数宏来封装syslog,或变参函数来封装vsyslog,里面先插入毫秒级时间戳,再打印app的日志信息

2025-11-01 11:54:07 922

原创 用gcc的Statement Exprs实现可返回剩余时间的,支持任意关系表达式的超时等待

用gcc的C语言扩展statement-expression实现能返回剩余等待时间的超时等待函数

2025-10-25 10:27:42 839

原创 C语言接收结构体返回值的3种方式

只要左值是结构体的值类型就行,不一定非得是临时声明的局部变量

2025-10-18 09:49:01 387

原创 一种让PetaLinux 2020.2从QSPI flash启动的简单办法

先找到手动启动linux的uboot命令序列,再将其填写到boot.scr,并放置到eMMC的FAT分区

2025-09-13 16:11:59 1398

原创 一种命令行版的网络调试助手

命令行版的网络调试助手,无任何依赖

2025-08-16 14:31:38 972

原创 定义短的魔术数字时小心负数的整型提升

这段C代码输出"invalid magic"的原因是整型提升导致的类型不匹配。short类型的0xcafe被提升为有符号整数0xffffcafe,而0xcafe被当作无符号整数0x0000cafe,导致比较不相等。解决方法是将常量强制转换为short类型:(short)0xcafe,或使用无符号类型避免此问题。这体现了C语言隐式类型转换的陷阱,在处理魔术数字时需特别注意数据类型的选择和显式类型转换。

2025-08-11 19:37:38 365

原创 将Linux代码从用户态挪到内核的一种简便方法

如果只是想把一部分代码从用户态挪到内核态,不需要编写驱动,只需要编写一个自定义misc设备,然后在内核模块入口里注册即可。

2025-07-24 19:00:58 317

原创 zynq-7000平台uboot莫名进入命令行模式

RX引脚要做上拉

2025-05-22 11:24:45 475

原创 对基于再生龙制作的Linux系统的硬盘进行扩容

Linux将分区和文件系统分开看待,先用parted扩容分区,再用resize2fs扩容文件系统

2025-05-12 17:35:11 642

原创 fatal error: stdarg.h: No such file or directory错误的一种冷门原因

gcc版本过高或过低,需要安装匹配版本,并通过CC环境变量告知make

2025-02-13 10:30:06 983

原创 在Windows上读写Linux磁盘镜像的一种方法

VMware的共享文件夹及其挂载到虚拟机Linux系统里的方法

2024-12-28 13:45:51 1672

原创 解决TI的CCS在安装了维响加密软件的电脑上编译C/C++代码失败问题

将cl6x、acp6x和acpia6x这三个exe添加到白名单

2024-12-19 11:30:55 842

原创 最左侧1问题的一种二分法解法

动态规划和夹逼法

2024-12-10 18:10:16 364

原创 NVME盘未格式化导致Ubuntu20.04启动慢

systemd执行任意操作的超时时间是90秒!

2024-10-14 20:11:24 854

原创 将RK3588平台的TMC等USB function驱动挪出内核源码树

先加载ko,再在configfs里执行mkdir func、ln -s func config/、echo gadget > UDC三步骤

2024-09-04 15:01:37 831

原创 支持高带宽数据采集卡的XDMA优化之路

XDMA存在非常多的优化点,希望这些优化措施能帮到你

2024-08-20 19:25:52 3879 8

原创 基于USB host控制器实现的TMC驱动

跨性别的USB-TMC

2024-08-09 17:44:07 2110 3

原创 在Linux下直接修改磁盘镜像文件的内容

用losetup命令实现虚拟光驱的效果,但是losetup支持修改镜像内容

2024-07-09 19:23:22 2197 1

原创 基于GT911触控IC的电容屏在MSP430上的驱动

GT911的COOR_ADDR寄存器只要读了,就一定要写0清零,切记。

2024-03-16 11:45:35 1977

原创 STM32作为SPI slave与主机异步通信

slave开机后处于SPI接收主机command状态,收到用户输入后abort当前的接收,进入SPI发送状态,发送完毕后,恢复接收command状态。

2024-03-02 16:57:20 2541

原创 TI的电量计驱动在卸载时导致Linux卡死

TI工程师对devm前缀打头的函数的使用有问题

2024-02-07 17:43:18 721

原创 将TI的电量计Linux驱动从4.4内核移植到5.10

在理解Linux和厂商代码的前提下,将报错的宏找到等价替代,或直接删除。

2024-01-20 11:55:07 1737 11

原创 增量式旋转编码器在STM32平台上的应用

将编码器输出的两路信号的其中一路当作触发器,检测另一路的电平高低,从而确定旋转方向。

2023-12-23 17:55:56 1478

原创 STM32 HAL库函数HAL_SPI_Receive_IT和HAL_SPI_Receive的区别

带IT后缀的版本只开启中断,实际的接收在中断回调里完成。

2023-11-18 17:23:58 7593

原创 从Linux的tty_struct指针获取驱动上下文

ctx = container_of(tty->port, struct gpib_tty_ctx, port);

2023-10-21 12:05:02 680

原创 在linux下预览markdown的方法,转换成html和pdf

使用pandoc转换成html和pdf,再用firefox和evince预览

2023-09-28 10:03:09 3185

基于GT911触控IC的电容屏在MSP430上的驱动

基于GT911触控IC的电容屏在MSP430上的驱动

2024-03-16

在linux下预览markdown的方法,转换成html和pdf

在linux下预览markdown的方法,转换成html和pdf

2023-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除