Loading

摘要: 我们通过RS232来做实验。 通过电平转换芯片, 连接至核心板: 即:GPA0_0 GPA0_1 配置引脚为串口专用模式: 然后看 ULCONn [31:0] 0x3 设置串口一帧传输数据的一帧对应的数据位为8倍,1位停止位,无奇偶校验位 UCONn [31:0] 0x5 选择串口收发的模式为pol 阅读全文
posted @ 2019-03-14 14:24 dinosaur- 阅读(752) 评论(0) 推荐(0) 编辑
摘要: I2C控制器的设备对象内核已经实现并关联到platform总线。 I2C控制器的驱动对象内核已经实现。 看mach-tiny4412.h /plat-samsung/目录下 /drivers/i2c/ 看 *.o 文件 看i2c-s3c2410.c 从下往上看。 .id_table 匹配成功后看 p 阅读全文
posted @ 2019-03-13 00:31 dinosaur- 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 插入USB摄像头后,我看到了识别出的一些信息,在内核源码中搜到了相关信息: 搜索之后,在uvc_driver.c 帮助文档:linux-3.5/Documentation/video4linux/v4l2-framework.txt 分析驱动程序最好的方法就是跟踪应用程序对他的调用过程。 开始分析 阅读全文
posted @ 2019-03-10 11:28 dinosaur- 阅读(562) 评论(0) 推荐(0) 编辑
摘要: linux-3.5/Documentation/driver-model/bus.txt 先写一个简单的例子,是为了给学习platform做准备。 dev.h 1 #include <linux/module.h> 2 #include <linux/init.h> 3 #include <linu 阅读全文
posted @ 2019-03-05 17:56 dinosaur- 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 注册字符驱动的一种老方法:注册一个字符设备的经典方法是使用:int register_chrdev(unsigned int major, const char *name, structfile_operations *fops);这里, major 的主编号, name 是驱动的名子(出现在 / 阅读全文
posted @ 2019-03-03 19:55 dinosaur- 阅读(353) 评论(0) 推荐(0) 编辑
摘要: linux-3.5/include/linux/list.h 使用只含指针域的双向循环链表进行链表的操作。 下面是我选取部分list.h中代码: 1 #ifndef _LINUX_LIST_H 2 #define _LINUX_LIST_H 3 4 struct list_head { 5 stru 阅读全文
posted @ 2019-03-03 15:23 dinosaur- 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 开发时不可或缺的需要就是查看源码或项目追踪,那么如何在linux下打造方便快捷的查看源码的工具呢?Jason习惯如下工具结合:vim + ctags + taglist + cscope ctags: sudo apt-get install ctags taglist1. taglist 的下载: 阅读全文
posted @ 2019-03-03 15:09 dinosaur- 阅读(342) 评论(0) 推荐(0) 编辑
摘要: Windows:把USB设备(U盘)连接到PC,会自动装一些驱动程序。 问1:为何能知道是什么设备? 答1:Windows里边已经有了USB的总线驱动程序,接入USB设备后,是 USB总线驱动程序负责识别USB设备,给USB设备找到对应的驱动程序。 问2:USB设备种类非常多,为什么一接入电脑,就能 阅读全文
posted @ 2019-01-25 08:55 dinosaur- 阅读(753) 评论(0) 推荐(0) 编辑
摘要: 触摸屏使用过程: 1、按下,产生中断 2、在中断处理程序中,启动ADC转换 3、ADC结束,产生ADC中断 4、在ADC中断处理函数里面,上报(input_event),启动定时器, 5、定时器时间到,再次回到2,可以处理长按、滑动。 6、松开。 为了省电,内核在启动时,把不是必要的模块不使能,在使 阅读全文
posted @ 2019-01-24 10:46 dinosaur- 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 内核自带的驱动LCD,drivers/video/Fbmem.c LCD驱动程序 假设app: open("/dev/fb0", ...) 主设备号: 29, 次设备号: 0 kernel: fb_open int fbidx = iminor(inode); struct fb_info *inf 阅读全文
posted @ 2019-01-20 13:20 dinosaur- 阅读(505) 评论(0) 推荐(0) 编辑