- 博客(632)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注
原创 C/C++ 编译四阶段全流程拆解
本文以真实 gcc/g++ 13.3.0 环境,完整实测 C/C++ 编译四阶段(预编译→编译→汇编→链接),从84行源码逐级生成可执行文件,所有字节、地址、符号均来自 readelf/nm/map 实测输出,无任何估算。通过四个项目(单/多文件C/C++)验证段分布、符号解析与重定位机制,揭示编译链中各环节的实质行为,附完整源码与命令清单,可直接复现。
2026-10-08 00:01:46
412
原创 RK4(四阶龙格-库塔):公式逐项推导 + 12 组实测实验 + 深度学习/智能驾驶三大落地场景
目录一切数值积分的起点是常微分方程(ODE)的初值问题:dydt=f(t,y),y(t0)=y0\frac{dy}{dt} = f(t, y), \qquad y(t_0) = y_0dtdy=f(t,y),y(t0)=y0符号说明:ttt 是自变量(通常是时间);yyy 是状态(可以是标量、向量、矩阵、张量);fff 是"右端函数",给出任意时刻任意状态下的变化率(斜率);y0y_0y0 是初始条件(初始点)。绝大多数实际问题的 fff 太复杂,没有解析解 → 只能数值积分:把时间切成步长 hhh
2026-09-30 20:42:09
443
1
原创 一文搞懂 Token化、Embedding 与位置编码
本文系统解析文本进入Transformer前的三大核心步骤:Token化(基于Qwen3-BBPE,支持中英文/代码/emoji,实测压缩率1.5–5.8)、Embedding(查表与one-hot矩阵乘等价,误差0)、位置编码(正弦/可学习/RoPE对比,实验验证RoPE内积仅依赖相对位置,偏差4.77e-7)。通过7组PyTorch实验(RTX 5070 Ti实测)证实:无位置编码时模型对词序完全无感(误差1.19e-7),且嵌入层梯度仅更新使用到的词向量。附完整可运行代码与选型避坑清单,全面揭示从文本
2026-09-29 00:21:21
367
原创 深度学习归一化 fully 指南:BN/LN/IN/GN/RMSNorm 公式推导 + PyTorch 实验全验证(附完整可运行代码)
本文系统解析深度学习五大归一化方法:BatchNorm、LayerNorm、InstanceNorm、GroupNorm 与 RMSNorm,从公式推导到 PyTorch 实现,结合6组实测实验(RTX 5070 Ti)验证其性能差异。核心结论:五者本质区别仅在于统计维度;BN收敛快但对batch size敏感,LN适用于Transformer且稳定,RMSNorm比LN快8%~14%,而GroupNorm在小批量下表现稳健。附完整可运行代码,提供选型决策树与7条实战避坑建议,助高效落地。
2026-09-26 22:43:57
347
原创 激活函数(Activation Functions)详解
本文系统详解常用激活函数:从非线性必要性出发,阐明激活函数在深度学习中的核心作用——引入非线性、压缩值域、实现门控。逐个解析 Sigmoid、tanh、ReLU、LeakyReLU、ELU、GELU、SiLU、Softmax 的公式、导数推导(含逐步演算)、特性与应用场景,并提供 PyTorch 实现代码及逐行注释,辅以图形对比。强调好激活函数应满足非线性、梯度稳定、零中心、计算高效等标准,最后给出选型指南与统一梯度验证代码,助力模型设计与调试。
2026-09-21 00:42:42
278
原创 反向传播(Backpropagation)详解
反向传播是深度学习的核心算法,通过一次前向传播与一次反向传播,高效计算损失对所有参数的梯度 $\nabla_\theta \mathcal{L}$。其本质是链式法则在计算图上的记忆化实现,采用反向模式自动微分,仅需 $2$ 倍前向时间即可完成千万级参数的梯度计算,远优于数值差分的 $2P$ 次前向。核心思想为:从输出层出发,逐层递推误差项 $\boldsymbol{\delta}^{(l)} = (W^{(l+1)})^\top \boldsymbol{\delta}^{(l+1)} \odot \sigm
2026-09-21 00:22:17
199
原创 深度学习常用公式手册
本文整理深度学习核心公式,涵盖激活函数(Sigmoid、tanh、ReLU及其变体)、归一化(BatchNorm)、损失函数、优化器、正则化、卷积池化、序列模型与注意力、强化学习及生成模型等章节。每条公式附符号说明、应用场景、PyTorch实现与图形示意,强调数值稳定性(如binary_cross_entropy_with_logits)与实践要点(如BN训练/推理模式切换),提供公式与API速查支持,适用于快速查阅与工程实现。
2026-09-18 22:59:54
163
原创 深度学习符号速查表
本文为深度学习符号速查表,涵盖希腊字母、线性代数、微积分、概率统计、神经网络、损失函数、优化器与强化学习核心符号,每项附读音、含义、公式及应用场景,并在每章末提供 ⚡ PyTorch 实战 小节,实现符号到代码的直观映射,如 α 对应 lr,∇ 对应 backward(),σ 对应 torch.sigmoid,助读者快速掌握理论与实践的桥梁。
2026-09-17 21:43:26
237
原创 Renesas RH850-U2A STC Instructions
摘要:本文详细介绍了Renesas RH850-U2处理器中的STC(Store Conditional)指令集,包括STC.B(字节)、STC.H(半字)和STC.W(字)三种指令。这些指令仅在与指定地址存在链接时才能成功执行,实现原子化的读-修改-写操作。执行结果通过检查寄存器reg3的值(1表示成功,0表示失败)确认。STC指令通常与对应的LDL指令(LDL.BU、LDL.HU、LDL.W)配对使用,确保多核系统中内存更新的准确性。每种指令格式包含操作码、执行流程和功能说明,适用于不同数据宽度的存储需
2026-01-19 23:30:01
697
1
原创 Renesas RH850-U2 LDL Instructions
Renesas RH850-U2 LDL指令摘要:LDL指令组(LDL.BU、LDL.HU、LDL.W)用于实现多核系统中的原子读写操作。这些指令从内存读取数据(字节/半字/字)到寄存器并建立地址链接,必须与对应的STC指令配对使用。执行时若链接保持则STC成功并清除链接,否则STC失败。LDL.BU读取字节后零扩展,LDL.HU读取半字后零扩展,LDL.W直接读取字数据。所有指令都会设置LLbit标志,支持精确的内存更新。
2026-01-18 23:31:47
615
1
原创 Renesas RH850-U2 TRAP指令介绍
本文介绍了Renesas RH850-U2微控制器中的TRAP指令系统,主要包括FETRAP和TRAP两种指令。FETRAP是FE级陷阱指令,会保存返回地址和PSW状态到FEPC和FEPSW寄存器,存储异常原因码到FEIC,并更新PSW状态后跳转到异常处理程序。TRAP指令功能类似,但使用EIPC、EIPSW和EIIC寄存器。两种指令都通过向量号(vvvv/vvvvv)确定异常原因码和处理程序偏移地址,但FETRAP禁止使用0H向量。文中详细说明了两种指令的格式、操作码和具体功能,并附有向量号与异常原因码的
2026-01-18 23:07:11
758
原创 Renesas RH850-U2A中断系统介绍-3
摘要:本文介绍了Renesas RH850-U2A的中断系统寄存器功能,主要包括ISPR(中断服务优先级寄存器)、IMSR(中断掩码状态寄存器)、ICSR(中断控制状态寄存器)、INTCFG(中断功能配置寄存器)和PLMR(中断优先级掩码寄存器)。这些寄存器通过LDSR/STSR指令访问,控制中断优先级处理、掩码状态和功能配置。其中ISPR在INTCFG.EPL=0时启用优先级控制,IMSR按特定顺序更新中断掩码状态,PLMR实现基于优先级的屏蔽功能。各寄存器位域详细定义了中断管理的硬件机制。
2026-01-08 23:23:38
791
1
原创 Renesas RH850-U2A Inter-Processor Interrupt Function
【代码】Renesas RH850-U2A Inter-Processor Interrupt Function。
2026-01-05 23:40:24
1177
2
原创 The Renesas RH850-U2A Inter-Processor Interrupt Overview and Registers
摘要:Renesas RH850-U2A处理器的IPIR(Inter-Processor Interrupt Register)实现了处理器核(PE)间的快速中断请求,具有4通道中断、电平检测、中断屏蔽等功能。系统通过自区域(Self Region)虚拟寄存器实现统一访问,各PE可使用相同代码。主要寄存器包括使能寄存器(IPInENm)、标志寄存器(IPInFLGm)、清除寄存器(IPInFCLRm)等,支持原子操作并具备ECC和访问保护功能。该机制比软件设置INTC2中断标志更高效,同时支持直接访问实际寄
2026-01-05 23:17:50
754
1
原创 Renesas RH850-U2A Mutual Exclusion
摘要: Renesas RH850-U2A处理器通过原子操作指令实现多核环境下的互斥访问。支持的指令包括LDL/STC、CAXI、SET1/CLR1/NOT1等,适用于本地RAM和集群RAM。LDL/STC通过链接机制(LLbit)确保原子读写,要求地址和数据大小匹配。SET1指令通过检查PSW.Z标志实现互斥,而CAXI指令通过比较交换操作完成同步。文中提供了基于LDL/STC、SET1和CAXI的三种自旋锁示例代码,并详细说明了链接丢失条件(如中断、异常或地址冲突)。该机制保证多核数据访问的原子性,但需
2026-01-04 23:44:26
804
原创 Renesas RH850-U2A中断系统介绍-2
Renesas RH850-U2A中断系统通过硬件和软件协同处理中断上下文的保存与恢复。硬件自动保存程序计数器(PC)、程序状态字(PSW)、异常原因码(EIIC/FEIC)和工作系统寄存器(EIWR/FEWR),而软件需保存其他必要资源。中断分为FE和EI两个级别,分别通过FERET和EIRET指令返回。返回时需先恢复上下文,否则可能导致程序状态无法正确恢复。系统支持多级中断处理,通过基本上下文寄存器确保不同级别中断的上下文独立保存,避免覆盖。中断处理流程包括优先级检查、处理地址计算、寄存器保存和状态更新
2026-01-03 15:31:21
1162
原创 Renesas RH850-U2A中断系统介绍-1
RH850-U2A中断系统采用两种异常处理地址确定方法:直接向量法和表格引用法。直接向量法通过RBASE/EBASE寄存器(由PSW.EBV位选择)与偏移地址相加生成处理地址,复位时固定使用RBASE。用户中断(EIINTn)可通过RINT位控制偏移地址缩减以节省内存。表格引用法则通过INTBP寄存器指向内存中的中断处理地址表,支持为每个中断通道指定独立处理程序,适用于需要差异化处理的场景。系统提供灵活的异常处理机制,包括复位、异常和中断向量表配置,通过专用寄存器(RBASE/EBASE/INTBP)实现地
2026-01-02 22:41:15
1101
原创 Renesas RH850-U2A Branch Instructions
本文介绍了Renesas RH850-U2A处理器的分支指令,包括无条件分支指令(JARL、JMP、JR)和条件分支指令(Bcond)。Bcond指令根据PSW标志状态进行条件跳转,包含BC、BE等多种条件码形式。JARL指令实现跳转并保存返回地址,支持立即数和寄存器寻址方式。JMP指令通过寄存器或寄存器加偏移量实现跳转。JR指令支持相对地址跳转,有22位和32位两种位移格式。文中详细说明了各指令的格式、操作码及功能描述,为RH850-U2A的程序控制流程实现提供了完整的指令集参考。
2026-01-01 10:51:59
793
1
原创 Renesas RH850-U2A Arithmetic Instructions
【代码】Renesas RH850-U2A Arithmetic Instructions。
2025-12-31 23:56:24
860
原创 Renesas RH850-U2A Stack Handle Instructions
摘要:本文详细介绍了Renesas RH850-U2A处理器的栈操作指令集,包括PREPARE、DISPOSE、PUSHSP和POPSP四种核心指令。PREPARE指令用于将寄存器值保存到栈中并调整栈指针,DISPOSE指令则执行相反操作。PUSHSP和POPSP分别实现寄存器范围压栈和弹栈功能。文档提供了每种指令的格式、操作流程、操作码结构及寄存器列表定义(list12),并包含具体的位域说明和异常检查机制。这些指令通过不同的参数配置支持多种栈操作场景,为RH850-U2A的栈管理提供了高效解决方案。
2025-12-30 16:35:08
840
原创 Renesas RH850-U2A SST Instructions
本文介绍了Renesas RH850-U2A处理器的SST(Short Store)指令集,包括SST.B、SST.H和SST.W三种指令。这些16位长度指令使用ep寄存器作为基地址,通过零扩展位移量生成32位地址,分别实现字节、半字和字的存储操作。指令在中断上下文保存/恢复时与prepare指令配合使用,需先设置ep寄存器并开辟栈空间。所有指令在地址生成时采用无符号零扩展方式处理偏移量,并包含内存访问异常检查机制。各指令格式、操作语义及操作码均被详细说明。
2025-12-29 15:38:43
1087
原创 Renesas RH850-U2A ST Instructions
本文档详细介绍了Renesas RH850-U2A处理器的存储指令(ST)集,包含四种数据存储操作:ST.B(字节)、ST.H(半字)、ST.W(字)和ST.DW(双字)。每种指令提供多种寻址方式,包括带16位/23位偏移量的基址寻址、自增/自减后置寻址。文档详细说明了各指令的格式、操作流程和机器码编码方式,包括寄存器选择、位移量处理和内存访问检查等关键操作步骤。所有指令都涉及地址计算、内存访问异常检查(MDP/MAE)和实际存储操作,部分指令还会自动更新基址寄存器值。
2025-12-29 08:43:57
881
原创 Renesas RH850-U2A SLD Instructions
摘要:本文详细介绍了Renesas RH850-U2A处理器的SLD(Short format load)指令集,包括五种加载指令:SLD.B(字节加载)、SLD.BU(无符号字节加载)、SLD.H(半字加载)、SLD.HU(无符号半字加载)和SLD.W(字加载)。每种指令均包含格式说明、操作流程(含地址计算、异常检查和内存加载过程)以及对应的操作码图示,并特别标注了寄存器使用限制(如r0不能用于reg2)和位移量处理方式。这些指令通过不同位宽和符号扩展方式实现高效内存数据加载。
2025-12-28 18:44:33
653
1
原创 Renesas RH850-U2A LD Instructions
摘要:本文档详细介绍了Renesas RH850-U2A处理器的加载指令集,包括LD.B、LD.BU、LD.DW、LD.H等指令格式及操作。每种指令支持不同的寻址模式(如位移寻址、自增/减寻址),并提供对应的机器码编码方案。其中LD.B/LD.BU实现字节加载(带符号/无符号扩展),LD.H实现半字加载,LD.DW实现双字加载。所有指令均包含内存地址对齐检查(MDP/MAE)机制,并详细说明了操作数编码规则和位移量的符号扩展处理方式。
2025-12-27 17:30:49
994
原创 Renesas RH850-U2A Register Set
摘要: Renesas RH850-U2A处理器包含程序寄存器(32个通用寄存器r0-r31和程序计数器PC)和基本系统寄存器。通用寄存器中,r0固定为0,r3、r30等被特定指令隐式使用,r1、r4等需注意编译器占用。PC存储当前指令地址,复位后值为RBASE寄存器内容。基本系统寄存器通过LDSR/STSR指令访问,用于控制CPU状态和异常处理。特殊寄存器使用需遵循特定规则以保证兼容性。(149字)
2025-12-25 23:49:27
1087
原创 Renesas RH850-U2A Basic Instructions
摘要:本文档详细介绍了Renesas RH850-U2A微处理器的基础指令集,主要包括四类指令:1) 加载指令(LD/SLD系列),用于内存到寄存器的数据传输;2) 存储指令(ST/SST系列),实现寄存器到内存的数据传输;3) 算术指令(ADD/SUB/CMP等),处理寄存器间的算术运算;4) 逻辑指令(AND/OR/NOT等),执行逻辑运算操作。文档还规范了指令格式符号(如reg1/imm×等)和操作约定符号(如←/GR[a]等),为指令编码和使用提供了标准化的描述框架。该指令集支持多种数据格式操作(字
2025-12-25 23:33:25
867
原创 FreeRTOS之链表关键数据结构和函数操作接口-2
中用于定位插入位置(在索引指针的前一个位置插入,使新节点成为 “最后一个将被移除的节点”)中用于定位插入位置(在索引指针的前一个位置插入,使新节点成为 “最后一个将被移除的节点”),遍历链表找到合适的插入位置,从链表的哨兵节点(xListEnd)开始遍历。,直接插入到链表尾节点(xListEnd)的前面,作为迭代器的起始节点。,记录新节点所属的链表,便于后续操作中快速定位节点所在的链表。,新节点的下一个节点指向迭代器的下一个节点。,新节点的下一个节点的前一个节点指向新节点。:指向要插入节点的目标链表,
2025-07-15 21:13:05
574
1
原创 FreeRTOS之链表关键数据结构和函数操作接口-1
这个结构体是 FreeRTOS 内核中用于管理链表的核心数据结构xLIST。链表在 FreeRTOS 中被广泛用于任务调度、事件管理、资源分配等场景(如就绪任务链表、延时任务链表、信号量等待链表等)。
2025-07-15 00:00:38
458
原创 归并排序算法及其在算法中的应用
将当前数组从中间分成两个子数组,递归地对这两个子数组继续进行分解,直到每个子数组只包含一个元素(此时子数组自然有序)。递归地对分解得到的子数组进行排序。由于每个子数组最终会被分解到只包含一个元素,因此排序操作实际上是在合并过程中完成的。将两个已排序的子数组合并成一个有序数组。这是归并排序的核心操作,需要比较两个子数组的元素,按顺序放入新的数组中。
2025-06-09 22:50:24
652
1
原创 ARM A64 LDR指令
https://developer.arm.com/documentation/ddi0487/fcLoad Register (immediate) loads a word or doubleword from memory and writes it to a register. The address that is used for the load is calculated from a base register and an immediate offset. The Unsigned
2025-05-16 00:00:28
892
1
原创 arm CPS指令解释
Some PSTATE fields can be accessed using the Special-purpose Current Program Status Register (CPSR). The CPSR can be directly read using the MRS instruction, and directly written using the MSR (register) and MSR (immediate) instructions.某些 PSTATE 字段可通过专用当
2024-12-13 23:55:55
1742
3
原创 ARM A32多数据处理汇编指令理解分享
在ARM A32多数据处理汇编指令分为多数据存储指令和多数据加载指令:1,多数据存储指令:push, STMFD(STMDB), STMED(STMDA) , STMFA(STMIB), STMEA(STMIA);2,多数据加载指令:pop,LDMF(LDMIA), LDMFA(LDMDA), LDMEA(LDMDB), LDMED(LDMIB);
2024-12-05 23:58:31
1889
1
原创 FreeRTOS之ARM CR5栈结构操作示意图
下面以FreeRTOS源码中arm cortex-r5处理器的栈处理为例来介绍栈结构操作前后变化。
2024-12-03 20:09:21
869
1
原创 FreeRTOS之vTaskDelete实现分析
TaskHandle_t xTaskToDelete 要删除任务的句柄,但这个句柄其实就是我们申请任务时创建的TCB,这个参数在传入的时候可以设置为NULL,表示要删除的是自己当前的任务。
2024-11-22 23:33:49
791
1
CoAP_rfc7252.pdf
2020-12-04
Real-Time Embedded Multithreading--Using ThreadX.7z
2019-08-20
openocd-2020-12-23.pdf
2020-11-24
busybox-1.31.0.tar.bz2
2020-07-08
_install.tar.gz
2020-07-08
Inside the C++ Object Model_english&chinese;
2018-07-27
See mips run
2018-03-17
简明 Python 教程_cn_en
2018-09-04
nand操作时page_size = 2048;
2014-11-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