梦想天地

导航

#

[置顶] LCD底层驱动分析

摘要: 根据分析的框架,自己写一个LCD驱动程序 1分析LCD硬件原理图 Von和Voff接的是一个电源电路,通过LCD_POWER接的是GPG4来控制LCD电源,高电平表示开启LCD电源VM接的是CPU的VM:VDEN /GPC4为数据使能信号,VLINE接的CPU:HSYNC/GPC2,HSYNC... 阅读全文

posted @ 2015-11-14 20:56 梦想天地 阅读(8093) 评论(0) 推荐(1) 编辑

2016年5月21日 #

__attribute__((packed))作用

摘要: 1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的 阅读全文

posted @ 2016-05-21 13:25 梦想天地 阅读(1218) 评论(0) 推荐(0) 编辑

2016年5月18日 #

算法

摘要: 83. Remove Duplicates from Sorted List Given a sorted linked list, delete all duplicates such that each element appear only once. For example,Given 1- 阅读全文

posted @ 2016-05-18 11:23 梦想天地 阅读(146) 评论(0) 推荐(0) 编辑

2016年4月11日 #

关于编译报错“dereferencing pointer to incomplete type...

摘要: 今天同事问了我一个问题,他make的时候报错,“第201行:dereferencing pointer to incomplete type”,我随即查阅了很多资料,也没看出个所以然。最后问题得到了解决,也懂得了原理,遂记录一下。 他的问题具体是这样。 ? 1 2 3 4 5 6 #include 阅读全文

posted @ 2016-04-11 21:31 梦想天地 阅读(23741) 评论(0) 推荐(1) 编辑

2016年3月28日 #

摄像头的驱动分析1

摘要: 分析linux-3.4.2内核的摄像头驱动程序,强烈推荐先学习内核自带的是vivi.c,这是一个虚拟摄像头,拿这个学习摄像头驱动程序比较好。 具体分析如下: 打开linux-3.4.2_patch.tar\linux-3.4.2\drivers\media\video\Vivi.c 先分析 stat 阅读全文

posted @ 2016-03-28 22:01 梦想天地 阅读(533) 评论(0) 推荐(0) 编辑

2016年3月3日 #

使用strace 工具跟踪系统调用和信号

摘要: 使用strace来执行程序,它会记录程序执行过程中调用,接收到的信号,通过查看记录结果,就可以知道程序打开哪些文件,进行哪些读写,映射哪些内存,向系统申请多少内存等信息 strace 移植 下载strace源码:strace-4.5.15.tar.bz2 解压:tar xjf strace-4.5. 阅读全文

posted @ 2016-03-03 11:17 梦想天地 阅读(288) 评论(0) 推荐(0) 编辑

关于启动ubuntu中的nfs启动问题

摘要: 嵌入式开发,如果使用nfs挂载来启动内核和文件系统,这样便于调试文件系统和驱动,则首先要保证ubuntu开启nfs服务, 执行以下命令安装nfs服务,安装后自动运行 sudo apt-get install nfs-kernel-server 配置其配置文件 sudo vi /etc/exports 阅读全文

posted @ 2016-03-03 09:45 梦想天地 阅读(7025) 评论(0) 推荐(0) 编辑

2015年11月25日 #

内核input子系统分析

摘要: 打开/driver/input/input.c 这就是input代码的核心 找到static int __init input_init(void){err = class_register(&input_class);注册一个类,注册后会在sys/class出现input目录.......err ... 阅读全文

posted @ 2015-11-25 11:43 梦想天地 阅读(420) 评论(0) 推荐(0) 编辑

2015年11月14日 #

LCD内核自带驱动分析

摘要: 分析内种LCD驱动程序框架 LCD在fbmem.c文件中1.找到init.函数 static int __initfbmem_init(void){ 做的工作: (1).if (register_chrdev(FB_MAJOR,"fb",&fb_fops))注册字符处理函数结构体,以及生成... 阅读全文

posted @ 2015-11-14 20:57 梦想天地 阅读(430) 评论(0) 推荐(0) 编辑