摘要: typedef的用法是在定义前加上这个关键字,就能得到一个新的类型名;例如int a;变成typedef int a ;那么就可以用a表示Int了。 比如void (*test)(void);那么加上typedef就变成了typedef void (*test)(void); 类型名test就表示一 阅读全文
posted @ 2026-05-29 12:42 Linux驱动开发 阅读(109) 评论(0) 推荐(0)
摘要: struct cdev *p; struct cdev *new = null; 指针的作用就是指向一个地址,所以基于这个基本前提就有如下推断 此时p指针是有一个内存地址存放p指向的地址的 但是由于p没有初始化,所以p的内存空间存储的地址是个野指针 同理,此时new也是有一个内存区域存储他指向的地址 阅读全文
posted @ 2026-05-15 14:25 Linux驱动开发 阅读(8) 评论(0) 推荐(0)
摘要: Program Size: Code=39696 RO-data=2368 RW-data=360 ZI-data=15432 c8t6的内存大小是20KB,flash大小是60KB 代码也就是机器指令是Code占用39696B,存放到片上flash中 RO-data只读数据段,存放常量以及prin 阅读全文
posted @ 2026-04-15 18:49 Linux驱动开发 阅读(9) 评论(0) 推荐(0)
摘要: uint8_t USART_RX_BUF[128] = {0}; USART_REC_LEN = 200; memset(Save_Data.GPS_Buffer, 0, GPS_Buffer_Length); //清空memcpy(Save_Data.GPS_Buffer, USART_RX_BU 阅读全文
posted @ 2026-04-02 18:26 Linux驱动开发 阅读(7) 评论(0) 推荐(0)
摘要: 解决qspi-flash驱动直接地址读模式只能访问默认16MB以内的问题 初始化时主要需要配置qspi控制器的寄存器,在对flash进行操作的时候才是通过寄存器端口对flash进行操作; 访问flash的操作主要是有直接地址访问以及寄存器端口访问两种; 其中直接地址访问就是通过地址映射能够直接访问的 阅读全文
posted @ 2026-01-28 18:16 Linux驱动开发 阅读(28) 评论(0) 推荐(0)
摘要: 指针算术运算 static inline void ft_qspi_write(PhytiumQspiCtrl *qspi_ctrl, int offset, u32 value) { writel(value, (void *)((u8 *)qspi_ctrl->reg_base + offset 阅读全文
posted @ 2026-01-28 14:42 Linux驱动开发 阅读(9) 评论(0) 推荐(0)
摘要: U-Boot printf 格式速查表 占位符 对应类型 说明 适用性 %d int 有符号十进制 打印小整数 %u unsigned int 无符号十进制 打印计数 %x unsigned int 十六进制 (小写) 慎用!只打印低32位 %lx unsigned long 长十六进制 ✅ 打印 阅读全文
posted @ 2026-01-26 14:00 Linux驱动开发 阅读(7) 评论(0) 推荐(0)
摘要: 解决FreeRTOS中定时器时间错误的问题 问题现象是:定时1min就没问题,但是定时10min就会开机就定时器回调函数启动 #define TIMEOUT (10*60*1000) #define configCPU_CLOCK_HZ ( ( unsigned long ) 72000000 ) 阅读全文
posted @ 2026-01-15 20:21 Linux驱动开发 阅读(10) 评论(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驱动开发 阅读(6) 评论(0) 推荐(0)
摘要: FreeRTOS任务卡死在HardFault函数通过Debug查看CPU寄存器解决 问题现象是在创建了一个新的最高优先级任务之后,在该任务中删除自己,程序卡死在HardFault函数 解决思路是查看程序在进入HardFault之前是在执行哪一条程序 重要的寄存器是SP、LR、PC三个寄存器以及Ban 阅读全文
posted @ 2025-12-24 20:42 Linux驱动开发 阅读(80) 评论(0) 推荐(0)