- 博客(23)
- 收藏
- 关注
原创 INPUT SYSTEM
<br />1.输入子系统<br />2.经过测试发现,好像触发的都是ADC的内容,而不是DOWN TC的问题,触发ADC的中断,进入timer处理函数<br />stylus_action,触发,。<br />觉得比较奇怪,<br />IRQ_TC, stylus_updown, IRQF_SAMPLE_RANDOM TC中断没有触发<br /> <br />很奇怪。很奇怪。。。继续测试中<br />3.现在想的是,做一个类似IPHONE的处理,也就是滑动窗口类型的函数,从某一个坐标滑动到另一个坐标
2011-03-07 23:03:00 325
原创 触摸屏
<br />昨天晚上终于把驱动搞定了。这次详细说一下。<br />其实要想驱动在内核跑起来,好像需要两个部分。<br />一、驱动代码支持<br />二、初始化部分<br />下面分开来讲:<br />一、驱动代码支持。<br />1.相关文件<br />原光盘内核里的<br />include/asm-arm/arch-s3c2410/regs-adc.h<br />复制到新内核:arch/arm/plat-s3c/include/plat<br />注:2.6.28内核中头文件不再全部放在一个inclu
2011-03-01 21:07:00 464
原创 LCD的需求分析
<br />1.最终的目的是想实现IPHONE那种滑动的窗口<br />2.最近对CHAR设备有了比较多的了解,知道了char设备的创建的流程,自己写了LED的驱动,尝试操作LED设备<br />3.接着就是继续学习驱动的理论知识,多实践,学到什么就实践,多思考为什么,和内核的联系是什么,在内核的实现的原理是什么??<br />4.给自己定一个实践的目标,如LCD的驱动等,USB的驱动,无线网卡的支持<br />5.自己可以设计一些小程序做实验
2011-02-19 09:59:00 399
原创 理论的学习。LDD3的学习
<br />转:今天进入《Linux设备驱动程序(第3版)》第三章字符设备驱动程序的学习。<br />这一章主要通过介绍字符设备scull(Simple Character Utility for Loading Localities,区域装载的简单字符工具)的驱动程序编写,来学习Linux设备驱动的基本知识。scull可以为真正的设备驱动程序提供样板。<br /><br />一、主设备号和此设备号<br />主设备号表示设备对应的驱动程序;次设备号由内核使用,用于正确确定设备文件所指的设备。<br />内
2011-01-26 22:54:00 395
原创 写APP
1.继续完善自己的驱动程序,将CDEV要成为全局变量,因为生成的CDEV是需要删除的CHARchar驱动的大致的框架已经理解了,开始调用函数register_chrdev_region注册一些驱动范围,然后生成一个cdev结构,填写好read啊,write等一系列操作函数,然后再注销这些东东2.调用read函数 sizeRead = read(fd,(void *)readBuf , 4); if(sizeRead { perror("can not read led/n")
2011-01-26 22:33:00 466
原创 驱动终于跑起来了,做实验
<br />1.写APP,测试驱动的READ功能<br />2.驱动进一步研究<br />3.重新编写LED的代码,自己搭建驱动结构<br />字符设备 register_chrdev_region()、alloc_chrdev_region() 和 register_c... <br />内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下:<br /> static struct char_d
2011-01-24 21:21:00 340
原创 学习的东西
<br />硬件平台:mini2440(友善之臂的开发板)<br />开发环境:在VMware下安装的redhat Linux 9.0.<br />实验目的:点亮一个led灯,亮灭亮灭的变化,间隔为1s<br />1:led 的驱动 my_leds.c<br />#include <linux/config.h> //内核配置<br />#include <linux/module.h> //模块加载<br />#include <linux/kernel.h> //内核<br />#include
2011-01-19 23:03:00 278
原创 在FILE_OP中添加新的操作
1.添加read操作,读取GPIO的状态static ssize_t led_read(struct file *filp,char __user *buf, size_t size,loff_t *ppos){ char pinStat[4]; unsigned long err; int i = 0; for(i = 0 ; i { pinStat[i] = s3c2410_gpio_getpin(led_table[i]); } err = co
2011-01-18 23:09:00 451
原创 现在可以使用LED的驱动了
1.去掉了LED驱动的内核加载到开发板中,去掉LED,重新编译,然后看效果2.现在还是不行,还是有问题,FS又要重新写入,每次重新编译内核,就要重新写FS,要不就会报错
2011-01-17 22:38:00 313
原创 重新编译内核,去掉LED
<br />1.用指令cp config_mini2440_t35 .config ,将配置文件放到合适的地方,再重新编译<br />2.不能去掉LED驱动,会导致系统错误,不知道怎么回事,nable to open an initial console<br />现在重新解压内核,重新编译试试,还有可以是BOOTLOADER出现了问题
2011-01-13 23:07:00 249
原创 测试内核(补周三的)
<br />1.今天没多少时间能学习,加班去了,现在就测试下,将新的内核烧写到flash里面试试。。<br />2.不能用,编译出的内核有问题
2011-01-13 21:30:00 243
原创 继续学习驱动
<br />1.将内核中的LED驱动去掉了,现在想将内核下载到开发板中,然后尝试着看看LED驱动是不是真正的去掉了,然后讲LED的驱动写入
2011-01-11 23:34:00 236
原创 编译LED驱动,在device上测试
<br />1.编译LED驱动<br />在虚拟机上编译驱动,编译的位置,MAKEFILE如何写,编译出来的文件在开发板上如何加载,如何测试??<br /> <br />进入到linux kernel的目录,找到driver的目录,里面的char驱动中就有LED驱动,应该讲系统的LED驱动去掉,才能加载自己的LED驱动<br />,现在进入到内核的目录,用make menuconfig,去掉LED驱动,用make zImage编译,在目录arh/ARM/BOOT目录下有生成ZIMAGE
2011-01-10 23:17:00 340
原创 linux驱动学习
<br />1.在dev目录下用LS -L查看字符设备,输出第一列为C的的标识的设备,其中有主设备号,和次设备号<br />设备文件对应设备驱动,LINUX将每个设备映射成为一个文件,如果访问文件,那么对应的访问就是相应的IO驱动程序,文件和驱动主要是通过主设备号联系起来的,次设备号就是反应了具体是那个设备<br />内核中 dev_t 描述设备号的结构体中,高12位主设备号,低20位是次设备号<br /> <br />linux如果分配主设备号?<br />静态申请和动态申请<br /> int regi
2011-01-07 23:00:00 249
原创 迷宫问题
<br />1.对于迷宫问题很好奇,想用递归的方式解决,但是不知道思路是什么,一直对于递归没有什么想法,想用最简洁的方法解决迷宫找路的问题,本来写了一个算法,是比较简单,但是在一些情况下会出错,但是看网上很多人写的太复杂了,没太大的参考的价值<br /> <br />现在在网上看到了一个算法,希望能成功<br /><br />// maze.cpp : Defines the entry point for the console application.<br />//<br /> <br />#incl
2011-01-06 22:56:00 259
原创 目标执行的第一天
<br />1.分析S3C2440的LED控制<br /> <br />看CPU的芯片中LED有四个PIN控制的,GPB5-GPB8,2440有九组GPIO,要写驱动<br /> <br />GPBA....GPBJ ,有三个寄存器来控制这GPBCON, GPBDAT, GPBUP<br /> <br /><br />Register Address R/W Description Reset Value<br />GPBCON 0x56000010 R/W Configures the pins of p
2011-01-05 22:53:00 335
原创 新的一年,一定要坚持每天都学点linux开发
<br />目标,每天学习两个小时linux开发,找寻兴趣点,可以从LED驱动开始做起,第一个项目LED跑马灯<br />明天开始写学习心得
2011-01-04 22:41:00 371
原创 项目计划目标
<br />1.暂时定项目为linux +USB的项目,具体做什么,还没想清楚<br />一周内研究出USB的驱动的架构,能调试USB
2010-12-14 22:31:00 283
原创 VBOOT
<br />系统首先是从head.S文件开始,ARM是从0X00000000地址开始的,可以看系统文件MEM.LDS发现<br /> <br />SECTIONS { <br /> . = 000000;<br /> .myhead ALIGN(0): {*(.text.FirstSector)}<br /> .text ALIGN(512): { *(.text) }<br /> .bss ALIGN(4) : { *(.bss*) *(COMMON) }<br /> .data ALIGN
2010-12-14 22:20:00 868
原创 没有无线网络设备时如何共享无线网络(Internet)连接
http://blog.csdn.net/erway/archive/2008/02/11/2088519.aspx http://www.360doc.com/content/09/0304/11/108458_2706190.shtml
2010-04-20 12:10:00 440
原创 最近在研究small RTOS源代码
现在在学习C51的平台,对于RTOS的源码在研究中,C51真是麻雀虽小五脏俱全的啊,竟然可以完成操作系统的调度的任务,堆栈的分配,现在对于函数的一些操作还是不太理解,希望牛人能指导一下。
2009-12-23 22:36:00 361
原创 程序设计,基础非常重要
工作了两年了,现在对于C有了比较深入的了解,现在才发现,基础真的很重要,以前学习的都是些华丽而没多少用处的东西,这段时间看最简单的RTOS的代码,才了解到,以前老师总是强调的数据结构加上算法的概念,内核就是由数据结构和对这些数据结构的调度组成的,因此,还需要进一步的学习C和汇编。。培养的兴趣,厚积而薄发!
2009-12-16 22:12:00 322
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人