自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 kernel scheduler

(3)rt调度类:它的优先级低于deadline调度类,但高于cfs调度类,其主要用于那些实时性要求较高的任务。当前内核默认支持五大调度类,分别是stop调度类、deadline调度类、rt调度类、cfs调度类以及idle调度类。Stop调度器是系统中优先级最高的调度器,它的主要作用是在系统任务需要处理立即处理的功能时,抢占其他任务,并且不能被其他任务抢占。SCHED_RR:它与SCHED_FIFO唯一的不同,是若就绪队列中含有与其相同优先级的任务时,它们之间采用时间片轮转的方式调度。

2025-03-09 20:22:16 581

原创 Kernel Linux 的cpu frequence的统计

通过system interface去显示每个cpu所对应的频率运行的时间

2024-12-24 21:01:52 704

原创 USB PHY power supply

最近做一个项目的时候,发现usb port口插入usb camera ,就会造成Board的power down,系统会stuck。当再次启动Board的时候,发现了这个Bootloader(XBL)report:PM: OCP Occured: PMIC: 0;LDO: 12。这个就是说在PMIC regulator-0 L12d发生了over current protection。为了解决这个电流过载的问题,首先需要了解regulator所初始化的模式, 然后再决定是不是需要进行电流负载的累加。

2024-11-23 20:26:39 477

原创 RT kernel

好消息, RT kernel patches 终于进入了kernel 6.12 mianline了。

2024-10-26 19:17:24 267

原创 如何快速有效的解决kernel patch的冲突

快速有效的解决kernel patch的冲突

2024-10-05 16:52:48 301

原创 spi,i2c driver test

对于启用upstream kernel的spi 和 i2c basic fucntion 测试,一般会选择下面的方式进行测试。本case 是基于这个高通soc来说明。

2024-09-17 12:29:52 748

原创 ATA port 上插入盘后的错误处理(AHCI)

ATA port 上插入盘后的错误处理(AHCI)在X86 平台上电后,进行相应的ahci controller(pci 设备)初始化之后,就进行插盘打印log,观察期间的内核调用流程。 对于此学习使用的是linux3.16.4 的内核。 1)前期准备抓log 使用ftrace 进行相应的log 追踪。在/sys/kernel/debug/tracing下进行操作: echo 0 > tracing_on 关闭trace的开关; ...

2020-11-08 21:39:58 2909 4

转载 linux 硬盘IO性能测试+linux下对CPU、内存、IO、网络进行压力测试

转载:https://blog.youkuaiyun.com/fly_to_higher/article/details/80742951

2020-11-03 21:25:50 348

转载 nvdimm 概括

转载:https://www.jianshu.com/p/2c0d797fdcc5

2020-10-25 21:00:18 307

转载 grub2 引导程序详解

转载:https://www.cnblogs.com/liujunjun/p/12006787.html

2020-10-24 15:30:43 732

转载 2020-10-18

Linux分区和挂载

2020-10-18 15:29:48 125

转载 IORESOURCE_IO和IORESOURCE_MEM

内核中有很多资源,但属于IO资源的有:#define IORESOURCE_IO 0x00000100 /* Resource type */#define IORESOURCE_MEM 0x00000200#define IORESOURCE_IRQ 0x00000400#define IORESOURCE_DMA 0x000...

2020-02-11 11:18:39 1586

转载 AHCI驱动中的cmd

这两天被AHCI控制器的驱动搞的焦头烂额,当然主要的问题其实不在软件,而是FPGA上的SATA物理层传输不够稳定,现在也没什么很好的办法。先写一下这两天看到的系统软件和AHCI控制器硬件交互的三个核心数据结构:cmd_slot / rx_fis / cmd_tbl  上面这张图是从AHCI规范里面摘出来的,AHCI规范里面定义了在Memory中要使用Command List、Receiv...

2019-10-03 22:23:55 579

转载 libata分析

