- 博客(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
原创 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
原创 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
转载 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
2024-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人