linux子系统
文章平均质量分 61
leo*liu
这个作者很懒,什么都没留下…
展开
-
Linux内核对进程信号处理流程
前辈分享的图,感觉画的特别好,非常清晰,收藏了原创 2022-03-25 15:45:52 · 240 阅读 · 1 评论 -
内核节拍
内核的节拍是选用一个时钟源作为滴答源,但是选择这个时钟源有个条件,就是这个时钟必须有计时功能,定时功能,硬件中断功能,即可以触发中断,这样才可以去产生tick。 软件上的tick正是在这个中断函数中实现的,当这个中断来临后,回去调用系统的evt->event_handler(evt);目前见到的有两种做法: 1:使用外置的定时器(一般在南桥) 2:使用cpu core内部的定时器 ...原创 2018-02-16 22:05:31 · 299 阅读 · 0 评论 -
I2C思考和check
对于硬件I2C使用的一些思考:1,硬件IIC会在/dev目录下生成i2c-0 -- i2c-x个节点,这就提供给我一种访问的方法,我们可以使用open节点的方式去操作IIC设备,但这样我们传递下去的只是地址,寄存器地址和寄存器值;设备的操作逻辑就要全部放在上层了。2,使用驱动核心层给出的读写接口xx-read,xx-write。我们在我们自己的设备驱动中去调用II2C模块(在核心层)...原创 2018-02-16 00:13:41 · 596 阅读 · 0 评论 -
等待队列(阻塞与非阻塞)
IO阻塞和非阻塞模型: http://blog.csdn.net/sun172270102/article/details/52672917https://www.cnblogs.com/lubiao/p/4858086.html 等待队列的实现原理实质是利用了内核线程的等待状态属性,也就是说它是一个有睡眠属性的内核线程。 有个bug,驱动在release时候,去撤销线程的时候发现这个线程(内核队...原创 2018-02-16 00:06:22 · 2341 阅读 · 0 评论 -
工作队列work queuedemo_task
http://blog.csdn.net/bullbat/article/details/7410563这个资料讲到了队列的两种使用方法http://www.itnose.net/detail/6463690.html这个资料中讲到了任务的移除参见中断子系统中的下半部内容工作队列实际是由一个内核线程去维护和执行队列上的任务的。当系统启动后,内核为每一个cpu都创建一个工作队列(即缺省的...原创 2018-02-16 00:05:04 · 1065 阅读 · 0 评论 -
内核标准wdt统一driver层分析
标签(空格分隔): linux子系统 wdthttp://blog.chinaunix.net/uid-14753126-id-2984303.htmlpath : /driver/watchdog_dev.cwdt的驱动挺特别的,linux内核中也对它做了一个封装并归纳处理总结出了一个框架,分为以下三层: 统一driver层(watchdog_dev),核心层(watchdog...原创 2018-02-16 22:13:20 · 1820 阅读 · 1 评论 -
watchdog/wdt
标签(空格分隔): linux子系统 wdtwdt一般有两个功能,即wdt mode,nomal interrupt timer(通用定时器),并且,他的频率是可写的,一般会有一个自己的基础晶振频率(base freq),也可以使用系统分过来的频率, 然后在这个基础上去分频 有的看门狗也支持不同的reset级别,即reset cpu mode 和reset whole chip mod...原创 2018-02-16 22:14:25 · 298 阅读 · 0 评论 -
输入输出子系统
标签(空格分隔): linux子系统 输入输出子系统http://blog.csdn.net/smilefyx/article/details/40538339 http://blog.csdn.net/ielife/article/details/7798952 清晰 http://blog.csdn.net/wangpengqi/article/details/8471144 h...原创 2018-02-16 23:14:55 · 565 阅读 · 0 评论 -
platform_get_resource的用法
标签(空格分隔): linux子系统 platform平台框架http://blog.csdn.net/wangpeiyao5566/article/details/45269183 在使用平台设备的时候一般有这样的操作:先获取资源: res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 然后通过获取的资源找出映射的虚拟寄存器...原创 2018-02-16 22:20:51 · 12748 阅读 · 3 评论 -
i2c出现的bug
标签(空格分隔): i2c子系统 linux子系统1.有的时候读写的时候,从设备的反应时间不见得那么快 ,所以经常会出现i2c读写概率性的超时失败。特别是一次读写很多个byte的时候 所以需要将i2c中的超时等待时间调大一点。但是调太大的话会影响单次i2c的传输速率 2.i2c driver中有个retry操作,对于每次写单个byte都会概率性的出现i2c失败显示超时,即没有收到ack...原创 2018-02-16 23:17:42 · 2379 阅读 · 0 评论 -
platform的学习和使用
标签(空格分隔): linux子系统 platform平台框架http://blog.csdn.net/ufo714/article/details/8595021 platform的灵魂是:device(设备)driver(驱动)platform_bus(platform总线),其特点是设备,驱动分层动态的管理和加载 其中platform_bus是一个虚拟的总线,当我们将设备和驱动注...原创 2018-02-16 23:18:12 · 17238 阅读 · 0 评论 -
standby
STR(suspend to ram)是符合linux标准规范的standby flow原创 2018-02-16 23:18:31 · 520 阅读 · 0 评论 -
中断子系统
标签(空格分隔): linux子系统 中断子系统在kernel发生中断后,会跳转到汇编代码entry-armv.S中__irq_svc处,进而调用handle_arch_irq,每个中断控制器的drivver会使用如下: handle_arch_irq = gic_handle_irq 将自己的中断入口处理函数赋值给这个指针,这里是gic的入口函数,从而进入GIC驱动,进行后续...原创 2018-02-16 23:19:01 · 257 阅读 · 0 评论 -
时间子系统
标签(空格分隔): linux子系统 时间子系统http://cloudtech.iteye.com/blog/1712676 http://blog.csdn.net/lijzheng/article/details/23001783 http://blog.csdn.net/droidphone/article/details/7975694纠正: mslee会受到HZ配置的...原创 2018-02-16 23:20:47 · 196 阅读 · 0 评论 -
gpio-i2c
标签(空格分隔): i2c子系统 linux子系统在driver/i2c/busses/i2c-gpio原创 2018-02-16 22:27:33 · 473 阅读 · 0 评论 -
实际的wdt driver框架
标签(空格分隔): wdt使用了一个内核通知链用于内核态其他模块的调用原创 2018-02-16 23:14:12 · 932 阅读 · 0 评论