主公讲 ARM
码龄9年
关注
提问 私信
  • 博客:1,044,526
    1,044,526
    总访问量
  • 869
    原创
  • 1,745
    排名
  • 16,010
    粉丝
  • 598
    铁粉

个人简介:竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2015-11-20
博客简介:

CodingCos的博客

博客描述:
且将新火试新茶,诗酒趁年华
查看详细资料
  • 原力等级
    当前等级
    9
    当前总分
    6,908
    当月
    177
个人成就
  • 嵌入式领域优质创作者
  • 获得5,977次点赞
  • 内容获得74次评论
  • 获得6,651次收藏
  • 代码片获得4,092次分享
创作历程
  • 27篇
    2025年
  • 456篇
    2024年
  • 324篇
    2023年
  • 62篇
    2022年
成就勋章
TA的专栏
  • 【RISC-V 处理器 debug 学习专栏】
    付费
    11篇
  • ARM Coresight 系列
    付费
    47篇
  • ARM CoreSight Trace 系列
    付费
    6篇
  • 【ARM ACE Bus 与 Cache】
    付费
    14篇
  • ARMv9 DSU-120 专栏
    付费
    17篇
  • 【劳特巴赫 Trace32 系列】
    付费
    45篇
  • 【ARMv8/v9 GICv3 GICv4】
    付费
    26篇
  • 【ARMv8/ARMv9 硬件加速】
    付费
    16篇
  • 【ARM Cache与MMU/MPU 专栏】
    付费
    35篇
  • ARM AMBA AXI 系列
    付费
    25篇
  • 【NPU 学习专栏】
    付费
    15篇
  • 芯片设计 RTL 数字逻辑设计扫盲
    付费
    46篇
  • ARM64 System Exception
    付费
    19篇
  • 【ARM CoreLink 系列】
    付费
    28篇
  • 【CSH & Shell & TCL 专栏】
    付费
    20篇
  • 【ARM 芯片 安全与攻击专栏】
    付费
    31篇
  • 【Linux 维测及Crash 专栏】
    付费
    24篇
  • 【低功耗 Power 学习专栏】
  • 【PCIe Bus 专栏】
    23篇
  • 【网络 Mac 学习专栏】
    3篇
  • 【芯片封测学习专栏】
    5篇
  • 【计算机体系架构杂谈】
    2篇
  • 【暂存】
  • 【服务器学习专栏】
    1篇
  • 【work note】
  • 【Hypervisor And SMMU】
    5篇
  • 【存储设备专栏】
    8篇
  • 【Cortex-M33 专栏】
    16篇
  • SOC DFT 学习专栏
    10篇
  • 【ARMv8/v9 系统寄存器专栏】
    8篇
  • 【ARM GCC 编译专栏】
    60篇
  • ARM Coresight 系列2
    3篇
  • 【嵌入式 C 常用算法专栏】
    57篇
  • C++ 系列文章
    3篇
  • ARM BSP 系列
    13篇
  • ARM Cortex-M及RT-Thread 系列
    13篇
  • 【ARM64 常见汇编指令专栏】
    36篇
  • 【OpenOCD与FT4232H】
    10篇
  • 【Makefile GCC 专栏】
    23篇
  • ARM Coresight Debug 工具系列
    5篇
  • ARM Linux 设备驱动系列介绍
    7篇
  • 【ARM AMBA Bus 系列】
    2篇
  • 【通信系列文章 CP】
    7篇
  • 嵌入式开发常用工具及命令
    10篇
  • 【git 常用命名与常见问题】
    11篇
  • Windows 常用工具系列
    23篇
  • 【Linux 常用命令专栏】
    43篇
  • 【Python Script 入门及渐进】
    25篇
  • 【vim 学习专栏】
    28篇
兴趣领域 设置
  • Python
    python
  • 编程语言
    rust
  • 人工智能
    人工智能
  • 嵌入式
    嵌入式硬件
  • 硬件开发
    arm开发
  • 操作系统
    linux
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【PCIe 总线及设备入门学习专栏 5.3.2 -- PCIe 枚举与 PCIe PHY firmware 的区别与联系】

PCIe(Peripheral Component Interconnect Express)枚举是指操作系统或固件对 PCIe 总线上的设备进行探测、识别并为其分配资源(如地址空间、中断号)的过程。它是确保 PCIe 设备能够正确注册和参与系统运行的关键步骤。
原创
发布博客 前天 09:16 ·
465 阅读 ·
7 点赞 ·
0 评论 ·
7 收藏

【【芯片设计- RTL 数字逻辑设计入门 番外篇 4.5 -- 中如何判断时序是否收敛以及SDC 文件的作用】

