摘要: 字符设备驱动编程模型 在Linux系统中,设备的类型非常繁多,如:字符设备,块设备,网络接口设备,USB设备,PCI设备,平台设备,混杂设备… ,而设备类型不同,也意味着其对应的驱动程序模型不同,这样就导致了我们需要对应的驱动程序模型不同,这样就导致了我们需要去掌握众多的驱动程序模型。那么能不能从这 阅读全文
posted @ 2016-03-31 18:26 for_learning 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 字符设备驱动学习 在Linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块。 一、编译安装字符设备驱动程序 memdev文件中:在这个文件里和真实的硬件无关,只是虚构了一个数组 该文件的Makefile文件中: 二、字符设备文件 阅读全文
posted @ 2016-03-31 15:21 for_learning 阅读(274) 评论(0) 推荐(0) 编辑
摘要: linux内核模块基础 一、定义 Linux 内核的整体结构非常庞大,其包含的组件也非常多,如何使用这些组件呢: 方法 1:把所有的组件都编译进内核文件,即:zImage 或 bzImage,但这样会导致一个问题:占用内存过多. 2.有一种机制能让内核文件本身并不包含某组件,而是在该组件需要被使用的 阅读全文
posted @ 2016-03-31 10:57 for_learning 阅读(471) 评论(0) 推荐(0) 编辑
摘要: c语言运算符号的优先级 本文来自百度搜索只为查看方便 优先级等级口诀: 圆方括号、箭头一句号, 自增自减非反负、针强地址长度, 乘除,加减,再移位, 小等大等、等等不等, 八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。 其中“,”号为一个等级分段。 优先级等级注释: “圆方括号、箭头一句号 阅读全文
posted @ 2016-03-27 18:46 for_learning 阅读(2409) 评论(0) 推荐(0) 编辑
摘要: 根文件系统挂载 根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式 Linux 应用中,主要的存储设备为 RAM 和 FLASH,常用的基于存储设备的文件系统类型包括:jffs2, yaffs2, ubifs, ramdisk 等。 一、使用Initramfs 1).进入 阅读全文
posted @ 2016-03-26 18:44 for_learning 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 根文件系统的制作 嵌入式系统包含多个文件系统但是第一个(根文件系统)是必须的。 一、创建目录 # mkdir rootfs # cd rootfs # mkdir bin dev etc lib proc sbin sys usr mnt tmp var # mkdir usr/bin usr/li 阅读全文
posted @ 2016-03-26 18:08 for_learning 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 文件系统(系统目录) 进入 Linux 根目录(即“/”, Linux 文件系统的入口, 也是处于最高一级的目录),运行“ls –l”命令,可以看到 Linux 系统包含以下目录。 1./bin 包含基本命令,如 ls、cp、mkdir 等,这个目录中的文件都是可执行的。 2./boot Linux 阅读全文
posted @ 2016-03-26 16:36 for_learning 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 内核配置与编译 一、内核清除 当我们拿到内核第一步需要做的就是先对内核进行清理,防止别人配置编译生成的中间文件对我们产生影响: 1.配置过程生成的 .config 2.编译生成 bzImage 中间文件(.o)和生成.ko 文件的中间文件(.o) make clean 清除.o 文件 make di 阅读全文
posted @ 2016-03-26 13:44 for_learning 阅读(687) 评论(0) 推荐(1) 编辑
摘要: ok6410移植u-boot 既然是移植u-boot当然首先需要u-boot源码,这里的u-boot代码是由国嵌提供的。 一、配置编译u-boot A. 解压 u-boot 压缩文件 B. 进入解压生成文件中 C. 执行 make distclean 和 make clean D. make for 阅读全文
posted @ 2016-03-25 22:14 for_learning 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 6410按键中断编程 一、流程分析 外部中断控制寄存器(s3c6410x 359页) 1、EINTxCONy: 外部中断组x的第y个控制器。这个就是设置中断的触发方式。有5种触发方式。 2、EINTxFLTCONy:外部中断组x的第y个滤波功能控制器。S3C6410对于外部中断有滤波功能,这个就是用 阅读全文
posted @ 2016-03-25 18:30 for_learning 阅读(716) 评论(0) 推荐(0) 编辑