摘要: 一:led内核驱动 (1)在编写led内核驱动时,我们首先要进行内核裁剪,因为友善之臂将LED灯的驱动默认加载到内核中,所以编写模块驱动程序前就要先把原先的LED灯驱动裁剪掉; led驱动在源码里面的Device Drivers /Character devices目录下,进行完裁剪之后重新... 阅读全文
posted @ 2015-09-12 13:56 zhangwju 阅读(1133) 评论(0) 推荐(0) 编辑
摘要: 一:linux内核裁剪: 1:编译内核源码: 今天的重点内容是内核驱动的编写,在编写驱动之前首先的了解linux内核源码,linux主要是由五个子系统组成:进程调度,内存管理,文件系统,网络接口以及进程间通信;下面是解压的linux内核源码文件: 下面对linux内核里面的文件进行简单的说明: ar 阅读全文
posted @ 2015-09-12 11:27 zhangwju 阅读(3407) 评论(0) 推荐(1) 编辑
摘要: 一:进程的堆栈 内核在创建进程的时候,在创建task_struct的同时会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存 在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存... 阅读全文
posted @ 2015-09-12 10:18 zhangwju 阅读(5679) 评论(0) 推荐(0) 编辑
摘要: 今天对之前学习过的链表知识进行简单的总结顺便写点代码;创建一个链表有头插法跟尾插法两种,在下面代码中我们为结点分配的内存实在堆上分配的,因此需要我们手动释放,释放用free()函数 下面代码贴出具体代码: 1 #include 2 #include 3 4 struct person { ... 阅读全文
posted @ 2015-09-05 17:18 zhangwju 阅读(2045) 评论(0) 推荐(0) 编辑
摘要: 一:选择排序和冒泡排序 这两种排序比较简单,直接贴出代码: 1 #include 2 3 void choose_sort(int *arr, int n); 4 void bubble_sort(int *arr, int n); 5 void show(int *arr, int ... 阅读全文
posted @ 2015-09-05 12:05 zhangwju 阅读(2606) 评论(0) 推荐(1) 编辑
摘要: 一:外部中断 在之前我们学习按键驱动的时候,我们检测按键有没有按下是通过轮循的方式(也就是我们说的死循环),这样虽然可以检测实现按键,但太浪费系统资源了,不论我们按键中断有没有发生,cpu都要一直进行检测;这样操作系统就不能做其他事情了,因此这样肯定是不可取得,因此我们可以通过外部中断解决... 阅读全文
posted @ 2015-09-04 13:04 zhangwju 阅读(1503) 评论(0) 推荐(0) 编辑
摘要: 一:看门狗(WDT watch dog timer) 看门狗其实是一个计数器,它的作用就是防止程序陷入死循环或者程序运行跑飞;看门狗是一个硬件,它的工作原理是,初始化给他一个值,它会过一段时间减一,直到这个数减为0,它将会产生一个中断信号或者reset信号,致使我们系统复位,而又时候我们不想让... 阅读全文
posted @ 2015-09-04 11:49 zhangwju 阅读(1317) 评论(0) 推荐(0) 编辑
摘要: 通过几天裸板驱动开发,今天对ARM的中断做一些简单总结,前面我们已经了解了ARM的7种异常模式,中断是异常模式的一种,在ARM中异常事件发生将会触发中断,但是,所有的中断都不能直接访问cpu,而是都统一由GIC(中断管理器)来管理;下面是samsung提供的模式图:其中GIC管理的中断有分为: ... 阅读全文
posted @ 2015-09-02 13:40 zhangwju 阅读(870) 评论(0) 推荐(0) 编辑
摘要: ARM体系的CPU有以下7种工作模式: 1、用户模式(Usr):用于正常执行程序; 2、快速中断模式(FIQ):用于高速数据传输; 3、外部中断模式(IRQ):用于通常的中断处理; 4、管理模式(svc):操作系统使用的保护模式; 5、数据访问终止模式(abt):当数据或指令... 阅读全文
posted @ 2015-09-01 13:56 zhangwju 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 一:按键驱动 按键驱动跟之前的LED,蜂鸣器的方法类似;通过底板,核心板我们可以看到按键的电路图: 通过电路图我们可以看出,当按键按下去为低电平,松开为高电平;所以我们要检测XEINT26的状态,通过芯片手册找到GPX3_2的说明;有芯片手册可知:GPX3CON为0为检测,GPAC3DAT为... 阅读全文
posted @ 2015-08-30 14:37 zhangwju 阅读(990) 评论(0) 推荐(0) 编辑