摘要: 90%的驱动模型都是按照下图开发的 下面来说下设备描述结构是什么东西 打开Linux-2.6.32.2的Source Insight 工程,搜索cdev 比如一个应用程序需要调用read和write这两个指令,然后内核里肯定也存在read和write,可能是xxx_read和xxx_write这样的 阅读全文
posted @ 2018-03-02 21:10 sanshijvshi 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 在Linux系统中,无论是内核程序还是应用程序,都只能使用虚拟地址,而芯片手册中给出的硬件寄存器地址或者RAM地址则是物理地址,无法直接使用,因此,我们读写寄存器的第1步就是将将它的物理地址映射为虚拟地址。 所以我们要用到静态映射和动态映射 ,用得比较多的是动态映射 所谓动态映射,是指在驱动程序中采 阅读全文
posted @ 2018-03-02 12:24 sanshijvshi 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 字符设备是一种按字节来访问的设备,最小访问单位是字节。 块设备最小访问单位是一个块,是512个字节。 网络接口可以是一个硬件设备,如网卡,但也可以是一个纯粹的软件设备,比如回环接口(lo) 驱动学习方法:驱动模型,硬件操作。 阅读全文
posted @ 2018-03-02 11:51 sanshijvshi 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 链表简介:链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。 Linux内核链表是双向循环链表创建和 阅读全文
posted @ 2018-02-26 20:51 sanshijvshi 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 内核管理子系统职能:1、管理虚拟地址与物理地址的映射 2、物理内存的分配 程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体。 进程:是一个执行中的程序,它是动态的实体 进程四要素: 1、有一段程序供其执行。这段程序不一定是某个进程所有,可以与其他进程公用。 2、有进程专用的内核空间 阅读全文
posted @ 2018-02-26 17:29 sanshijvshi 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 内核模块有三个部分:1、头文件(linux/init.h、linux/module.h) 2、加载函数(module_init) 3、卸载函数(module_exit) 一个基本的内核模块代码差不多就是这样: 阅读全文
posted @ 2018-02-25 22:34 sanshijvshi 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 嵌入式系统由三部分构成: 1、bootoader bootparameters 2、kernel 3、Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫root-filesysytem,bootloader引导程序和kernel内核程序之间有个引导参数(也叫启 阅读全文
posted @ 2018-02-24 23:14 sanshijvshi 阅读(1058) 评论(0) 推荐(0) 编辑
摘要: 其实在上一篇随笔之前,就是在启动linux 内核的时候,出了点问题 刚Starting kernel ...就出现了undefined instrction,这是什么问题呢? 在网上也搜了不少资料,有两篇很有启发 http://www.latelee.org/porting-uboot/u-boot 阅读全文
posted @ 2018-02-24 16:40 sanshijvshi 阅读(4969) 评论(0) 推荐(1) 编辑
摘要: 拿到一个嵌入式linux内核代码,首先make distclean 接下来,如果在x86平台,就直接make menuconfig,如果是在ARM平台,就直接make menuconfig ARCH=arm 拿我的mini2440来说,友善之臂给的资料目录linux目录下 这个文件夹在linux系统 阅读全文
posted @ 2018-02-24 12:42 sanshijvshi 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 拿到一块开发板,首先就要找到它的资料,当然了,开发板的厂商或者代理商会提供资料,资料里会有你需要的。 比如我的这块mini2440,在友善之臂代理商提供的资料里面,就有我们这篇所需要的 把这个文件夹下的这个这个文件通过samba拷贝到linux文件夹下 用tar xvzf bootloader.tg 阅读全文
posted @ 2018-02-23 14:36 sanshijvshi 阅读(767) 评论(0) 推荐(1) 编辑