03 2017 档案
摘要:1:在linux2.6板本内核开发人员开始建立驱动框架,以led驱动为例: 没有驱动框架的时候我们需要做一下事情: module_init: 1:alloc_chrdev_region 注册字符驱动 2:cdev_alloc、cdev_init、cdev_add来向内核中添加驱动; 3:class_
阅读全文
摘要:恢复内容开始 1: 首先回顾一下之前的学习内容: 1:register_chrdev来注册字符设备驱动,用这种方法的好处是简单,只需要一个函数就可以注册字符设备驱动了,缺点是无法设置次设备号; 2:register_chrdev_region/allco_chrdev_region、cdev_XXX
阅读全文
摘要:1:我们在linux内核中都是开启mmu的所以都是用的虚拟地址,需要建立VA到PA的映射表; 我们内核中映射表在arch/arm/mach-s5pv210/mach-smdkc110.c文件中 建立映射的函数是,smdkc110_map_io建立映射表 smdkc110_map_io 这个函数调用s
阅读全文
摘要:恢复内容开始 1:我们之前的设备文件都是使用mknod命令来手动添加的,下面我们要解决一下设备文件的自动添加问题: 设备文件的自动添加需要udev,busybox中的mdev是简化版的udev; https://yq.aliyun.com/articles/10546 http://blog.chi
阅读全文
摘要:1:上一章我们使用了register_chrdev这个函数来向内核注册字符设备 static inline int register_chrdev(unsigned int major, const char *name, const struct file_operations *fops) 这个
阅读全文
摘要:1:驱动开发环境 要进行linux驱动开发我们首先要有linux内核的源码树,并且这个linux内核的源码树要和开发板中的内核源码树要一直; 比如说我们开发板中用的是linux kernel内核版本为2.6.35.7,在我们ubuntu虚拟机上必须要有同样版本的源码树, 我们再编译好驱动的的时候,使
阅读全文
摘要:恢复内容开始-- http://blog.csdn.net/zn2857/article/details/52832778- 1:busybox就是linuxrc文件,首先下载busybox源码 各个版本busybox的下载地址,下载版本为busybox-1.22.1.tar.bz2 http://
阅读全文
摘要:1:以s5pv210为例: irom-->uboot-->linux内核-->根文件系统 irom是为了启动uboot而uboot是为了启动linux内核;只有linux内核开发板时不能工作的,需要配合根文件系统来工作; 首先根文件系统为flash设备提供了一个挂载点/,在根文件下统下/目录下需要一
阅读全文

浙公网安备 33010602011771号