- 博客(9)
- 收藏
- 关注
原创 Epool学习
epoll将selectpoll的“每次传入全部描述符”拆分为epoll_ctl(管理列表)和epoll_wait(等待事件)两个步骤,避免了无效的重复拷贝和遍历。内核通过为每个描述符注册回调函数,主动将就绪的描述符加入就绪链表,实现了事件通知的 O(1) 复杂度。核心的红黑树和就绪链表常驻内核,避免了大量内存拷贝。正是这些精巧的设计,使得epoll能够轻松应对 C10K 甚至 C10M 级别的高并发连接,成为构建现代高性能网络服务的基石技术(如 Nginx、Redis)。
2025-11-13 12:15:19
871
原创 0-3G用户空间 学习
内存区域存储数据类型增长方向管理方式.text 段程序代码(指令)系统加载时固定.data 段已初始化的全局/静态变量系统加载时固定.bss 段未初始化的全局/静态变量系统加载时初始化为0堆动态分配的数据向高地址增长程序员(内存映射区共享库、内存映射文件灵活系统/程序员(mmap栈局部变量、函数参数、返回地址向低地址增长编译器自动。
2025-11-09 11:39:58
557
原创 标准库学习 中断
整个系统只能设置一次优先级分组抢占优先级决定嵌套能力,子优先级决定相同抢占级内的执行顺序数值越小优先级越高(0是最高优先级)合理规划优先级对系统实时性至关重要实际项目中建议使用Group_2或Group_4,平衡灵活性和复杂度//Group_2抢占优先级2位、响应优先级2位。
2025-10-29 22:58:14
212
原创 嵌入式学习 FLASH
在嵌入式系统中,我们说的FLASH通常指的是Nor FLASH和NAND FLASH,他们都是非易失性存储器,即断电后数据不会丢失。他们的物理基础都是浮栅MOS管。如128字节/256字节的一页:在擦除和编程期间,。因为FLASH操作耗时较长(ms级别),如果被中断打断,可能导致操作失败或数据错误。很多HAL库函数内部已经处理了中断的禁用和使能。:。例如,如果你把上面的函数代码本身放在内部FLASH的扇区5,然后去擦除扇区5,系统会立即崩溃。
2025-10-29 11:19:42
355
原创 嵌入式学习 临界区
的共享资源保护方案,但如同手术刀——用得好能救命,用不好会致命。在实时性要求极高的场景(如电机控制PWM更新),临界区是无可替代的解决方案。能用临界区解决的不用互斥锁,能用互斥锁解决的不用调度器挂起。(确保每个enter都有对应的exit):任务A修改一半的数据时被任务B读取。(禁止调用任何可能引发阻塞的API):中断仍可触发,但不会引发任务切换。高优先级中断(如硬件故障)仍可触发。(不超过内存拷贝操作时间)理想长度 < 10条指令。复杂资源保护(可阻塞)FreeRTOS通过。
2025-10-28 23:19:57
258
原创 嵌入式学习 队列
是最核心的、最常用的任务间通信(IPC)机制之一。它提供了任务之间、任务和中断服务程序(ISR)之间安全传递数据的通道。1. 队列的本质与特点或转换:队列能容纳的。uxItemSize:每个数据项的。
2025-10-28 20:15:47
805
原创 嵌入式学习 事件组
事件组:事件组是实时操作系统中一种非常重要的同步机制,它允许任务之间、任务与中断之间进行搞笑的同步和通信。什么是事件组:可以理解成一个多位的标志集合。每个位代表一个独立的事件。例如:位 0 可以代表 "收到网络数据包" 事件。位 1 可以代表 "按键按下" 事件。位 2 可以代表 "温度传感器数据就绪" 事件。一个任务可以等待一个或多个特定的事件位被设置(置 1),而另一个任务或中断服务程序(ISR)可以设置这些位来通知等待的任务。
2025-10-27 19:20:09
230
原创 STM32 GPIO标准库函数
:仅STM32F1系列需要此函数(F4/F7等系列使用SYSCFG模块。:获取上次写入的值(实际电平可能因外部电路改变)。:指向配置结构体的指针(包含引脚号、模式、速度等):高效控制多个引脚(如LED阵列)。:避免未初始化的结构体导致配置错误。(所有寄存器重置为初始值)。:将指定GPIO端口(如。(模式、速度、上下拉)。(通常为浮空输入模式)。:读取指定GPIO引脚的。:读取整个GPIO端口的。:读取指定GPIO引脚的。:读取整个GPIO端口的。(非实际引脚电平)。
2025-10-15 22:59:01
393
原创 STM32 RCC标准库函数
获取当前系统各总线时钟频率(如 SYSCLK、HCLK、PCLK1、PCLK2)。(如 USART2/3、I2C、SPI、TIM2/3/4 等低速外设)(互联型),复位 AHB 总线上的外设(如 USB OTG、以太网)。:选择输出的时钟源(如 SYSCLK、HSI、HSE、PLLCLK)。(如 GPIO、USART1、ADC1、TIM1 等高速外设)(如 HSE 就绪、PLL 锁定、时钟失效等)。(如 GPIO、ADC、TIM1)。(如 DMA、SDIO、以太网等)
2025-10-15 22:47:59
349
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