设置时钟源和频率(如 create_clock)。指定时钟的不对称性(Skew)、抖动(Jitter)等。
原创
发布博客 2025.01.15 ·
654 阅读 ·
17 点赞 ·
0 评论 ·
0 收藏

【PCIe 总线及设备入门学习专栏 5.3.3 -- PCIe 掩图 mask 介绍】

在 PHY 初始化时,屏蔽掉超出版本限制的部分控制位,可以有效适配较低版本的设备。在 PCIe 的自检与校验(如链路训练和容错)过程中,如果某些信号或位有暂时的异常,掩图可以忽略这些异常位,确保系统能继续运行或完成调试过程。掩图可以屏蔽特定的信号或位,使调试人员更专注于关心的部分,减少其他干扰信号的影响。在某些敏感数据传输场景,例如带有加密协议的 PCIe 通道,掩图可以暂时禁用或隔离某些寄存器位,以防止数据误用。在调试 PCIe PHY 时,通过掩码屏蔽特定寄存器的高/低位,可以隔离干扰信号。
原创
发布博客 2025.01.15 ·
206 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏

【网络 MAC 学习专栏 -- 如何理解 PHY 的 Link Up】

如果想让PHY按照预期的状态工作,uC就需要通过接口告诉PHY如何工作,这个接口是指 MAC(Media Access Control)/PHY 接口。因此,基于Clause 22或者Clause 45协议,完成对PHY内部寄存器的配置,比如:通信速率(100Mbps/1000Mbps)配置、是否全双工、自协商使能与否(auto-negotiation)、指示灯等。在软件层面,程序初始化或者Reset以后,需要重新初始化PHY,通过读取PHY寄存器的Link位域确定PHY的Link状态。
原创
发布博客 2025.01.15 ·
1044 阅读 ·
16 点赞 ·
0 评论 ·
9 收藏

【PCIe 总线及设备入门学习专栏 5.3.1 -- PCIe PHY firmware load | trainning | link up 区别与联系】

Firmware 加载是基础,完成后才能进入链路初始化流程。Training是确保信号传输可靠的关键阶段。Link Up标志着链路成功建立,开始支持数据传输。三者紧密配合,共同实现从硬件准备到高速通信的完整链路初始化过程。
原创
发布博客 2025.01.15 ·
925 阅读 ·
15 点赞 ·
0 评论 ·
23 收藏

【PCIe 总线及设备入门学习专栏 5.3 -- PCIe PHY firmware load | trainning | link up 区别与联系】

设备间即可通过该链路传输 TLP(Transaction Layer Packet) 和 DLLP(Data Link Layer Packet),完成设备间的实际数据交互。是 PCIe 链路初始化过程中用于校准和参数协商的关键阶段,其目标是确保双方设备在传输物理信号时的可靠性和高效性。训练阶段并未传输实际的用户数据,而是使用专门的控制和测试模式(例如 TS1、TS2 信号),以确保链路对接正确并优化参数。通过上述过程可以看出,Training 为链路的稳定奠定基础,Link Up 则是实际的工作阶段。
原创
发布博客 2025.01.15 ·
583 阅读 ·
10 点赞 ·
0 评论 ·
13 收藏

【SOC 芯片设计 DFT 学习专栏 -- DFT 接管 clock 和 reset】

在 SoC (系统级芯片) 的设计与测试中,DFT(Design for Testability, 可测试性设计)是一项重要技术,用于确保芯片能够高效、准确地进行制造测试。本文将会介绍 soc 芯片中 如何通过DFT 来接管 芯片上的 clock 和 reset 模块,以及什么场景下需要 DFT来接管它们。通过上述方法,DFT 可有效接管并控制 SoC 芯片上的时钟和复位逻辑,满足不同测试场景需求。对时钟路径添加门控逻辑,允许在测试时钟下更精确控制时钟信号的启停。确保特定的复位信号条件下测试所有逻辑单元。
原创
发布博客 2025.01.13 ·
973 阅读 ·
7 点赞 ·
0 评论 ·
14 收藏

【芯片设计- RTL 数字逻辑设计入门 9.2 -- flip flop 与 寄存器的关系详细介绍】

硬件设计将一组 Flip-Flop 连接为寄存器,完成数据的存储和传递。硬件设计者将寄存器地址映射给软件开发者。软件开发者操作寄存器的本质,是对硬件中对应的 Flip-Flop 进行控制和读取。
原创
发布博客 2025.01.13 ·
193 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【芯片封测学习专栏 -- 2D | 2.5D | 3D 封装的区别和联系】

