摘要:
一、中断 所谓的中断,是指 CPU 在执行的过程中,出现了某些的突发时间,CPU 必须暂停当前程序的执行,转而去处理突发的事件,当处理完毕之后,又返回源程序继续执行。 1.1、中断的分类 按照中断的来源: 可以分为内部和外部的中。外部中断,也就是由外设请求的中断;内部中断,显示就是 CPU 请求的中断,比如软中断,除法错误。 按照总段屏蔽的... 阅读全文
摘要:
一、内核模块的学习 内核的整体框架是非常的大,包含的组件也是非常多,如何将需要的组件包含在内核中呢?选择一,就是将所有的组件全部编译进内核,虽然需要的组件都可以使用,但是内核过分庞大,势必带来效率影响;选择二是,将组件编译为模块,需要的时候,就自行加载进内核,这种就是我们称之为的模块,当模块被加载到内核的机制,不仅控制了内核大小,同时被加载的内核与被编译进内核的部分,功能意义。... 阅读全文
摘要:
一、Linux内核源代码的目录结构学习 Linux 内核的目录,变化是比较的小,以Linux 2.6 的版本进行分析。 arch : 架构体系相关的代码,不同平台都在 arch 里面有相应的一个目录,比如 arm、powerpc、mips。在 arch 目录,存放的是各个平台以及各个平台的芯片对 Linux 内核进程调度、内存管理、中断等代码... 阅读全文
摘要:
一、驱动的作用 驱动实现的是,对硬件进行驱动,充当了硬件和应用软件的桥梁,使得上层的应用层可以通过统一的接口实现硬件的访问和操作。对硬件驱动,在有无操作系统的时候,硬件的操作是类似的,但是在接口的定义,却是存在差异。 1.1、没有操作系统的驱动 一般来说,并不是所有的嵌入式设备都是需要系统的,操作系统并不是必须的。在实现功能单一,简单的、不需要多任务调度的任务的系... 阅读全文
摘要:
beyond compare 软件可以实现基本的文件对比,这点和 NotePad++ 的功能一样。但是在实现文件夹与文件夹之间的对比的话,就要使用 beyond compare 进行对比,效率是成倍提高。 网上 down 一个 beyond compare 软件。http://www.downza.cn/soft/6653.html 一、文件夹的比较 1.1、入口 打开... 阅读全文
摘要:
经过一周的入职体验,可以深深感受到从学生到职业人转变的那种困惑,困惑虽有,但是收获也是不少。 (1)责任 职业人,以后自己假如开发产品的队伍,我的代码的指令,影响了公司产品的质量,产品的性能。我不仅需要对自己负责,还有对老板、对智美达负责,更需要对消费者负责。 (2)坚持学习 公司,再次感受到自己的渺小,好多好多不懂的知识,等待... 阅读全文
摘要:
通过访问 /etc/network/interfaces 实现动态IP 或者静态IP 的设置。 vim /et/network/interfaces 1、设置动态IP auto lo iface lo inet loopback // 设置回环 auto eth0 iface eth0 inet dhcp // 设置为动态获取IP 2、设置静态... 阅读全文
摘要:
队列是一种特殊的线性表,与堆、栈有点类似,但是队列值允许从队列的前端(Front)进行出队(删除),队列的后端进行插入(进队)。 实际的应用中,使用的是循环的队列。 循环队列的本质:是一个数组,只不过这个数组是可以被循环地进行存放数据。 2、循环队列的创建 typedef struct Queue { int *pBase; int Front; ... 阅读全文
摘要:
1、顺序排序:数组内部做排序 第一个和第二个做比对,第一个和第三个多比对,第一个和第四个做比对,以此类推。 //顺序排序 void sort_xunxu(int * a,int n) {// a 数组地址,n: 数组的长度 int i, j; int tmp = NULL; for (i = 0; i a[j]) ... 阅读全文
摘要:
1、二分法的查找 一般而言,二分法是在数组当中,且数组的内部也是已经做好了从大到小或者从小到大的排序了,我们需要在这些排序中找到我们需要的数值。 int binart(int *a, int key, int n) { int left = 0, right = n - 1,mid = 0; mid = (left + right) / 2; wh... 阅读全文