- 博客(6)
- 收藏
- 关注
原创 FDC2214——电容信号转换芯片
写驱动嘛通用的:1、先看芯片“引脚功能”+“功能框图”页,芯片内部功能区分布+里面会有原理的说明,知道大致的引脚有哪些以及功能。2、直接看手册里面的经典应用部分(即使这个应用不是自己要的应用),看他配了什么寄存器,把这些寄存器(大概率这部分也会说这些寄存器是干什么的)记录下来——得到一个最小配置表,然后看完整个应用的过程,知道里面的配置过程以及计算过程,对于芯片的使用有一个大致了解。3、再去到“Register Maps”的章节(大概率是在“详细说明”的章节里),里面有寄存器配置细节。
2026-10-30 10:30:00
16
原创 RTOS事件组(event group)
队列、信号量是只能唤醒一个任务,而事件组唤醒多任务(不传递数据,传数据通常配合队列、邮箱或全局变量);常用在:多个条件都满足才启动任务:电源好、传感器就绪、通信连接成功...事件组是 RTOS 中一种任务间同步与通信机制——其实就是一组二进制事件标志。每个位代表一个事件是否发生。其中的高8位留给内核使用,只能用其他的位来表示事件。
2026-10-16 15:55:08
209
原创 freeRTOS信号量(Semaphore)、互斥量(Mutex)
队列(queue)可以用于传输数据:在任务之间、任务和中断之间。有时候我们只需要传递状态,并不需要传递具体的信息,比如:我的事做完了,通知一下你卖包子了、卖包子了,做好了1个包子!做好了2个包子!做好了3个包子!这个停车位我占了,你们只能等着这种情况下我们只需要维护一个数值,使用信号量效率更高、它更节省内存。
2026-10-15 23:40:05
241
原创 初识内存管理
是 128KB SRAM 的结束地址)里面,然后栈是向下生长(栈底是高地址,SP 一开始指向0x20020000,压栈,SP 向低地址移动),所以 PSP 指针(进程栈指针)在栈底开始。栈是由寄存器SP 直接寻址,堆是由操作系统 / 运行时库维护的一个空闲内存链表。连接脚本(.ld)就是把各段的起始地址和大小定义,startup代码在main之前将.data从Flash复制到RAM并将.bss清零。(优先用栈,堆存在泄露风险,对象巨大例如2048*2048的图像单帧数据再考虑。Heap(~大、~慢)
2026-10-12 15:04:04
143
原创 RTOS的内存管理
RTOS学习中,通常会使用这些对象 任务(task) 队列(queue) 信号量(semaphores) 事件( event group),这些对象定义地时候在内存 中通常是,动态分配内存(使用分配,不用释放),也就是通过堆,来申请内存或者释放内存,这样做有一个好处,简化了程序设计(不需要提前在代码里静态定义一大堆全局结构体 / 数组,不用预先预估最大资源数量。
2026-10-12 14:48:04
227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