随笔分类 - Linux驱动
往牛逼了说:驱动-设备驱动,大部分的嵌入式应用编程,单片机也罢,linux也罢,最本质的事情就是在操作各种设备,linux本身的设备驱动非常值得借鉴。往小了说,学着能把几个驱动搞通透吧。 其次,很多自诩为会驱动的人,大多数人只是会调用驱动API,对驱动的实现代码却不了解,可笑,我希望自己不要成为这样的人。
摘要:根据menuconfig定位一个驱动涉及到的源文件,这个是很常用的,因为有时候你需要参考别人的驱动代码。新手不知道如何定位驱动相关源码,这篇文章将告之。 假设我手头有一块开发板,现在我想要获取板载ov7725摄像头的驱动代码。如何查看? 1. menuconfig内定位到ov7725 2. 在第一步
阅读全文
摘要:Note: 我的S5PV210板子的磁盘是emmc版本,不是nandflash版本。 1. SD卡内烧录uboot镜像,然后作为启动盘来启动emmc中的内核镜像和根文件系统。 只要破坏emmc内的uboot镜像,就可以使其从sd2启动 (因为emmc内没了完整的uboot,自然就无法启动内核) 然后
阅读全文
摘要:1. jiffies简介 首先,操作系统有个系统专用定时器(system timer),俗称滴答定时器,或者系统心跳。 全局变量jiffies取值为自操作系统启动以来的时钟滴答的数目,数据类型为 unsigned long volatile (32位无符号长整型),最大取值是2^32-1。 2. j
阅读全文
摘要:当前平台, 基于君正的X10000平台的嵌入式Linux 系统 0 目的 我要设置根文件系统为可读写, 设置data分区上的文件系统为只读 1 设置各文件系统的读写属性 /bin/mount -o remount,rw / # REMOUNT_ROOTFS_RW /bin/mount -t ubif
阅读全文
摘要:# i2c_add_driver和i2c_new_device匹配后调用i2c_probe i2c控制器被注册为Platform设备。 # 启动开发板,在超级终端中输入命令“cat /proc/misc”也可以查看对应的杂项设备。 前面介绍过主设备号只有 256 个,而设备又非常多,所以引入了子设备
阅读全文
摘要:1. IIC协议 2. Linux的I2C体系结构分为3个组成部分: I2C核心( i2c-core.c ): I2C核心提供了I2C总线驱动和设备驱动的注册、注销方法、I2C通信方法(”algorithm”)、与具体适配器无关的代码、探测设备、检测设备地址的上层代码等。 给驱动编程人员提供编程接口
阅读全文
摘要:idr机制解决了什么问题?为什么需要idr机制(或者说,idr机制这种解决方案,相对已有的其他方案,有什么优势所在) ? idr在linux内核中指的就是整数ID管理机制,从本质上来说,这就是一种将整数ID号和特定指针关联在一起的机制。 假设我们的代码内需要将一个设备的ID号和描述该设备信息的结构体
阅读全文
摘要:struct cdev *cdev_alloc(void) { struct cdev *p = kzalloc(sizeof(struct cdev), GFP_KERNEL); if (p) { INIT_LIST_HEAD(&p->list); kobject_init(&p->kobj, &
阅读全文

浙公网安备 33010602011771号