- 博客(190)
- 收藏
- 关注
原创 FreeRTOS(速记版)
中断是微控制器一个很常见的特性,中断由硬件产生,当中断产生以后 CPU 就会中断当前的流程转而去处理中断服务,Cortex-M 内核的 MCU 提供了一个用于中断管理的嵌套向量中断控制器(NVIC)。Cotex-M3 的 NVIC 最多支持 240 个 IRQ(中断请求)、1 个不可屏蔽中断(NMI)、1 个Systick(滴答定时器)定时器中断和 11个系统异常。Cortex-M 处理器有多个用于管理中断和异常的可编程寄存器,这些寄存器大多数都在NVIC和系统控制块(SCB)中,
2024-09-11 12:11:33
1144
原创 嵌入式Linux C应用编程指南-高级I/O(速记版)
阻塞其实就是进入了休眠状态,交出了 CPU 控制权。比如 wait()、pause()、sleep()等函数都会进入阻塞。阻塞式 I/O 顾名思义就是对文件的 I/O 操作(读写操作)是阻塞式的,非阻塞式 I/O 同理就是对文件的 I/O 操作是非阻塞的。普通文件的读写操作是不会阻塞的,不管读写多少个字节数据,read()或 write()一定会在有限的时间内返回,所以普通文件一定是以非阻塞的方式进行 I/O 操作,这是普通文件本质上决定的。
2024-09-01 23:04:15
1323
原创 嵌入式八股文-网络(速记版)
三次握手可以防止已失效的SYN连接请求报文段被送到服务端导致错误连接。一个例子就是客户端发送了一次连接请求,延迟传送到服务端,期间又发送了一次请求并成功连接,如果只两次握手服务端会认为客户端又传来了一个新的连接请求,并重新连接,导致服务器资源浪费。还有就是客户端发送连接请求后就挂掉了,服务端这时建立连接也会浪费资源TCP协议是全双工通信,这意味着客户端和服务器都可以向彼此发送和接收数据,因此关闭连接是双方都需要确认的行为。
2024-08-13 17:50:38
475
原创 基于misc设备驱动框架实现ds18b20的设备树管理和驱动
在Lubancat5不支持1-wire总线的情况下基于misc设备框架实现ds18b20的设备树管理和驱动
2026-01-09 14:05:22
5
原创 记录:PC ping不通板卡,板卡能ping通PC
但我的 wifi是接的路由器,网线接的是交换机。路线压根是两个不同通信网络,只是 ip网段之类的设置刚好相似。使用 ping xxx -S aaa 来指定发送数据包的源,不然 wifi 和 eth 都开着,可能优先走 wifi。排查防火墙之类的情况以后,
2025-11-11 19:20:05
219
原创 C++左值、右值、move移动函数
今天写线程池的时候发现,标准做法禁用了拷贝构造函数和赋值操作符当不写这俩禁用的时候,c++会默认生成拷贝构造函数会将成员统统再复制一份——而线程池的成员 std::thread、std::mutex、std::condition_variable 本身都禁止拷贝,编译器会报错;即使能拷贝,也会出现两个对象管理同一批线程、重复 join、重复 notify 的未定义行为。
2025-11-05 14:29:13
1012
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