Loading

摘要: 0.工具介绍 cppcheck是一款开源的静态代码分析工具,用于检查C和C++代码中的编程错误。cppcheck可以发现代码中的内存泄漏、未初始化变量、使用后释放指针、数组越界访问、类型强制转换错误等常见错误。 以下是一些常用的命令及其说明: 1. --project=<project_file>: 阅读全文
posted @ 2023-04-04 09:22 Yangtai 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 记录以方便使用 stars:>20 extension:c language:c 阅读全文
posted @ 2021-10-09 19:37 Yangtai 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 一、Marvell 88SE9215、AHCI与SATA简介 1.Marvell 88SE9215 1)概述 88SE9215是一个四端口,兼容3 Gbps和6 Gbps的SATA主机总线适配器,提供一个单线PCle 2.0接口、SATA控制器功能和4个6 Gbps SATA端口。下文将以PCIe 阅读全文
posted @ 2021-09-18 16:41 Yangtai 阅读(5130) 评论(0) 推荐(0) 编辑
摘要: Linux驱动开发 一、Linux内核模块 【1】什么是驱动? ​ 能够控制硬件工作的软件代码就是驱动 1、ARM裸机开发与Linux设备驱动区别 1.是否有操作系统 2.编程方式不同(逻辑全部自己实现,驱动在内核的基础上开发) 3.是否具备多进程,多线程(arm不可以,驱动可以) 4.一个可以直接 阅读全文
posted @ 2021-07-01 19:17 Yangtai 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 文章目录 中断上半部、下半部的概念 实现中断下半部的三种方法 软中断 软中断模版 tasklet tasklet函数模版 工作队列 工作队列函数模版 进程上下文和中断上下文 软中断和硬中断的区别 硬中断、软中断和信号的区别 中断上半部、下半部的概念 设备的中断会打断内核进程中的正常调度和运行,系统对 阅读全文
posted @ 2021-06-23 15:03 Yangtai 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 最近项目组做xen底层,我已经被完爆无数遍了,关键在于对内核、驱动这块不熟悉,导致分析xen代码非常吃力。于是准备细细的将 几本 linux 书籍慢慢啃啃。 正好看到LINUX内核设计与实现,对于内核中中断下半段该如何选择?大牛的原话是这样的:“从根本上来说,你有休眠的需要吗?要是有,工作队列就是你 阅读全文
posted @ 2021-06-23 09:46 Yangtai 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1.输入子系统的驱动的框架结构体 ​ 1.1核心层 :提供时间处理层和设备驱动层的注册、注销,匹配过程 ​ 1.2事件处理层 :向应用层提供操作的接口如mouse.c evdev.c ​ 1.3设备驱动层 :读取事件,上报事件 2.输入子系统的目录结构体 ​ input.c :核心层 ​ evdev 阅读全文
posted @ 2021-06-22 14:59 Yangtai 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 几乎每次在代码中发现flag变量,我总是能嗅到一股馊味。不管你闻没闻到,反正我闻到了。 在代码中,flag通常作为标志变量的名字。但问题在于,不是所有的问题或代码都需要使用这种标志变量,更不是使用标志变量一定要用flag这个名字。需要使用标志变量的问题只有一小部分而已,况且即使使用标志变量,取fla 阅读全文
posted @ 2021-06-09 15:48 Yangtai 阅读(260) 评论(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:vi -t sys_s 阅读全文
posted @ 2021-06-07 21:06 Yangtai 阅读(146) 评论(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 阅读(175) 评论(0) 推荐(0) 编辑