两种方式,大芯片上方由于面积较大,可以安装多个较小的裸芯片,但小芯片无法直接连接到基板,所以需要插入一块中介层(Interposer),在中介层上方安装多个裸芯片,中介层上有RDL布线,可将芯片的信号引出到中介层的边沿,然后通过Bond Wire连接到基板。:所有芯片和无源器件均位于XY平面上方,芯片堆叠在一起,在XY平面的上方有穿过芯片的TSV,在XY平面的下方有基板的布线和过孔。硅中介层无TSV的2.5D集成的结构一般如下图所示,有一颗面积较大的裸芯片直接安装在基板上,该芯片和基板的连接可以采用。
原创
发布博客 2025.01.13 ·
1227 阅读 ·
29 点赞 ·
0 评论 ·
28 收藏

【芯片封测学习专栏 -- 什么是 Chiplet 技术】

后来芯片为了实现集成度更高,就会在一个Die上设计多个模块功能,有负责计算的部分,通常是数字电路,也要设计负责I/O的部分,通常是模拟电路。同时为了追求芯片性能,大家都想采用先进制程,5nm、3nm、1nm,越小越好。数字电路部分采用新制程,模拟电路采用老制程,这样既简化了设计步骤,又提高了先进制程的利用率,I/O模块也更经济。和我们做电路一样的,芯片之间的互联也需要协议,特别是对于这种先进封装,并没有行业规定,每个芯片厂家设计的金属对接口位置可能都不同,因此急需一个标准的出台。2022年三月份出现的。
原创
发布博客 2025.01.12 ·
687 阅读 ·
9 点赞 ·
0 评论 ·
6 收藏

【芯片封测学习专栏 -- D2D 和 C2C 之间的区别】

D2D(Die-to-Die)互联指的是同一封装内部的裸片(die)之间的直接互联。通过封装内的互连结构,例如硅通孔(Through-Silicon Vias, TSV)或重新分布层(Redistribution Layer, RDL),实现裸片之间的高带宽、低延迟通信。C2C(Chip-to-Chip)互联指的是两个独立封装芯片之间的通信,通常通过PCB(印刷电路板)、互连电缆、或无线通信技术实现数据交换。属性封装关系裸片间通信(同一封装内部)独立芯片间通信(不同封装之间)通信距离微米至毫米级。
原创
发布博客 2025.01.12 ·
1150 阅读 ·
30 点赞 ·
0 评论 ·
15 收藏

【芯片封测学习专栏 -- Substrate | RDL Interposer | Si Interposer | 嵌入式硅桥(EMIB)详细介绍】

衬底(或基板)是芯片封装中用于实现芯片与封装整体连接的介质。它位于芯片与封装载板之间,提供机械支持,同时将芯片的输入/输出信号分布到整个封装系统。现代基板通常采用有机材料、陶瓷材料或金属-陶瓷复合材料制造。是一种通过重新布线金属层实现芯片间互联的封装技术。它通常通过在晶圆级封装中构建多层布线金属,实现不同芯片之间的信号传输。硅中介层是一种基于硅材料的中介层,用于在多芯片系统中实现高密度的互联。硅中介层通过 TSV(硅通孔)技术在硅片中制造垂直导电通道,从而实现三维封装。
原创
发布博客 2025.01.12 ·
1081 阅读 ·
9 点赞 ·
0 评论 ·
22 收藏

【芯片封测学习专栏 -- 单 Die 与 多Die(Chiplet)介绍】

在传统的SoC设计中,所有模块(GPU、VPU、CPU、PCIe等)都集成在一个单一的硅片(die)上。在一些先进的SoC设计中,为了应对更大的芯片面积、更复杂的功能集成,采用了多个die的设计方式(即Chiplet架构)。在一个系统级芯片(SoC)中,模块(如GPU、VPU、CPU、PCIe等)可以分布在单个die或者多个die上,这取决于SoC的设计架构和制造工艺。Intel采用Foveros技术,将计算核心(CPU、GPU)和AI模块分布在不同的tile(类似于die)上,通过先进封装方式集成。
原创
发布博客 2025.01.12 ·
957 阅读 ·
11 点赞 ·
0 评论 ·
18 收藏

【嵌入式开发 BSP 系列 -- power_ok与 reset 信号的关系】

