摘要: 解决FreeRTOS中定时器时间错误的问题 问题现象是:定时1min就没问题,但是定时10min就会开机就定时器回调函数启动 #define TIMEOUT (10*60*1000) #define configCPU_CLOCK_HZ ( ( unsigned long ) 72000000 ) 阅读全文
posted @ 2026-01-15 20:21 Linux驱动开发 阅读(1) 评论(0) 推荐(0)
摘要: 解决互斥信号量同步死锁问题记录 使用变量在指定位置计数,查看运行次数,知道在哪一个地方阻塞 bool SysData_UpdateWagon(uint32_t mac, uint8_t track, int32_t lat, int32_t lon) { bool success = false; 阅读全文
posted @ 2026-01-12 20:31 Linux驱动开发 阅读(2) 评论(0) 推荐(0)
摘要: FreeRTOS任务卡死在HardFault函数通过Debug查看CPU寄存器解决 问题现象是在创建了一个新的最高优先级任务之后,在该任务中删除自己,程序卡死在HardFault函数 解决思路是查看程序在进入HardFault之前是在执行哪一条程序 重要的寄存器是SP、LR、PC三个寄存器以及Ban 阅读全文
posted @ 2025-12-24 20:42 Linux驱动开发 阅读(24) 评论(0) 推荐(0)
摘要: rootfs.tar.gz大小是70MB,但是解压后再压缩变成了200MB 现象:rootfs.tar.gz大小是70MB,但是解压后再压缩变成了200MB 解决办法:压缩的时候使用-S参数智能处理稀疏文件 sudo tar -Sczvf rootfs.tar.gz . 原因:因为原先的文件里可能包 阅读全文
posted @ 2025-12-19 17:13 Linux驱动开发 阅读(9) 评论(0) 推荐(0)
摘要: powerpoint打开无反应占有内存但不占CPU 首先可以根据这个现象考虑软件被CPU挂起 可以通过任务管理器的详细信息,右键分析等待链 可以看到软件挂起的原因是否是在等待某个进程,可以尝试关闭该进程,之后尝试启动 如果上述还不行的话,可以尝试使用win+x查看事件查看器,之后点击Windows日 阅读全文
posted @ 2025-12-16 10:36 Linux驱动开发 阅读(3) 评论(0) 推荐(0)
摘要: 交叉编译的时候为什么需要使用export命令 export PATH=/home/lyz/toolchain/arm/gcc-linaro-14.0.0-2023.06-x86_64_aarch64-linux-gnu/bin:$PATH export ARCH=arm64 CROSS_COMPIL 阅读全文
posted @ 2025-12-12 10:50 Linux驱动开发 阅读(13) 评论(0) 推荐(0)
摘要: FreeRTOS任务卡死在prvTaskExitError 问题现象是测试FreeRTOS的闪灯任务没有运行 之后在keil 中Debug过程中,发现在Call Stack + Local框中发现程序卡死在prvTaskExitError ,任务没有发生调度 第一个原因是FreeRTOS要求每个任务 阅读全文
posted @ 2025-12-11 20:01 Linux驱动开发 阅读(35) 评论(0) 推荐(0)
摘要: flash在uboot中与linux中地址问题 现象:bootflash在uboot下的地址为0-0x0FFFFFFF ​ usrflash在uboot下的地址也为0-0x0FFFFFFF ​ 但是在os中,bootflash的地址为0x001_0000_0000-0x001_0FFFFFFF ​ 阅读全文
posted @ 2025-12-03 17:26 Linux驱动开发 阅读(7) 评论(0) 推荐(0)
摘要: 硬件环境stm32f103c8t6 使用stm32cubemx生成代码;使用TIM4;移植FreeRTOSv10.3.0 使用官方Demo中的FreeRTOS_Config.h 新增以下三个宏定义: #define vPortSVCHandler SVC_Handler #define xPortP 阅读全文
posted @ 2025-11-28 19:49 Linux驱动开发 阅读(57) 评论(0) 推荐(0)
摘要: #define mb() __asm__ __volatile__ ("" : : : "memory") 这个是告诉编译器内存内容已经改变,需要重新去读取; 因为编译器只是编译出来二进制,但是这些二进制的执行逻辑仍然是编译器制定的 有时候编译器会进行优化,比如while(flag == 0)编译器 阅读全文
posted @ 2025-11-28 14:16 Linux驱动开发 阅读(2) 评论(0) 推荐(0)