2014年11月27日

linux系统下标准GPIO按键驱动

摘要: 前言: linux下platform平台驱动是为了方便隔离bsp与driver,利于移植。体现好代码的高内聚,低耦合。Linux设备驱动模型中,关心总线,设备和驱动三个实体。总线将设备和驱动绑定。在系统每注册一个设备的时候,都会寻找与之相匹配的驱动,相反的,每加载一个驱动的时候,也会寻找与之匹配的... 阅读全文

posted @ 2014-11-27 23:49 tiger_chen 阅读(15855) 评论(0) 推荐(1)

2014年11月26日

LINUX设备驱动开发详解----第一篇随笔

摘要: 1,软件的设计宗旨呢,是高内聚,低耦合。其意思是一个驱动程序里面,尽量是自己把事情都干完,别跟其他模块或驱动牵扯太多。不然出问题的时候,就不好排查,当然这样也利于移植,只要搞清楚了驱动程序里面的代码,那换个平台,也变得轻松。2,驱动是沟通硬件和应用的桥梁。无操作系统下的驱动一般是由一个h文件和c文件... 阅读全文

posted @ 2014-11-26 14:58 tiger_chen 阅读(2396) 评论(0) 推荐(0)

2014年11月12日

linux下sd卡的操作(fdisk)

摘要: 当你拿到一张sd卡,需要在linux环境下格式化、分区,修改参数的时候,请看过来。ubuntu虚拟机环境下1,插入,用力点,因为有可能接触不良,导致电脑不识别。2,cat /proc/partions 或者fdisk -l (有些可能需要进入获得管理员权限,deei~命令前+sudo就行) 比如:... 阅读全文

posted @ 2014-11-12 00:01 tiger_chen 阅读(11956) 评论(0) 推荐(0)

2014年11月5日

IMX6 uboot的启动流程

摘要: 网上看了后,做了个记录,主要是一个流程,具体代码没有分析,有空再细看。cpu在上电之后,它们会干些什么?答:检查电压大小,确定启动模式等。简单的检查之后呢?答:一般从固化在cpu内部的rom里面执行一小段code。这一小段code具体做了些什么呢?各个cpu厂商会不同,具体我也不知道。但是我们应该知... 阅读全文

posted @ 2014-11-05 21:56 tiger_chen 阅读(13406) 评论(0) 推荐(0)

2014年10月22日

linux BSP中添加新驱动

摘要: 开发工作中,经常需要添加一些新的驱动,但是有时候不想自己写Makefile,或者是驱动需要编译到内核里,那我们该如何才能把驱动加到BSP里面,只需按照原来的编译步骤就能得到想要的ko文件,或者直接编译到uImage呢?一个新驱动添加大概需要以下三个步骤:一,编写你的驱动文件,就是new_driver... 阅读全文

posted @ 2014-10-22 09:23 tiger_chen 阅读(2322) 评论(0) 推荐(0)

2014年10月14日

IMX6 GPIO的定义

摘要: 比如定义PAD_GPIO_19作为一个GPIO_4_5使用:#defineMX6Q_PAD_GPIO_19__GPIO_4_5(_MX6Q_PAD_GPIO_19__GPIO_4_5|MUX_PAD_CTRL(NO_PAD_CTRL))看上面的宏:_MX6Q_PAD_GPIO_19__GPIO_4_... 阅读全文

posted @ 2014-10-14 00:47 tiger_chen 阅读(5701) 评论(0) 推荐(0)

git制作patch的步骤

摘要: 一,修改已有文件的方法 ~/workprojectcd ~/workprojectgit initgit add *git commit -a -m 'init'/*比如vi test.c 修改test.c文件完成后进入下一步*/git diff > test.patch这样就可以得到一个a文件的p... 阅读全文

posted @ 2014-10-14 00:25 tiger_chen 阅读(7079) 评论(0) 推荐(0)

2014年9月16日

sleep函数的BUG

摘要: BUGSsleep() may be implemented using SIGALRM; mixing calls to alarm() and sleep() is a bad idea.线程里面使用sleep函数来延时/定时是不安全的,原因是:sleep会受到SIGALARM信号的影响,如果在... 阅读全文

posted @ 2014-09-16 15:13 tiger_chen 阅读(1225) 评论(1) 推荐(0)

多线程的三种同步机制

摘要: 1,互斥锁; 这个感觉只是保护了资源不会被同时使用,至于同步???还没怎么理解。 基本函数: 通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。 int pthread_mutex_init(pthread_mutex_t *mutex,const pthread... 阅读全文

posted @ 2014-09-16 10:22 tiger_chen 阅读(1192) 评论(0) 推荐(0)

屏蔽某些信号对线程的影响

摘要: 1,基本的概率和函数; #include sigset_t:信号集及信号集操作函数:信号集被定义为一种数据类型。 typedef struct { unsigned long sig[_NSIG_WORDS]; } sigset_t sigemptyset(sigset_t *set... 阅读全文

posted @ 2014-09-16 09:16 tiger_chen 阅读(712) 评论(0) 推荐(0)

导航