信号通常由电源管理电路(如 PMIC)或电源监测电路产生,用于指示系统电源是否稳定。它的主要作用是确保芯片在电源完全稳定且达到工作电压后才开始工作,以避免工作状态异常。本文将介绍 在 soc 芯片中 power_ok 信号 为何需要和 reset 信号之间有 delay,以及 power_ok 信号的作用。在某些芯片设计中,如果复位过早,电路尚未获得足够的工作电压,其寄存器或存储器的初始值可能受到干扰。系统电源可能存在上电瞬间的波动或噪声,尤其是在负载较大时(如 DRAM、电源轨切换等)。
原创
发布博客 2025.01.12 ·
790 阅读 ·
19 点赞 ·
0 评论 ·
29 收藏

【SOC 芯片设计 DFT 学习专栏 -- RTL 中的信号名和 Netlist 中的信号名差异】

本文将介绍 soc 设计中 RTL-to-Netlist 映射及 RTL 中的信号名和 Netlist 中的信号名差异,在 SoC设计中,是从RTL(Register Transfer Level)代码转换为Netlist的过程。这通常涉及将用硬件描述语言(如Verilog或VHDL)编写的高层次设计转化为门级网络表,后者由逻辑门及其互连构成。以下详细说明这一过程及其常见的信号命名差异。
原创
发布博客 2025.01.06 ·
1100 阅读 ·
15 点赞 ·
0 评论 ·
13 收藏

【SOC 芯片设计 DFT 学习专栏 -- ATE 测试中 at-speed 测试】

是指在目标芯片的设计运行频率下测试其功能或性能,主要用于检测芯片的动态故障,例如跨时钟域的传输问题、信号时序问题以及延迟相关缺陷。Launch 和 Capture Clocks 专注于动态路径测试,而 Shift Clock 主要用在扫描过程中加载或移出数据。(Shift Clock):用于扫描测试数据(Scan In/Out),确保在加载和观察期间没有时序问题。否则标记为时序失效。发现可能存在的动态故障,如制造过程中的速度路径失效或信号冲突。触发信号的变化,启动时序路径中的信号传播。
原创
发布博客 2025.01.06 ·
971 阅读 ·
21 点赞 ·
0 评论 ·
18 收藏

【ARM Cache 及 MMU 系列文章 9 -- Cache ECC 介绍】

在 SoC(System on Chip)中,ECC(Error-Correcting Code)是一种重要的技术,用于提高存储系统的可靠性。ECC 在 SoC 的缓存中可以检测和校正存储数据中的错误,从而降低因数据错误导致系统崩溃或不正确计算的风险。Cache Tag是缓存中每个缓存行的标记信息。它帮助缓存判断一个特定的数据是否已经存储在缓存中,以及它存储在哪里。简单来说,Cache Tag 就像是每个数据的地址标签。
原创
发布博客 2025.01.06 ·
304 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

【RISC-V CPU debug 专栏 4.1 -- RV Debug Vector Address 介绍】

是调试模式的入口地址,当 RISC-V CPU 进入调试模式时,硬件会跳转到这个地址执行指令。通常,这个地址由调试硬件模块提供,可能存储在专用寄存器中,并在系统复位时由外部调试器(如 JTAG 或 SWD)或启动代码进行初始化。它是 RISC-V 调试标准的一部分,用于支持外部调试器实现代码单步调试、断点等功能。RISC-V 的调试模式主要用于以下场景:程序发生异常或中断,开发者希望追踪错误。外部调试器控制 CPU 执行,设置断点、观察寄存器状态、调试代码。
原创
发布博客 2025.01.03 ·
210 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【SOC 芯片设计 DFT 学习专栏 -- DFT 为何需要在综合之后插入】

在综合后插入 DFT 逻辑能够更高效地管理设计流程,优化功能设计与测试需求之间的权衡,同时借助自动化工具提升设计效率和测试质量。这一方法已成为工业界主流做法。
原创
发布博客 2025.01.02 ·
868 阅读 ·
8 点赞 ·
0 评论 ·
20 收藏

【SOC 芯片设计 DFT 学习专栏 1 -- DFT 与扫描链】

扫描连插入过程就是将普通寄存器(Flip-Flop)替换成为扫描寄存器(Scan Flip-Flop)的过程。如下图1-1 所示:图 1-1 寄存器替换图中,寄存器的pin信号SE(Scan Enable)为扫描测试的使能信号,用于正常逻辑通路和scan通路的切换;pin 信号SI为扫scan test 时测试数据的传输线路。工作如下普通工作模式:默认SE状态为0,此时寄存器为正常工作逻辑状态,数据通路(Data Path)从D端到Q端(Qn端)输出。Scan工作模式:使能SE=1,此时寄存器工作在。
原创
发布博客 2025.01.02 ·
584 阅读 ·
10 点赞 ·
0 评论 ·
28 收藏
加载更多