Loading

摘要:Linux驱动开发 一、Linux内核模块 【1】什么是驱动? ​ 能够控制硬件工作的软件代码就是驱动 1、ARM裸机开发与Linux设备驱动区别 1.是否有操作系统 2.编程方式不同(逻辑全部自己实现,驱动在内核的基础上开发) 3.是否具备多进程,多线程(arm不可以,驱动可以) 4.一个可以直接 阅读全文
posted @ 2021-07-01 19:17 Yangtai 阅读(18) 评论(0) 推荐(0) 编辑
摘要:文章目录 中断上半部、下半部的概念 实现中断下半部的三种方法 软中断 软中断模版 tasklet tasklet函数模版 工作队列 工作队列函数模版 进程上下文和中断上下文 软中断和硬中断的区别 硬中断、软中断和信号的区别 中断上半部、下半部的概念 设备的中断会打断内核进程中的正常调度和运行,系统对 阅读全文
posted @ 2021-06-23 15:03 Yangtai 阅读(25) 评论(0) 推荐(0) 编辑
摘要:最近项目组做xen底层,我已经被完爆无数遍了,关键在于对内核、驱动这块不熟悉,导致分析xen代码非常吃力。于是准备细细的将 几本 linux 书籍慢慢啃啃。 正好看到LINUX内核设计与实现,对于内核中中断下半段该如何选择?大牛的原话是这样的:“从根本上来说,你有休眠的需要吗?要是有,工作队列就是你 阅读全文
posted @ 2021-06-23 09:46 Yangtai 阅读(12) 评论(0) 推荐(0) 编辑
摘要:1.输入子系统的驱动的框架结构体 ​ 1.1核心层 :提供时间处理层和设备驱动层的注册、注销,匹配过程 ​ 1.2事件处理层 :向应用层提供操作的接口如mouse.c evdev.c ​ 1.3设备驱动层 :读取事件,上报事件 2.输入子系统的目录结构体 ​ input.c :核心层 ​ evdev 阅读全文
posted @ 2021-06-22 14:59 Yangtai 阅读(15) 评论(0) 推荐(0) 编辑
摘要:几乎每次在代码中发现flag变量,我总是能嗅到一股馊味。不管你闻没闻到,反正我闻到了。 在代码中,flag通常作为标志变量的名字。但问题在于,不是所有的问题或代码都需要使用这种标志变量,更不是使用标志变量一定要用flag这个名字。需要使用标志变量的问题只有一小部分而已,况且即使使用标志变量,取fla 阅读全文
posted @ 2021-06-09 15:48 Yangtai 阅读(8) 评论(0) 推荐(0) 编辑
摘要:新人学习,欢迎指正 部分select.c代码 应用层 select(maxfd+1,&rfds,NULL,NULL,NULL); (系统调用) kernel-3.4.39/arch/arm/kernel$ vi calls.S //系统调用相关的汇编文件 CALL(sys_select) VFS:v 阅读全文
posted @ 2021-06-07 21:06 Yangtai 阅读(28) 评论(0) 推荐(0) 编辑
摘要:一. 通过tftp与nfs挂载 此方法常用与开发阶段,系统移植和驱动开发通常使用此种方式。对于uboot中bootcmd和bootargs的环境变量的设置 NFS的方式挂载根文件系统 setenv bootargs root=/dev/nfs nfsroot=192.168.3.222:/home/ 阅读全文
posted @ 2021-06-04 22:34 Yangtai 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一、环境搭建/系统部署 【1】安装交叉编译工具链 1>为什么要安装交叉编译工具链 2>如何安装和配置交叉编译工具链 注意:1.在实际的开发中,不同的硬件平台,使用的交叉编译工具链的版本可能不一致 2.Ubuntu源码或linux内核源码的版本不一致,可能交叉编译工具链的版本也不一致 【2】安装tft 阅读全文
posted @ 2021-06-04 22:03 Yangtai 阅读(16) 评论(0) 推荐(0) 编辑
摘要:给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix = [[1,2,3,4],[5,6, 阅读全文
posted @ 2021-06-04 19:57 Yangtai 阅读(15) 评论(0) 推荐(0) 编辑
摘要:现在有两种线程,氧 oxygen 和氢 hydrogen,你的目标是组织这两种线程来产生水分子。 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。 氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。 这 阅读全文
posted @ 2021-06-04 19:27 Yangtai 阅读(18) 评论(0) 推荐(0) 编辑