- 博客(6)
- 收藏
- 关注
原创 linux中断内容梳理
什么是中断中断 是为了解决外部设备完成某些工作后通知CPU的一种机制(譬如硬盘完成读写操作后通过中断告知CPU已经完成)。早期没有中断机制的计算机就不得不通过轮询来查询外部设备的状态,由于轮询是试探查询的(也就是说设备不一定是就绪状态),所以往往要做很多无用的查询,从而导致效率非常低下。由于中断是由外部设备主动通知CPU的,所以不需要CPU进行轮询去查询,效率大大提升。从物理学的角度看,中断是...
2020-01-16 17:00:20 183
原创 硬件测试
BMC中I2C 扫描(I2C-test)## **i2c-test** 工具是Linux下在bmc系统下对i2c的一个扫描工具。使用方法有:对每个BUS进行扫描的时候,可采用i2c-test 对其进行扫描,可采用i2c-test --scan -b 0(对bus0进行扫描)。如果对bus下面的每个channel 进行扫描时,需要进行切换,可使用i2c-test -b $i -s 0x7...
2019-12-13 09:22:40 1843
原创 Linux驱动开发
[一]、Linux驱动[1].驱动概念1、软件驱动驱动软件,使硬件处于某种工作模式,提供控制硬件方法2、驱动的地位:1、驱动使连接内核与设备的桥梁[二]、设备分类1、字符设备 ---->>> 字符设备驱动 ---->>> 字符设备文件2、网络设备 ---->>> 网络设备驱动3...
2019-07-10 23:19:54 110
原创 Linux线程池实现
在了解线程池的概念之前,我认为我们应该先了解一下线程的概念以及线程的函数。在多线程OS中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有以下属性。线程是程序运行的最小的单位。在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中的)。3...
2019-03-23 11:06:15 193
转载 C/C++生成静态链接库
静态链接库(“* ”代表文件名):第一步:生成*.o目标文件,使用gcc -c .c -o .o命令;第二步:使用ar将.o 打包成lib.a静态库,使用 ar rcs -o lib*.a .o 命令;第三步:生成lib.a静态库后,可以使用art lib*.a 查看lib*.a文件中包含哪些文件;第四步: 编译*.c,并使用lib*.a 静态库,链接时-l参数后不加空格指定需要链接的...
2019-03-23 10:47:18 937
转载 红黑树
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdo...
2019-03-23 10:42:02 237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人