- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 推土机:汇集modules时,使用make_install时出现错误
问题描述:按照http://dev.t-firefly.com/thread-10907-1-1.html编译代码时,到最后一步集合modules时,使用报错,如图所示:问题解决:要先使用make modules编译模块才能汇集它们。如图所示:之后再使用make INSTALL...命令便可以成功了。问题分析:在错误信息中,我们可以看到,无法获取.../
2017-07-22 17:33:13
10383
原创 博客分类暗语
推土机:在工作和学习中遇到的各种问题及其解决方法,就行在路上遇到的土堆挡着自己的路了,然后用推土机把这个土堆给推平了,就相当于把问题解决了,把这个问题解决的过程记录下来,以备以后遇到类似问题的时候可以参照解决。砖块:遇到的一些小的知识点,可以记录下,等有时间时把同类的整合说不定就建了一个房子了。然后房子多了就说不定是个宫殿了。
2017-07-22 17:19:21
361
原创 第五章
5.1 Linxu文件操作5.1.1 文件操作系统调用1. 创建creatumask2. 打开open3.读写readwrite4.定位lseek5.关闭close5.1.2 C库文件操作1.创建和打开fopen2.读写fgetcfputcfgetsfputsfprintffscanffreadfw
2017-06-30 09:44:09
256
原创 第四章 Linux内核模块
4.1 Linux内核模块简介内核模块特点:1)模块本身不被编译进内核映像中,从而控制内核的大小。2)模块被加载后,它跟内核中的其他部分完全一样。内核加载命令:lsmod内核卸载命令:rmmod加强型内核加载函数:modprobe——优点:加载模块所以来的模块。模块之间的依赖关系可以在:/lib/modules//modules.dep文件中。它是在编译内核
2017-06-29 17:39:03
391
原创 第三章 Linux内核及内核编程
3.1 Linux内核的发展和演变3.2 Linux2.6之后的内核特点1. 新的调度器Linux 2.6 以后版本的Linux 内核使用了新的进程调度算法,它在高负载的情况下有极其出色的性能,并且当有很多处理器时也可以很好地扩展。2. 内核抢占从linux2.6开始,一个内核任务可以被抢占,从而提高系统的实时性。3.改进的线程模型4.虚拟内存的变化5.文件系统
2017-06-29 16:59:11
384
原创 第二章 驱动设计的硬件基础
2.1 处理器2.1.1 通用处理器——ARM主流的通用处理器(GPP)多采用SoC(片上系统)的芯片设计方法,集成了各种功能模块,每一种功能都是有硬件描述语言设计程序,然后在SoC内由电流实现的。中央处理器的体系结构可以分为两类:1.冯诺依曼结构。程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一存储器的不同物理位置,因此程序指令和数据的
2017-06-29 14:21:39
463
原创 第一章 Linux设备驱动概述
1.1 设备驱动的作用简言之:驱使硬件设备行动。换言之:负责硬件和应用软件之间的沟通。1.2 无操作系统时的设备驱动应用软件直接访问设备驱动的接口。缺点:不能复用。1.3 有操作系统时的设备驱动驱动按照操作系统给出的独立于设备的接口而设计,应用程序可以使用统一的系统调用接口来访问设备。优点:可以复用。1.4 Linux设备驱动1.4.1 设备的分类及特点
2017-06-29 10:26:02
200
转载 三种设备读写方式和I/O设备控制操作
原文链接:http://www.blogfshare.com/buffer-direct-other.html
2017-06-26 17:48:50
607
原创 SVN服务器搭建
SVN是Subversion的简称,一个开源的版本控制系统,采用分支管理系统。设计目标是取代CVS。其作用简单说就是:多人协同项目开发,共享资源。二、为什么用SVN?首先一点,简单,支持中文,学习成本小。这也是优点啊!而且是很大的优点。另外还有的界面统一,操作方便等优点。与热门的Git比起来,SVN也有其独特的优势。通常来讲,SVN更适合公司中的项目管理,团队成员共同维护公
2017-06-08 20:57:25
328
原创 Linux中Platform设备驱动
一般情况下,linux设备和驱动都需要挂接在一种总线上,除了本身依附于PCI、USB、I2C、SPI等总线的设备,在嵌入式系统中,SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设等外设的驱动不能使用上述的总线。所以,linux新增了一种虚拟的总线,称为platform总线。 相应的外设称为platform_device。
2017-06-05 21:42:35
654
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-06-05 20:22:44
150
转载 Android平台开发-WIFI 驱动移植 -- 详细
一、WIFI的基本架构(代码路径) 1、WIFI Settings应用程序: packages/apps/Settings/src/com/android/settings/wifi/ 2、JAVA部分(framework): frameworks/base/services/java/com/android/server/
2017-05-26 14:18:56
595
转载 Ubuntu14.04环境下配置TFTP服务器
Ubuntu14.04环境下配置TFTP服务器转自:http://www.cnblogs.com/AP0904225/p/6589085.html <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 开发环境:win7 64位 + VMware12 + Ubuntu
2017-05-26 09:47:14
436
原创 git从本地添加到github远程库失败的解决方法
问题描述:最近在学git以及github,但是遇到一个问题就是与github.com连接不通root@liuxin-PC:/home/liuxinux# ssh -T git@github.comThe authenticity of host 'github.com (192.30.253.112)' can't be established.RSA key fingerprin
2016-10-29 22:13:30
10377
1
转载 子进程自父进程继承什么或未继承什么
子进程自父进程继承什么或未继承什么知道子进程自父进程继承什么或未继承什么将有助于我们。下面这个名单会因为 不同Unix的实现而发生变化,所以或许准确性有了水份。请注意子进程得到的是 这些东西的 *拷贝*,不是它们本身。由子进程自父进程继承到:进程的资格(真实(real)/有效(effective)/已保存(saved) 用户号(UIDs)和组号(GI
2016-09-11 20:00:41
291
原创 is-a关系
继承:is-a关系例:苹果继承自水果~这是一种is-a关系~因为苹果肯定是水果,这是种天然的关系 苹果不能继承自午饭~这是一种has-a关系~因为午饭可以有苹果也可以没有。所以,继承最好是is-a关系,虽然has-a关系,is-implemented-as-a关系,或use-a关系,但是这回出现问题。
2016-08-27 10:37:04
1133
原创 友元
友元:1. 为什么需要友元?类具有封装恶化信息隐藏的特性,所以只有类的成员函数才能访问类的私有成员。当非成员函数要访问类中的私有成员时,就必须将数据成员都定义成公有的,这破坏了隐藏的特性。而且在对某些成员函数多次调用时,由于参数传递,类型检查和安全性检测都需要时间开销,从而影响到了运行效率。所以提出友元。可以使非成员函数访问类中的私有成员。2.友元概念和分类
2016-08-27 09:39:42
573
原创 多态
多态:概念:允许将父对象设置成为和它的一个或更多的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。作用:允许将子类类型的指针赋值给父类类型的指针。实现:多态性通过虚函数(Virtual Function)实现的。
2016-08-26 21:24:28
321
原创 虚函数
虚函数:格式:virtual 返回类型 函数名 (参数表){函数体}概念:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。作用:实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。例子:#includeusing namespace std;class A{ public:
2016-08-26 20:55:28
303
原创 析构函数
析构函数:概念:当对象结束其生命周期时,系统自动调用析构函数,用来做清理善后的工作,例如,在建立对象时使用new开辟的内存空间,由析构函数调用delete蓝释放。定义:~Stock();特点:析构函数没有返回类型也没有参数。调用析构函数的时机:1)当创建的是静态存储类对象时,在程序结束时自动调用。2)当创建的是自动存储类对象时, 在程序执行完代码
2016-08-26 20:12:04
433
原创 构造函数
构造函数:概念:创建对象时用来初始化对象的函数。特点:构造函数的命名与类名相同不能别直接调用,必须通过new运算符在创建对象时才会自动调用程序声明对象时,将自动调用构造函数使用构造函数:两种方式:1)显式调用如:Stock food = Stock("world Cabbage", 250, 1.25)
2016-08-26 19:38:16
521
原创 C++复习1
内联函数:定义:使用inline关键字修饰的函数。(在类内定义的函数默认为内联函数)概念:内联函数在调用时不是发生控制转移,而是在编译时将函数体嵌入到每一个调用处。特性:用空间换时间,内联函数的运行速度比常规函数快,那是因为节省了调用时函数跳转的时间。内联函数与宏定义的区别:内联函数:跟普通函数一样是值传递,有类型检查,更安全。宏定义:完全的文本
2016-08-26 19:27:42
357
原创 嵌入式复习17
第十六天:1. 多线程的基本概念和基本操作1.1 基本概念1.2 线程的创建1)pthread_create函数2)线程之间的关系1.3 线程编号的获取和比较1)pthread_self函数2)pthread_equal函数1.4 线程的汇合和分离1)pthread_join
2016-08-25 10:50:57
298
原创 嵌入式复习16
第十六天:1. 基于tcp协议的通信模型1.1 通信模型服务器:1)创建socket——socket函数2)准备通信地址——使用结构体类型3)帮id那个socket和通信地址——bind函数4)监听——listen函数5)响应客户端的连接请求——accept函数6)关闭socket——close函数客户端:
2016-08-25 10:13:57
153
原创 嵌入式复习15
第十五天:1. 网络相关的基本常识1.1 七层网络协议模型和常用的网络协议1)七层网络协议模型应用层表示层会话层传输层网络层数据链路层物理层2)常用的网络协议tcp协议udp协议ip协议1.2 IP地址和子网掩码1)IP地址2)子网掩码1.3 端口号和字节序
2016-08-24 22:10:54
154
原创 嵌入式复习14
第十四天:1. 使用信号量集实现进程间的通信1.1 基本概念1)信号量2)信号量集1.2 信号量的工作方式1)初始化信号量为最大值2)如果有进程申请到了一个共享资源,则信号量的数值减1;3)当信号量的数值为0时,申请共享资源的进程进入阻塞状态;4)如果有进程释放了一个共享资源,则信号量的数值加1;5)当信号量的
2016-08-24 21:57:40
226
原创 嵌入式复习13
第十三天:1. 使用管道实现进程间通信1.1 基础概念概念:本质上是一种特殊的文件分类:有名管道和无名管道有名管道:可以进行任意俩进程之间的通信无名管道:只能进行父子进程之间的通信1.2 使用有名管道实现进程间的通信创建有名管道:mkfifo命令/函数1.3 使用
2016-08-24 21:19:00
250
原创 嵌入式复习12
第十二天:1. 信号的处理1.1 信号集的基本概念和操作1)概念:思考:如何采用最节省内存的方式来设计信号集的数据类型?2)基本操作:sigemptyset()sigfillset()sigaddset()sigdelset()sigismember()1.2 信号的屏蔽1)sigprocmask函数2)sigpending函数1.3 sig
2016-08-24 20:58:25
208
原创 嵌入式复习11
第十一天:1.进程的管理1.1 进程管理的其他函数1)vfork函数2)exec函数3)system函数2. 中断的概念和分类概念:分类:3.信号的处理3.1 基本概念和特性1)基本概念2)基本特性3.2 基本命令和分类kill -l3.3 要求掌握的信号SIGINTSIGQUITSIGKILL3.4 信号的处理方式1
2016-08-24 20:32:25
215
原创 嵌入式复习10
第十天:1. 进程的管理1.1 进程的创建1)fork函数2)父子进程的执行次序3)父子进程之间的关系a. b.c.4)父子进程之间的复制关系5)扩展a. b.c.1.2 进程的终止1)正常终止进程的方式a.b.c.d.e.2)非正常终止进程的方式a.b.3)终止进程相关函数的解析a. _exit/
2016-08-23 23:10:09
203
原创 嵌入式复习9
第九天:1. 文件的管理1)chmod/fchmod函数2)truncate/ftruncate函数(重点)3)umask函数(了解)2. 又见mmap和munmap函数3.文件管理的其他函数4)link函数5)unlink函数6)rename函数7)remove函数4. 目录的管理4.1 常用基本操作的函数1)opendir函数2)read
2016-08-23 23:09:01
233
原创 嵌入式复习8
第八天:1. 文件的管理1)fcntl函数2)access函数3)stat/fstat函数(重点)2. 使用fcntl函数实现文件锁的功能2.1 文件锁的由来2.2 使用F_SETLK作为函数的第二个实参时的用法2.3 使用F_SETLKW作为函数的第二个实参时的用法2.4 使用F_GETLK作为函数的第二个实参时的用法
2016-08-23 22:53:46
289
原创 嵌入式复习7
第七天:1. 文件的管理1.1 基本操作的相关函数1)lseek函数2)dup/dup2函数2. 标准C和UC文件操作函数的比较3. 文件描述符的工作原理(尽量理解)
2016-08-23 22:41:56
151
原创 嵌入式复习6
第六天:1. 内存管理技术1.1 常用的内存管理函数1)getpagesize函数2)sbrk函数3)brk函数4)mmap函数(暂时了解)1.2 内存管理函数之间的层次关系5)munmap函数(暂时了解)2. 文件管理2.1 基本概念2.2 基本操作的相关函数1)open函数2)close函数3)read函数4)write函数
2016-08-23 22:30:09
181
原创 嵌入式复习5
第五天:1. 内存管理技术基本概念1.1 程序和进程的概念程序:进程:2. 进程中的内存区域划分1)代码段(Text)2)只读常量区(Text)3)数据段/全局区(Data)4)bss段(Data)5)堆区(Heap)6)栈区(Stack)3. 常量字符串不同存放形式的比较(重点)4. 虚拟内存管理技术5. 段错误的由来6. 使用mall
2016-08-23 22:19:10
218
原创 嵌入式复习4
第四天:1. C语言的错误处理1.1 如何表现C语言的错误1.2 错误编号(表示为什么错了)1.3 错误信息(解释错误编号的含义)1)strerror函数2)perror函数3)printf函数2. 环境表的概念和使用2.1 环境表的概念2.2 基本操作的相关函数1)getenv函数2)setenv函数3)unsetenv函数4)putenv
2016-08-23 21:50:16
260
原创 嵌入式复习3
第三天:1. 库文件的概念和使用1.1 库文件的概念和作用1.2 库文件的分类1)静态库2)动态库(共享库)2. 静态库的概念和特性2.1 静态库的概念2.2 静态库的特性2.3. 静态库的生成2.4.静态库的调用方法和步骤3. 动态库的基本概念和特性3.1 动态库的概念3.2 动态库的特性3.3 动态库的生成3.4 动态库的调用4.
2016-08-23 21:48:20
200
原创 嵌入式复习2
第二天:1. 常用的预处理指令1.1 C中常用的预处理指令1.2 linux中常用的预处理指令2. 常用的预定义宏3. 环境变量的概念和使用3.1 基本概念3.2 配置方法1)windows2)linux3.3 编程相关的常用环境变量4. 头文件的查找方法(共四种)(每种的优缺点)
2016-08-23 21:25:57
280
原创 嵌入式复习1
第一天:1. unix/linux的简介2. gcc编译器的使用2.1 概念2.2 基本功能2.3 常用的编译选项3. 常见的编程相关的文件后缀(7个)4. 多文件结构编程4.1 多文件结构的主要组成4.2 头文件的详细组成
2016-08-23 21:17:37
215
转载 linux中断分层技术分析
Linux中断嵌套处理:概念:当一种类型的中断发生时又产生另外一种中断 慢速中断:当处理中断函数时,中断总开关是不关闭的,允许别的中断产生。1.不同中断设备:处理中断开始。。。。。。发生另外中断,执行发生的中断,执行完成,返回之前的中断处理函数继续执行。。。。2.相同类型设备:处理中断开始。。。。。。发生另外中断,忽略发生的中断,继续执行之前的中断函数,造成中
2016-07-11 20:59:53
263
四人智力竞赛抢答器的设计报告
2011-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人