自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 PHY 88E1512

参考:Linux-RGMII PHY 88E1512 驱动调试记录-CSDN博客

2025-06-05 14:25:33 185

原创 射频芯片学习

参考。

2025-05-23 16:44:24 233

原创 Linux spi设备驱动

不仅是驱动注册的入口,更是内核实现设备与驱动动态管理的核心机制,其设计充分体现了 Linux 设备模型的灵活性和可扩展性。LINUX CODE在线阅读。

2025-05-22 14:20:47 150

原创 射频集成电路(RFIC):连接世界的核心技术

参考。

2025-05-13 11:10:29 223

原创 射频ADRV9026驱动

参考:基于ADRV9026的四通道射频收发FMC+子卡-CSDN博客

2025-05-12 20:43:47 218

原创 RTOS-调度相关函数分析

[转]4.3 堆栈检验,OSTaskStkChk()-CSDN博客μC/OS之OSTaskStkChk()_ostaskstkchk总容量是4倍-CSDN博客

2025-05-08 16:06:40 136

原创 JESD204B 探究

参考:FPGA之JESD204B接口——总体概要 首片-CSDN博客https://blog.csdn.net/qq_43485409/article/details/126856989

2025-04-30 15:18:21 404

原创 Arm 驱动i2c相关

当DW_apb_i2c 作为 master 时,往TX FIFO中存入数据时(软件配置数据到寄存器IC_DATA_CMD[7:0]),DW_apb_i2c 会自动在总线上产生一个START信号,即START信号的产生不需要软件参与。

2025-01-17 14:09:00 309

原创 输出电压读取READ_VOUT和输出电流读取READ_IOUT的十进制快速翻译方法

二进制为:1 00 10111,数据格式为相对值,Linear格式,步进值指数补码为10111,首位为1,该值为负数,负数的原码是补码取反再+1,为01001,十进制为-9,则步进值为2-9,为0.001953125V,1.953mV。1. 读取VOUT_MODE的值,VOUT_MODE在PMBUS的定义中,是一个1字节的寄存器,地址为20h,用于定义和输出电压有关的寄存器值的格式和步进值。中,则READ_VOUT的值不能反应真实的输出电压值,需要人工换算,如TPS543B20这种输出电压采样结构。

2025-01-16 20:49:26 621

原创 ubuntu 工具安装

一、安装crc32sudo apt-get install libarchive-zip-perlsudo apt-file update && sudo apt-file search /usr/bin/crc32

2024-12-31 13:52:08 407

原创 DS-5教程

参考:DS-5教程-使用ARM DS-5 和DSTREAM仿真器调试裸机程序_ds5 dstream-CSDN博客

2024-12-30 09:46:34 229

原创 ARM 获取cpu个数

AFF0 :表示一个 core 中的第几个 thread,大多数 core 都是 single-threaded core,所以大多数 core 中的该值是 0.AFF1:表示一个 cluster 中的第几个 cpuAFF2/AFF3:表示系统中的第几个 cluster,这个值由 SOC 厂商给 core 的输入信号决定。

2024-12-24 16:11:20 544

原创 Linux内核--内存分配Slab详解《1》

基于5.10研究首先思考一个问题给你一块512G的内存条,怎么去管理?参考:说出来你可能不信,内核这家伙在内存的使用上给自己开了个小灶!_zoneLinux内存管理中对PAGE_OFFSET的理解_page offset-CSDN博客

2024-12-06 14:26:52 210

原创 内核中的调试 slub 内存检测

参考:基于SLUB的DEBUG功能,如何帮忙检测内存越界和访问已经释放的内存-电子发烧友网

2024-11-27 19:56:52 250

原创 内存管理 之 KSM

参考:https://zhuanlan.zhihu.com/p/588939196

2024-11-26 19:33:58 157

原创 ARM64 el1_irq解读

【代码】ARM64 el1_irq解读。

2024-11-21 11:22:25 198

原创 dead000000000400

参考:OSP 16.2: kernel panic when trying to use hugepages - Red Hat Customer Portal

2024-11-19 19:40:13 292

原创 MPTCP协议

多路径TCP或是标准的扩展并在中进行了描述它允许设备同时使用多个接口通过单个MPTCP连接发送和接收TCP数据包。MPTCP可以聚合多个接口的带宽,也可以选择延迟最低的接口。它还允许在一条路径断开时进行故障切换,并将流量无缝地重新注入其他路径。

2024-11-13 20:22:04 590

原创 ARM 汇编指令

【代码】ARM 汇编指令。

2024-11-13 10:26:58 787

原创 Linux 零拷贝技术

以客户端从服务器下载文件为例,熟悉服务端开发的同学可能知道,服务端需要做两件事:第一步:从磁盘中读取文件内容第二步:将文件内容通过网络传输给客户端事实上看似简单的操作,里面的流程却没那么简单,例如应用程序从磁盘中读取文件内容的操作,大体会经过以下几个流程:第一步:用户应用程序调用 read 方法,向操作系统发起 IO 请求,CPU 上下文从用户态转为内核态,完成第一次 CPU 切换第二步:操作系统通过 DMA 控制器从磁盘中读数据,并把数据存储到内核缓冲区。

