
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了电机驱动开发中R3_2双相扇区电流采样与第三相重构的关键技术。主要内容包括:1)通过SVPWM扇区感知动态选择可采样的两相电流,解决高调制比下固定相采样失效问题;2)利用基尔霍夫定律重构第三相电流;3)STM32 ADC注入转换机制实现与PWM严格同步采样。文章对比了lesson20固定UV采样与当前方案差异,详细阐述了扇区采样策略、硬件约束条件和具体实现方法,包括ADC注入通道动态配置

本文介绍了操作系统缺页异常(#PF)与按需分页机制。当CPU访问未映射或权限不符的线性地址时,会触发缺页异常(向量14),这是虚拟内存系统的核心机制,使按需分页、写时复制等成为可能。文章分析了#PF的触发条件、错误码解析及恢复流程,并给出实现方案:通过注册IDT中断处理程序,在缺页时分配物理页并建立映射,使指令能重试执行。最终演示了对0x40000000未映射地址的按需分页处理流程,补齐了虚拟内存

本文介绍了内核堆分配器(kmalloc/kfree)的设计与实现,作为物理内存管理(PMM)和虚拟内存管理(VMM)后的第三层内存抽象。关键点包括: 必要性:内核需要细粒度内存管理(任意字节大小),避免直接使用页级分配的低效问题。 核心机制: 块结构设计(16字节块头+载荷) First-Fit分配算法 空闲块拆分与合并策略 通过魔数校验防止重复释放 实现层次:堆建立在连续物理页上,通过块头元数据

本文介绍了操作系统中虚拟内存(VMM)的核心机制——分页技术。主要内容包括: 虚拟内存的作用:通过页表将程序看到的虚拟地址翻译为物理地址,实现进程隔离、灵活内存布局和细粒度保护。虚拟内存不是额外硬件,而是一套地址翻译机制。 x86 32位分页原理:采用二级页表结构(页目录+页表),将32位虚拟地址拆分为10-10-12三部分。页目录项(PDE)管理页表,页表项(PTE)管理物理页,两者共享相似的位

操作系统物理内存探测与分配器(PMM)实现 本文介绍操作系统中物理内存探测与管理的实现方法。主要内容包括: 物理内存探测:通过BIOS INT 15h E820调用获取内存布局(ARDS),识别可用区域(Type=1)并避开设备预留区。 内存管理架构: 将物理内存划分为4KB页帧 使用位图(Bitmap)跟踪页帧分配状态 位图紧随内核加载,避免占用可用内存 核心功能: pmm_init():解析A

环境准备CentOS7 64位yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++ git安装go语言环境yum install -y mercur
本文摘要了8253 PIT定时器与多任务上下文切换的实现原理。首先介绍8253芯片调频方法,通过设置计数初值实现每秒100次时钟中断。随后揭示多任务本质是寄存器快照的保存与恢复,需为每个任务准备独立内核栈和任务控制块(TCB)。重点分析了中断发生时硬件自动压栈的寄存器布局,以及如何通过伪造栈结构实现新任务的首次调度。最后以任务A切换到B再切回A为例,完整推演了上下文切换的详细过程,包括寄存器保存、

本文摘要介绍了操作系统学习中的IDT(中断描述符表)、PIC(可编程中断控制器)和键盘中断处理。主要内容包括: IDT构建:创建256项IDT表,注册键盘中断向量33,定义中断门描述符结构(偏移地址、段选择子、类型等),通过LIDT指令加载IDTR寄存器。 8259A PIC初始化:重映射IRQ0-15到中断向量32-47,配置ICW1-4命令字,屏蔽无关中断(仅开放IRQ1键盘中断),实现主从片

本文介绍了电机驱动系统中电源电压与温度采样的实现方法。实验在无刷电机控制基础上,通过ADC3+DMA双通道采集母线电压和NTC温度,采用电阻分压、隔离运放和差分转单端电路将高压转换为安全信号,并通过串口以十六进制波形帧输出数据。硬件上利用1/37分压和1.24V偏置处理母线电压,软件中通过DMA中断回调进行数据滤波处理,最终实现电压值换算和温度监测功能,同时保留原有电机控制和保护功能。

本文摘要: 本文介绍了电机驱动开发中的电流环控制方法。电流环以相电流为被控量,通过PID调节PWM占空比实现恒定转矩输出。与速度环、位置环相比,电流环响应更快,适用于力控场景。文中详细分析了电流环的反馈机制(三相ADC采样)、控制周期(25ms)、零偏校准策略(64次采样均值)及常见问题处理。实验基于野火F407开发板,保留了过流保护功能,通过串口命令可调节目标电流和PID参数。电流环作为后续串级








