摘要: #二、内核中的信息打印-->printk ##1、打印级别 vim include/linux/printk.h +9 内核中的打印级别,8个级别,(07)级,数值越小,级别越高 (02)3个级别不常用, (3~7)4个级别会常用, vim ./include/linux/printk.h +9 0 阅读全文
posted @ 2020-12-06 14:59 八杯水 阅读(726) 评论(0) 推荐(0)
摘要: #一、驱动基础 ##1、什么是驱动 能够通过软件操作硬件的这份程序就是驱动 ##2、Linux驱动和ARM裸机驱动的区别 1)Linux设备驱动工作时依赖于Linux内核, ARM裸机驱动不依赖于Linux内核,可以单独执行。 2)Linux设备驱动工作的空间在内核空间的【3G~4G】中,驱动中不能 阅读全文
posted @ 2020-12-06 14:41 八杯水 阅读(259) 评论(0) 推荐(0)
  2021年2月1日
摘要: 一、模块 1、什么是驱动 能够通过软件操作硬件的这份程序就是驱动 2、驱动和裸机驱动的区别 Linux驱动和ARM裸机驱动的区别: 1)Linux 设备驱动工作时依赖于Linux内核, ARM裸机驱动不依赖于Linux内核,可以单独执行。 2)Linux 设备驱动工作的空间在内核空间的【3G~4G】 阅读全文
posted @ 2021-02-01 13:33 八杯水 阅读(389) 评论(0) 推荐(0)
  2020年12月19日
摘要: 一、模板 (template) 1.1、模板函数 1> 语法格式: 泛型编程 1. 函数不用确定其处理的数据类型 2. 把数据类型作为参数传递 3. 泛型编程的语法规则 template 的含义是开始泛型编程 < typename T >的含义是声明数据类型叫T template <typename 阅读全文
posted @ 2020-12-19 21:07 八杯水 阅读(131) 评论(0) 推荐(0)
摘要: 一、继承(Inherit) 1.1、定义 继承是一种机制,在已有类的基础之上,重新封装一个新的类,这种方式叫做继承. 1> 父类中的成员变量和成员函数会被子类继承 2> 子类有父类中所有的方法和属性 3> 子类是特殊的父类 eg: 学生类:姓名,年龄,性别,学习 老师类:姓名,年龄,性别,授课,工资 阅读全文
posted @ 2020-12-19 21:04 八杯水 阅读(149) 评论(0) 推荐(0)
摘要: 一、常函数 1.1、定义 普通函数: 返回类型 函数名(形参表){函数体} 常函数: 返回类型 函数名(形参表)const{函数体} const 关键字放在函数声明的后面 或者在形参表和函数体之间添加一个 const 关键字,这样的函数称之为常函数。 1. 常成员函数无法改变成员变量的值 2. 并且 阅读全文
posted @ 2020-12-19 21:01 八杯水 阅读(201) 评论(0) 推荐(0)
  2020年12月7日
摘要: 类与对象 一、什么是对象? 事件万物都可以看成一个对象, 每个事物都可以当成一个对象来处理 1.1、如何描述对象? 通过对对象的属性(名词,量词,形容词)(变量) 行为(动词)来描述这个对象。(函数/方法) 人对象: // 属性:名字,身高,年龄,性别 // 行为:吃喝拉撒睡 1.2、面向对象的程序 阅读全文
posted @ 2020-12-07 21:07 八杯水 阅读(169) 评论(0) 推荐(0)
摘要: D1概述、类与对象 一、C++发展历史和历史地位 1.1、C++的江湖地位 编程语言排行榜--》可以百度查看,最新语言排行榜。TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTu 阅读全文
posted @ 2020-12-07 20:46 八杯水 阅读(327) 评论(0) 推荐(0)
  2020年12月6日
摘要: #五、附加 ##1、模块加载: modprobe 自动加载模块到内核 (p10) ##2、宏声明: MODULE_LICENSE("GPL"); 许可证声明(p12) MODULE_AUTHOR("LR xxx@163.com"); 作者信息(p12) MODULE_DESCRIPTION("thi 阅读全文
posted @ 2020-12-06 15:59 八杯水 阅读(76) 评论(0) 推荐(0)
摘要: #四、导出符号表 ###vim ./include/linux/export.h +50 在一个内核模块中调用另外一个内核模块中的函数,需要提供者将函数的符号表(地址)导出,调用者直接使用这个地址即可 ###1、导出符号表的意义: 1)可以解决内核代码冗余的问题,同种问题,一次实现,多次调用。 2) 阅读全文
posted @ 2020-12-06 15:50 八杯水 阅读(320) 评论(0) 推荐(0)
摘要: #三、内核模块传参 内核模块传参有两种 1、在安装驱动的时候传递参数 2、在驱动运行的时候传递参数 ##1、在安装驱动的时候传递参数 insmod xxx.ko a=12 b=35 驱动模块中使用的变量的类型 vim include/linux/moduleparam.h +97 变量类型 字节大小 阅读全文
posted @ 2020-12-06 15:37 八杯水 阅读(387) 评论(0) 推荐(0)