- 博客(11)
- 资源 (6)
- 收藏
- 关注
原创 linux下编译、链接过程分析
各个阶段如下图所示:1 预处理阶段 1.1 操作系统的自带编译器gcc, gcc -E 它是gcc编译器的一个命令,使用后会有对应的应用程序执行处理 (1)作用:预编译过程主要处理那些源代码中以#开始的预编译指令,比如删除注释 (2)将所有的#define删除,并且展开所有的宏定义,比如头文件原地展开 (3)处理所有条件编译指令,如#if,#ifde...
2018-05-21 17:16:18 1120
原创 进程、线程、CPU核数之间的关系(附加select细节)
前言:为什么要开线程?目的(1)是想等一个子程序执行完毕了,然后在继续操作!用启动线程,不然界面和别的进程无法工作,程序完了就完了没有如何效果和后续功能,然后用线程启动然后线程等待,比如摄像头不停的捕获图像,鼠标键盘任何时候输入都有效,开启后CPU会给这个进程分配专用的内存空间核cpu时间资源。(2)其实很像中断函数一样,对一个函数开启线程后,当它处于等待IO发生动作后去执行比如键盘按...
2018-05-20 15:08:48 25489 6
原创 linux中使用volatile(附加变量类型)
1 变量类型1.1 自动变量特点 (1)自动变量就是在函数内部定义的变量,只在内部有效 (2)所以允许其他函数定义相同的变量 (3)他们都有自己的区域性,没有连接性 (4)自动变量分配内存就压栈,函数返回时退栈 (5)一般不作专门说明的局部变量,均是自动变量,比如static说明 (6)自动变量使用栈机制使用内存 1.2 静...
2018-05-15 13:49:18 1018
原创 ioctl函数实用性总结(适用初学者)
1 ioctl为什么会出现(1)虽然在文件操作结构体"struct file_operations"中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数。如CD-ROM的驱动,想要一个弹出光驱的操作,这种操作并不是所有的字符设备都需要的,所以文件操作结构体也不会有对应的函数操作。(2)大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件...
2018-05-13 19:49:14 1498 2
原创 线程创建函数与实例
1 线程常见函数1.1 线程创建于回收(1)pthread_create 主线程用来创造子线程(2)pthread_join 主线程用来等待(阻塞)回收子线程(3)pthread_detach 主线程用来分离子线程,分离后主线程不必再去回收子线程小结:线程函数创建的线程,就是里面函数指针指向的函数体,整个函数是一个线程,里面定义,申请的内存资源...
2018-05-13 19:48:30 1765
原创 成长语录——留给以后的自己
任何一个伟大的企业家,也是一个伟大的思想家(2018.5.12)雷军不愿意去超想公司,联想、四通、方正也一律不在考虑的范围之内,那个时候,雷军认 为大公司已经没有机会了。“现在我才知道大公司也有很多机会,大公司的培训可以完整地 塑造一个人。”别怕堕落生命最伟大的时候不在于永不堕落,而是堕落之后能再度升起。-----褚时健成为一个更好的交谈者(2018.8.8)第一:不要好为人师...
2018-05-12 10:53:04 385
原创 linux下编译代码时的默认头文件路径
1 应用编程、驱动源代码中的头文件1.1 应用编程中包含的头文件是应用层的头文件,是应用程序的编译器带来的 1.1.1 编译windows下的应用程序时 1)使用<>包含的头文件一般会先搜索-I选项后的路径(即用gcc编译时的-I选项),之后就是标准的系统头文件路径。 2)而用""号包含的头文件会首先搜索当前的工作目录,之后的搜索路径才是...
2018-05-11 10:35:13 5854
原创 文件系统、根文件系统、VFS的原理
2.18.1.根文件系统概述2.18.1.1、为什么需要根文件系统 (1)init进程的应用程序在根文件系统上 解释:内核启动过程,最终会调用一个函数,把内核态进程0变成应用态进程1,就是这个init主...
2018-05-10 17:19:35 807
转载 uboot和系统移植-第20部分-2.20.buildroot的引入和介绍
《2.uboot和系统移植-第20部分-2.20.buildroot的引入和介绍》--------------------------------------------------------欢迎访问《朱老师物联网大讲堂》官方网站www.zhulaoshi.org 以获取本课程更多信息-----------------------------------------
2018-05-10 17:15:23 905
原创 linux应用层到驱动层再到硬件图解(inline)
1 系统整体工作原理 1.1 总体流程图 1.1.1 这里举一个函数例子,比如内核给我们应用层提供的open/read/write等函数指针,这些函数在内核的fs.h中用file_operation(用来操作文件的所有接口)结构体封装,他们只是一个函数指针(用来挂接驱动里的函数实体),实体是具体用来操作硬件的,根据自己的需要写在驱动模块里面。 1.1.2 ...
2018-05-10 17:10:37 4875
MT7601驱动—可移植linux3.4
2018-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人