2024-11-09 12:03:33 1259

原创 内核网络TCP/IP协议

参考:TCP/IP协议栈在Linux内核中的运行时序分析【万字长文】 - 维科号

2024-11-08 17:15:03 326

原创 内核spin_lock

函数中,每个线程会循环 10000 次,每次循环都会先获取自旋锁,然后对共享变量。之后等待两个线程完成任务,并打印出最终共享变量的值。一个简单的多线程场景下对共享资源的保护。进行加 1 操作,最后释放自旋锁。

2024-11-08 16:56:28 232

原创 TRACE32使用基础

参考:Trace32 simulator调试以及简单实用命令介绍-CSDN博客

2024-10-31 14:10:15 214

原创 5G基础知识

什么是

2024-10-30 20:13:33 435

原创 Linux 调度SCHED_FIFO或SCHED_RR

参考:https://zhuanlan.zhihu.com/p/381043183

2024-10-30 15:43:13 632

原创 什么情况下会导致 RCU CPU Stall 警告?

参考:Linux内核 失速(STALL) 警告说明文档翻译_linux_lxmega-GitCode 开源社区

2024-10-30 11:26:37 404

原创 香农定理基础

香农定理是由克劳德・香农(Claude Shannon)提出的,在信号处理和信息理论领域具有极其重要的地位134。它描述了有限带宽、有随机热噪声信道的最大传输速率与信道带宽、信号噪声功率比之间的关系13。

2024-10-29 15:38:16 231

原创 kernel panic 稳定性分析实例(四) 内存屏障smp_wmb()

在 Linux 内核中,可以使用内存屏障来确保内存操作的顺序。对于这种情况,一种可能的做法是使用。可以保证在它之后的读操作不会被重排到它之前,这样可以确保。的值是在检查之后没有被其他操作非法修改过的。(在对称多处理环境下的读内存屏障)。

2024-10-28 16:11:57 281

原创 内核打印含义/proc/sys/kernel/printk

【代码】内核打印含义/proc/sys/kernel/printk。

2024-10-28 09:42:35 533

原创 异常内存访问导致的panic

这种情况我称之为:试图篡改受限制内存。比如:声明为const的变量!

2024-10-25 11:24:34 210

原创 网络sock page_frag研究

【代码】网络sock page_frag研究。

2024-10-23 14:10:46 262

原创 netty的网络IO模型

参考:聊聊Netty那些事儿之从内核角度看IO模型

2024-10-22 19:48:17 225

原创 Linux 用户空间使用mmap的奥秘

mmap(memory map)即内存映射,用于将一个文件或设备映射到进程的地址空间,或者创建匿名的内存映射。请注意,虽然 mmap() 最初是为映射文件而设计的,但它实际上是一个通用映射工具。它可用于将任何适当的对象(例如内存、文件、设备等)映射到进程的地址空间。以文件映射到内存为例,实现这样的映射后,进程虚拟地址空间中一段内存地址将与文件磁盘地址一一对应,进程就可以采用指针的方式读写这段内存,系统会自动回写脏页到对应的磁盘文件。

2024-10-22 14:58:43 1115

原创 Arm官网

arm官网。

2024-10-18 09:26:43 334

原创 Arm64 mpu

RT-Thread-ARM内存保护单元MPU详解RT-Thread问答社区 - RT-Thread

2024-10-18 09:13:56 139

原创 kernel panic 稳定性分析实例(三)

参考:高通平台Linux kernel死机解题心得_高通稳定性问题-CSDN博客

2024-10-17 19:43:46 200

原创 crash命令 —— irq

参考:https://crash-utility.github.io/help_pages/irq.html。查看系统所有中断的使用信息,如虚拟中断号,中断的irq_desc,注册的irqaction以及名字。如果想查看指定cpu上统计信息:irq -s -c a 或 irq -s -c 1,3,6-9。查看系统中断的使用和统计信息,类似cat /proc/interruptsirq -s。查看实际使用的中断的信息,去除哪些没有被申请的虚拟中断号。查看中断的cpu亲和性值。

2024-10-17 11:22:07 236

原创 中断异常指令

上节内容介绍了 BRK 后面跟的立即数会在断点中断发生时,保存到ESR.ISS中,那么我们看下linux 中 BRK 后面的立即数宏定义种类有哪些并分别作用是什么?

2024-10-17 10:32:09 400

原创 linux内存管理

参考。

2024-10-12 19:25:37 243

原创 Linux 锁

但是,硬件arbiter的限制使得CPU的写回必须是串行化的,因此CPU1首先获得了访问权,进行写回动作,随后,CPU2完成写回动作。和spinlock的语义类似,都是允许一个执行线索进入临界区,不同的是当无法获得锁的时候,spinlock原地自旋,而mutex则是选择挂起当前线程,进入阻塞状态。如果只有进程上下文的访问,那么可以考虑使用semaphore或者mutex的锁机制,但是现在中断上下文也参和进来,那些可以导致睡眠的lock就不能使用了,这时候,可以考虑使用spin lock。

2024-10-12 19:06:45 236

ARM处理器指令集价绍使用

ARM处理器指令集

2024-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除