- 博客(142)
- 收藏
- 关注
原创 FREERTOS任务TCB与任务链表的关系-重点
这种设计使得FreeRTOS能够在资源受限的嵌入式系统中,高效地管理多个任务的生命周期和状态迁移。而任务的状态(就绪、阻塞、挂起、运行)并非由TCB直接记录,而是通过将TCB中的。是内核管理任务状态的核心数据结构。两者通过TCB中的链表节点成员(任务的状态变化(如就绪→阻塞、阻塞→就绪)本质上是。)紧密结合,共同实现任务的创建、状态迁移与调度。FreeRTOS的链表(如就绪链表、延时链表)是。(事件链表项)是连接任务与链表的关键。每个任务在创建时都会分配一个唯一的TCB(结构体),其中包含了任务的。
2025-09-21 18:39:44
457
原创 HEX文件格式
特性说明格式类型文本格式(ASCII)常见用途单片机/嵌入式程序烧录每行结构由开头,包含长度、地址、类型、数据和校验和常见类型00(数据)、01(结束)、04(扩展线性地址)优势可读性强,支持地址信息,便于烧录和传输劣势相比 BIN 文件体积稍大,因为是文本格式如果你有具体的 HEX 文件想要分析,或者想了解如何将 HEX 转为 BIN,或者如何用代码解析 HEX 文件,欢迎继续提问!
2025-09-17 20:10:38
813
原创 ARM编译器的__inline和 __forceinline
是ARM编译器(如ARM RealView、ADS、Keil MDK等)提供的编译器扩展关键字,用于建议编译器将函数内联展开。其核心作用是减少函数调用的时空开销(如压栈、跳转、出栈等操作),提升程序执行效率,尤其适用于小函数或高频调用的函数。二、:强制性内联关键字是ARM编译器的更强制内联扩展,用于强烈要求编译器将函数内联展开,即使编译器通常会拒绝内联(如函数较复杂、递归等)。其目的是在极致性能要求的场景(如实时系统、高频中断处理)中,彻底消除函数调用开销。
2025-09-14 13:38:00
937
原创 怎么测量磁阻与等效磁路长度
测量磁阻(Rm)与等效磁路长度(le)是磁路分析中的核心任务,需结合磁路基本原理(RmμAle,其中μ为材料磁导率,A为磁路截面积),通过“间接推导”或“直接测量”实现。以下分和两部分,详细说明具体方法(以常见的EI硅钢片磁芯为例,可推广至其他闭合磁路结构)。
2025-09-13 13:52:33
754
原创 Cortex-M0 M3 M4的乘法与除法指令对比
好的,我们来详细对比 ARM 架构中 M0、M3 和 M4 内核的乘法与除法指令。这是一个非常实际的问题,因为这三款内核面向不同的应用场景(M0-超低功耗/成本,M3-性能与功耗平衡,M4-带DSP功能的高性能),其数学运算能力有显著差异。
2025-09-02 18:13:13
732
原创 定时器的主模式选择 (Master mode selection)与从模式选择 (Slave mode selection)
定时器的主模式选择 (Master mode selection)与从模式选择 (Slave mode selection)
2025-09-02 17:30:37
572
原创 磁阻Rm与自感系数AL的关系
参数符号物理意义与磁阻 R_m 的关系磁阻R_m磁路对磁通的阻碍能力本身电感系数A_L磁芯建立磁通的促进能力(每匝平方的电感量)(反比)电感量L线圈存储磁场能量的能力(反比)把磁路想象成水路。磁阻 R_m好比水管的粗细和光滑度(水管越细、越粗糙,阻力越大)。AL值好比水管的通流能力(水管越粗、越光滑,通流能力越强)。匝数 N好比水泵的功率或数量。电感量 L好比最终形成的总水流大小。AL值(通流能力)和磁阻(阻力)是水管本身的属性,互为倒数。
2025-08-26 10:28:27
740
原创 功率开关器件栅极米勒钳位保护
在功率开关器件(如 IGBT 或 MOSFET)中,除了常见的栅极-源极电容 Cgs和漏极-源极电容 Cds栅极-漏极电容(对于 IGBT 是 Cgc,对于 MOSFET 是 Cgs),通常称为米勒电容 (Miller Capacitance)。米勒钳位保护是一种通过在功率器件栅极与驱动地(或参考地)之间,设置一个低阻抗通路(通常是一个 MOSFET 或稳压管等),在特定时刻将栅极电压钳位在一个安全电平(如接近 0V 或驱动负电压),从而抑制米勒效应引起的误导通或栅极干扰的技术。
2025-08-19 15:20:53
625
原创 功率开关器件的退饱和保护
在正常工作情况下,功率开关器件(如 IGBT)在导通时处于饱和导通状态(Saturation Region),此时其导通压降(Vce 或 Vds)较低且基本恒定(例如 IGBT 的 Vce(sat) 一般在 1.5V ~ 3V 左右)。当器件发生短路或严重过流时,流过器件的电流会急剧增大,由于器件此时仍试图维持导通状态,但其两端电压将因电流过大而显著上升,超过正常的饱和压降,从而进入线性区或非饱和区(即“退饱和”状态)。
2025-08-19 14:59:33
853
原创 阻抗匹配是指什么
其核心是根据场景(射频、高速数字、音频等)选择匹配策略,在无反射(射频)或最大功率(电力)之间取得平衡。在放大器设计中,通过负反馈调整输出阻抗(如运放闭环输出阻抗远低于开环),使其与负载阻抗匹配,同时提升稳定性。例如,射极跟随器(共集电极电路)的输出阻抗较低,适合驱动低阻抗负载。高频系统中(如雷达、5G基站),可通过电子调谐元件(如变容二极管、MEMS开关)实时调整匹配网络参数,适应负载变化(如天线阻抗随温度、角度变化)。),即实部相等、虚部相反,此时功率传输效率最高(但反射可能不为零,需权衡)。
2025-08-11 09:43:23
552
原创 实数与复数及欧拉公式关系
复数(记为zzzzabiz = a + bizabi其中aaa和bbb是实数,分别称为复数的实部RezaReza)和虚部ImzbImzb),iii是虚数单位。当虚部b0b = 0b0时,复数退化为实数zaz = aza,因此实数是复数的子集R⊂CR⊂CC\mathbb{C}C为复数集)。复数在几何上对应复平面(横轴为实轴,纵轴为虚轴)上的“二维”点,这与实数的“一维”数轴形成鲜明对比。包含关系。
2025-08-09 17:24:27
1017
原创 复数与频谱的联系
频谱的数学定义依赖傅里叶变换,而傅里叶变换的结果本身就是复数。对于时域信号xtx(t)xt,其频域频谱XωX(\omega)XωXω∫−∞∞xte−iωtdtXω∫−∞∞xte−iωtdt这里的XωX(\omega)Xω是复数,它完整描述了信号在频率 ( \omega ) 处的“特征”——这种特征无法仅用实数表达,必须通过复数的模和辐角才能完整刻画。复数通过欧拉公式和傅里叶变换,为频谱提供了严谨的数学描述;
2025-08-09 17:01:11
525
原创 对一个相量进行傅里叶变换
Xω2πAδω−ω0Xω2πAδω−ω0AAeiϕAAeiϕ为相量);这一结果揭示了正弦信号的频谱集中特性,是频域分析的基础工具。
2025-08-09 16:54:28
978
原创 交流异步电机转子需要绕线吗
根据应用需求选择类型:鼠笼型通用性强,绕线型适用于特殊调速或大功率启动场景。交流异步电机的转子是否需要绕线,取决于其类型。交流异步电机主要分为。
2025-08-08 17:10:10
132
原创 交流异步电机的定子与转子转速差产生的原因
异步电机的定子与转子转速差,本质是电磁感应机制的必然要求没有转速差 → 无相对切割 → 无转子电流 → 无电磁转矩 → 电机无法驱动负载;存在转速差 → 有相对切割 → 有转子电流 → 有电磁转矩 → 电机实现电能到机械能的转换。转速差的大小随负载动态调整,确保电机在不同工况下稳定输出功率。这也是异步电机结构简单、运行可靠的核心原因之一。
2025-08-08 17:02:36
786
原创 单相交流异步电机旋转磁场产生原理
单相交流异步电机的旋转磁场是通过空间差(主、辅绕组90°布局)+相位差(电容/电阻移相)实现的:两组空间垂直的绕组通入相位不同的电流,其磁场叠加随时间呈现旋转特性,从而驱动转子转动。分相技术是突破单相电天然限制的核心,而辅助绕组的设计与控制则决定了电机的启动性能和旋转方向。
2025-08-08 15:58:46
824
原创 三相交流电机旋转磁场产生原理
交流电机的旋转磁场是对称三相电流在空间对称绕组中产生的磁场叠加效应,其转速由频率和极对数决定,转向由电流相序控制。这一原理是异步电机转子感应电流、产生电磁转矩的基础,也是交流电机广泛应用于工业驱动的核心原因。
2025-08-08 15:42:32
750
原创 电容,电感交流阻抗推导
在交流电路中,电容和电感的阻抗(Impedance)可以通过分析它们对正弦交流信号的响应来推导。阻抗是电阻和电抗(容抗或感抗)的复数组合,用于描述电路元件对交流信号的阻碍作用。这些阻抗关系是交流电路分析(如阻抗匹配、滤波器设计)的基础。其中 ( j ) 是虚数单位(
2025-08-08 11:04:36
694
原创 复数,极坐标,欧拉公式,相量的联系
相量用复数表示正弦信号的振幅(或有效值)和初相位,忽略时间因子ejωtejωt(因所有同频正弦信号的时间因子相同,可通过相位差比较)。振幅相量X˙mXm⋅ejϕX˙mXm⋅ejϕ(模为XmX_mXm,辐角为ϕ\phiϕ),有效值相量X˙Xm2⋅ejϕX˙2Xm⋅ejϕ(模为有效值XXm2X2Xm。
2025-08-08 10:51:24
631
原创 向量,矢量,相量区别与联系
复数提供了“大小+方向”的代数描述工具,极坐标提供了该工具的几何表示语言,向量是物理世界中“大小+方向”量的具象化,相量则是复数在正弦信号分析中的特定应用。它们通过“模(大小)”和“角度(方向)”的统一属性,在数学运算、几何表示和物理应用中形成闭环。概念核心属性与其他概念的关联复数实部+虚部/模+辐角极坐标是其几何形式,向量是其物理对应极坐标极径+极角描述复数的模与辐角、向量的大小与方向向量分量/大小+方向复数的几何等价物,可用极坐标表示相量振幅+初相位。
2025-08-08 10:27:50
978
原创 FreeRTOS临界资源保护方法
在 FreeRTOS 中,临界资源(如共享内存、硬件寄存器、全局变量等)的保护是确保系统可靠性的关键。二进制信号量(Binary Semaphore)是计数型信号量的一种特例(计数值仅为 0 或 1),可用于资源保护,但更常见于任务间同步(如事件通知)。(如变量的增减、位操作),可通过原子指令直接保证操作的原子性,无需关闭中断或使用同步机制。互斥量(Mutual Exclusion)是一种更高级的同步机制,通过“所有权”机制实现资源的独占访问。的临界资源保护(如修改简单变量、配置寄存器等)。
2025-08-06 18:15:18
527
原创 Cortex-M MCU分散加载文件与链接文件关系
文件)在嵌入式开发中共同协作,但它们的角色和设计目标不同。最终目的均为生成符合硬件约束的可执行文件。描述文件或 ARM-GCC 的。分散加载文件(如 Keil 的。两者是同一目标的不同实现路径——文件)与链接文件(如。
2025-08-06 14:08:02
394
原创 Cortex-M MCU 默认的分散加载文件分析
通常由 Keil MDK(uVision)自动生成。它定义了程序在 Flash 和 RAM 中的存储布局,用于指导链接器(通过合理配置分散加载文件,可以优化 MCU 的内存使用,确保程序正确运行。)如何分配代码和数据段。你提供的这段代码是一个典型的。
2025-08-06 14:04:12
672
原创 MCU开发中的分散加载文件(Scatter File)
ARM单片机的分散加载文件是控制程序存储布局的“地图”,通过定义加载区和执行区,实现代码/数据在不同存储介质中的精准分配。它是复杂嵌入式系统开发中适配硬件、优化性能、保障安全的关键工具。
2025-08-06 13:51:58
826
原创 MCU程序的ARM-GCC编译链接
通过以上流程,开发者可以高效地生成适配ARM架构MCU的可执行文件,并解决编译、链接及烧录中的常见问题。)进行编译、链接及格式转换的详细流程,涵盖嵌入式开发中的关键步骤和注意事项。,包含机器码、符号表和未解析的地址引用(需后续链接确定最终地址)。)和库文件合并,解析符号引用,分配内存地址,生成可执行文件(),确保生成适用于MCU(如Cortex-M4)的代码。定义Flash(ROM)和RAM的地址范围及段(),去除调试信息,仅保留代码和数据。)的存储位置,是链接的核心配置。将C/C++源代码转换为。
2025-08-06 11:31:39
1151
原创 MCU程序的编译与链接及格式转换
通过编译、链接和格式转换这一系列过程,开发人员编写的源代码才能最终变成可以在MCU上运行的程序。不同的开发环境和工具链在具体操作和细节上可能会有所差异,但基本的原理是相似的。(ARM fromELF Utility),它可以将链接生成的ELF格式的映像文件转换为其他格式,如二进制文件(编译是将高级语言(如C、C++)或汇编语言编写的源代码转换为目标代码(机器语言的中间表示形式)的过程。)以及所需的库文件组合成一个可执行的映像文件的过程。文件)来确定各个段在内存中的位置和布局。链接是将多个目标文件(
2025-08-06 11:05:18
991
原创 MCU程序的存储方式与存储区域大小要求
text{实际 RAM 需求} = \text{RW_data段} + \text{ZI_data段} + \text{堆大小} + \text{栈大小}\text{ROM 大小} = \text{Code段} + \text{RO_data段} + \text{RW_data段(初始值)}\text{RAM 最小需求} = \text{RW_data段} + \text{ZI_data段}的分配,不同段在存储和运行时具有不同的特性。程序的存储和运行涉及。但实际 RAM 需求。
2025-08-06 10:20:21
993
原创 MCU程序段的分类
程序的下载(烧录到存储器中)通常是按照(Code段、RO_data段、RW_data段、ZI_data段)的方式存储的,但运行时内存的布局会按照(TEXT段、DATA段、BSS段、堆栈段)进行组织。
2025-08-06 10:12:22
392
原创 Windows 批处理(.bat)文件中,搜索文件时使用的通配符
理解这些通配符规则可以帮助你更精准地筛选文件,避免意外匹配不需要的文件。在编写批处理脚本时,建议先测试通配符模式是否能准确匹配目标文件。循环中使用时,通配符匹配结果会按字母顺序返回。仅作用于文件名,不影响目录搜索。路径中使用通配符时,
2025-08-02 13:34:01
383
原创 FreeRTOS 在任务中创建优先级更高的任务会立刻切换任务吗?
默认情况下(抢占式调度):高优先级任务不会“立刻”切换,但会在下一个调度点抢占当前任务。协作式调度:必须显式让出 CPU 才会切换。如果需要强制立即切换,可以结合或中断中的(需谨慎)。如果有特殊需求(如实时性要求极高),可能需要结合中断或更精细的调度控制。
2025-07-30 15:23:29
379
原创 Cortex-M内核的屏障指令
它确保在此指令之前的所有数据访问指令(Load 和 Store) 执行完成(即不仅顺序被观察到,它们的效果也完全生效),并且任何待处理的缓存维护操作也完成后,才允许执行之后的任何指令(包括非数据访问指令)。• 功能:此指令会清空处理器的流水线(Pipeline),并确保在此指令之后执行的指令都是从指令缓存或内存中重新预取的。• 功能:确保在此指令之前的所有数据访问指令(Load 和 Store)的执行结果,对在此指令之后的所有数据访问指令 可见,并遵守内存访问顺序规则。// 内联汇编实现的函数。
2025-07-19 15:19:49
855
原创 FreeRTOS临界区保护应用
理解这些宏的区别对于编写正确、可靠和响应及时的 FreeRTOS 应用程序至关重要。始终选择干扰最小的机制来满足保护需求。
2025-07-19 14:21:38
653
原创 PendSV:可悬起系统调用
这使它成为上下文切换的理想选择,既保证了系统实时性,又简化了RTOS的实现。理解PendSV是掌握Cortex-M内核中断机制的关键一步。PendSV(可悬起系统调用)是ARM Cortex-M系列处理器特有的一种。Cortex-M处理器在进入PendSV ISR前,会自动保存部分寄存器(如。)到当前任务的栈中,减少手动操作,提升切换效率。提供高效、低延迟的机制。PendSV的核心优势在于。
2025-07-17 18:27:45
464
原创 Windows 批处理2
以下是 Windows 批处理( 文件) 的核心语法与常用命令详解,涵盖基础结构、变量、流程控制、文件操作等,帮助你快速掌握批处理脚本的编写技巧。批处理文件( 或 )本质是一系列 命令的有序集合,由 解释执行。其基本结构如下:二、常用内部命令(内置命令)批处理的核心功能由 内置的 内部命令 实现,无需额外安装,直接可用。批处理中的变量分为 环境变量(系统预定义,如 )和 自定义变量(用户通过 定义)。2. 用户输入通过 获取用户输入:3. 特殊变量(系统预定义)变量名说明
2025-07-17 10:23:19
662
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人