进来分析libata模块,颇有所感,记录如下,希望能对大家有所帮助,同时也对自己的理解进一步深入。linux版本:linux-2.6.24.3注:因完全是个人理解,理解不当难免,恳请批评指正!!!!大家知道驱动程序在初始化sata controller后, 并初始化ata_host结构体后,会调用函数ata_host_activate进入libata的初始化,我们从这里开始分析。下...

2019-09-24 21:04:01 1215 1

转载 kmalloc详解

原文:https://blog.youkuaiyun.com/linweig/article/details/5472576

2018-12-02 10:35:23 3634

转载 关于I/O内存和I/O端口的好文章

https://www.cnblogs.com/geneil/archive/2011/12/08/2281367.html

2018-11-22 15:34:25 212

原创 在虚拟机Ubuntu下进行简单的ko驱动编写问题处理

主要就是编写了驱动模块Helloko(hello.c 、Makefile) & 测试应用程序(hellotest.c)hello.c: makefile:hellotest.c:step1: make   先生成ko文件step2: insmod ko模块 ,但没有出现初始化打印,很奇怪,应为printk的打印等级比较高,KERN_ALERT,但...

2018-11-10 12:35:55 1253

原创 MSP430的升级引导程序编写以及升级固件制作

详细介绍MSP430的升级引导程序编写以及升级固件制作。1.关于升级引导代码的实现:      主要功能实现:进行相对应的升级程序跳转用户程序的选择      对于MSP430的启动初始化来讲,是默认看门狗打开,所以需要提前关闭看门狗,      void WDT_A_hold(uint16_t baseAddress){    // Set Hold bit    u...

2018-07-25 19:35:04 2350

原创 关于资源队列的C语言编写

    在一般的嵌入式程序中都会涉及到资源队列(循环队列)的建立。在本文中,想和大家分享一下事件队列和共享队列的使用。    1、先谈一下共享队列:这里主要是指内存的分配资源队列。         比如我想分配一些堆上的内存(256Byte*256)、(4K*32)、(64K*13)、(16M*12)、(64M*1)。          初始化:         第一步:创建初始化队列函数que_...

2018-04-30 16:47:26 244

原创 学习海思芯片平台

我现在负责做关于海思Hi3536相关平台的开发,尤其现在产品需要支持隔行信号的输入,本人先总结一下:1.首先,针对于海思HI3536芯片并不支持宽度大于960的隔行视频信号的输入,所以针对此情况有两种方案进行解决。   a.使用海思的GPU开发驱动进行相应的去隔行算法进行实现;

2017-07-05 22:46:47 1644

Linux-NVDIMM-Driver

内容概要:本文详细介绍了Linux NVDIMM驱动的设计与实现,涵盖术语定义、命名空间管理、标签存储区域管理、RAW IO、BLK IO以及DAX IO等方面的内容。重点讨论了NFIT(NVDIMM Firmware Interface Table)、区域(Region)、命名空间(Namespace)、标签(Label)、ADR(Asynchronous DRAM Refresh)和WPQ(Write-Protect Queuing)等关键概念及其工作机制。此外,还探讨了块转换表(BTT)提供原子扇区更新语义的方法,以及持久化内存直接访问(DAX)绕过页面缓存的技术细节。 适用人群:具有较深计算机系统背景的知识型工作者和技术爱好者,特别是对非易失性内存管理和Linux内核开发感兴趣的开发者。 使用场景及目标:①理解NVDIMM技术的基本原理和具体实现;②掌握NVDIMM驱动程序的工作流程,以便于开发和维护类似的驱动;③探索如何利用BTT和DAX优化应用性能,提高数据安全性和一致性。 其他说明:本资源较为深入地剖析了Linux NVDIMM驱动内部机制,不仅适合用于研究和学习,还可作为开发相关项目的重要参考资料。为了更好地理解和运用其中的概念和方法,建议读者同时参考官方文档和其他专业资料。

2024-10-27

NVDIMM_Driver_Writers_Guide.pdf

NVDIMM_Driver_Writers_Guide.pdf

2022-05-18

空空如也

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

TA关注的人

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