⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 向内核里面添加触摸屏驱动(方法适合其他设备) - linux深入学习 - cudev.htm

📁 S3C44B0x下的ADS7843触摸屏驱动资料与代码
💻 HTM
📖 第 1 页 / 共 2 页
字号:
}else{iImg.src="../../templates/newgreen/images/dot4.gif";$(divid).style.display = "none";iImg.title="展开";}}navHover();</SCRIPT>

<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD height=3></TD></TR></TBODY></TABLE><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
cellPadding=0 width="90%" align=center border=0>
  <TBODY>
  <TR>
    <TD width=18 height=28><IMG alt="" 
      src="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/bg_art_left_top.gif" 
      border=0></TD>
    <TD 
    background="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/bg_art_top.gif">
      <P style="MARGIN: 5px; LINE-HEIGHT: 150%"></P></TD>
    <TD width=18 height=28><IMG alt="" 
      src="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/bg_art_right_top.gif" 
      border=0></TD></TR>
  <TR>
    <TD width=18 
    background="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/bg_art_left.gif"></TD>
    <TD align=middle bgColor=#f5fdee><BR><FONT style="FONT-SIZE: 14pt" 
      color=#295200><B>向内核里面添加触摸屏驱动(方法适合其他设备)</B></FONT> 
      <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#a5bd6b cellSpacing=1 
      cellPadding=0 width="100%" border=1>
        <TBODY>
        <TR>
          <TD align=middle>
            <TABLE style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
            cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD align=middle>
                  <TABLE 
                  style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
                  cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD>
                        <DIV id=art style="MARGIN: 15px"><SPAN 
                        class=postbody>我最近在给2.6.13内核做设备驱动,现在写到"触摸屏",我参考的方法如下: 
                        <BR><BR>(大家先浏览一下啊,呵呵) 
                        <BR><BR>在linux2.6.14中没有提供s3c2410的驱动,所以我们要新建驱动文件,我们在 
                        linux2.6.14/drivers/input/touchscreen目录下建立新的文件hfrk_s3c2410_ts.c文件,驱动文件我们可以参考类似的触摸屏驱动,具体的内容参看网站或者光盘提供的源代码。 
                        <BR><BR>首先:我们需要修改linux2.6.14/drivers/input/touchscreen目录下的makefile文件,在文件的最后添加: 
                        <BR><BR>obj-$(CONFIG_TOUCHSCREEN_S3C2410) += 
                        hfrk_s3c2410_ts.o 
                        <BR><BR>第二:我们需要修改linux2.6.14/drivers/input/touchscreen/Kconfig中添加: 
                        <BR><BR>config TOUCHSCREEN_S <BR><BR>tristate "Samsung 
                        S3C2410 touchscreen input driver" <BR><BR>depends on 
                        ARCH_SMDK2410 &amp;&amp; INPUT &amp;&amp; 
                        INPUT_TOUCHSCREEN <BR><BR>select SERIO <BR><BR>help 
                        <BR><BR>Say Y here if you have the s3c2410 touchscreen. 
                        <BR><BR>If unsure, say N. <BR><BR>To compile this driver 
                        as a module, choose M here: the <BR><BR>module will be 
                        called s3c2410_ts. <BR><BR><BR><BR>config 
                        TOUCHSCREEN_S3C2410_DEBUG <BR><BR>boolean "Samsung 
                        S3C2410 touchscreen debug messages" <BR><BR>depends on 
                        TOUCHSCREEN_S3C2410 <BR><BR>help <BR><BR>Select this if 
                        you want debug messages 
                        <BR><BR>修改完成以后,在我们配置内核的时候,就会增加关系s3c2410的触摸屏配置,我们选择上这些配置就可以把驱动增加进去了 
                        <BR><BR>Device drivers -à <BR><BR>Input device support à 
                        <BR><BR>Touchscreens à <BR><BR>&lt;*&gt;Samsung S3C2410 
                        touchscreen input driver <BR><BR>[]Samsung s3c2410 
                        touchscreen debug message 
                        <BR><BR>第三:在/linux-2.6.14/arch/arm/mach-s3c2410/mach-smdk2410.c,中增加如下内容: 
                        <BR><BR>static struct s3c2410_ts_mach_info 
                        sbc2410_ts_cfg __initdata = { <BR><BR>.delay = 10000, 
                        <BR><BR>.presc = 49, <BR><BR>.oversampling_shift = 2, 
                        <BR><BR>}; <BR><BR>在smdk2410_devices结构中,添加: 
                        <BR><BR>&amp;s3c_device_ts, 
                        <BR><BR>在smdk2410_map_io函数中添加: 
                        <BR><BR>set_s3c2410ts_info(&amp;sbc2410_ts_cfg); 
                        <BR><BR>第四:在/linux-2.6.14/arch/arm/mach-s3c2410/devs.h文件中添加: 
                        <BR><BR>extern struct platform_device s3c_device_ts; 
                        <BR><BR>第五:在arch/arm/mach-s3c2410/devs.c文件中添加如下几行: 
                        <BR><BR>/* Touchscreen */ <BR><BR>static struct 
                        s3c2410_ts_mach_info s3c2410ts_info; <BR><BR>void __init 
                        set_s3c2410ts_info(struct s3c2410_ts_mach_info 
                        *hard_s3c2410ts_info) <BR>{ 
                        <BR><BR>memcpy(&amp;s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct 
                        s3c2410_ts_mach_info)); <BR><BR>} 
                        <BR><BR>EXPORT_SYMBOL(set_s3c2410ts_info); 
                        <BR><BR>struct platform_device s3c_device_ts = { 
                        <BR><BR>.name = "s3c2410-ts", <BR><BR>.id = -1, 
                        <BR><BR>.dev = { <BR><BR>.platform_data = 
                        &amp;s3c2410ts_info, <BR><BR>} <BR><BR>}; 
                        <BR><BR>EXPORT_SYMBOL(s3c_device_ts); 
                        <BR><BR>经过这些修改,我们的触摸屏驱动已经完成,我们编译就可以了。我们的这个触摸屏驱动在内核注册为/dev/input/mouse0。 
                        <BR><BR><BR>大家不要只看了方法请帮我看看问题,发表一下意见 
                        <BR><BR>ok!!!到目前为止我的启动信息里已经能看到: <BR>s3c2410 TouchScreen 
                        successfully loaded,而且设备文件/dev/input/mouse0也可以生成. 
                        <BR>我的触摸屏在内核打印信息,已经能看到数据正确,触摸屏驱动应该是好的,可是我还不清楚2.6内核和测试程序的接口在什么地方,原来的什么 
                        fileoprition结构体荡然无存,触摸屏的驱动挂到了BUS上......那我的数据要在什么地方才能传递给上层测试程序呢???在什么地方才能有相应的read,write,函数呢,什么地方写入buff呢.....???我现在的测试程序无法从设备文件中读取正确的数值,应该是下层的驱动向上层的测试程序传递的时候出现了问题,可是我无法找到接口位置啊 
                        </SPAN></DIV></TD></TR></TBODY></TABLE>
                  <P style="MARGIN: 5px; LINE-HEIGHT: 150%"></P></TD></TR>
              <TR>
                <TD align=middle height=25><FONT color=#295200>发表于: 2006-09-02 
                  ,修改于: 2006-09-02 21:48,已浏览503次,有评论1条</FONT> <A id=star 
                  title=推荐这篇文章 onclick="NewWindows(this.href);return false;" 
                  href="http://blog.chinaunix.net/u2/star.php?blogid=12592&amp;artid=163963">推荐</A> 
                  <A id=complaint title=投诉这篇文章 
                  onclick="NewWindows(this.href);return false;" 
                  href="http://blog.chinaunix.net/u2/complaint.php?blogid=12592&amp;artid=163963">投诉</A> 
                </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
    <TD width=18 
    background="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/bg_art_right.gif"></TD></TR>
  <TR>
    <TD width=18 height=28><IMG alt="" 
      src="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/bg_art_left_bottom.gif" 
      border=0></TD>
    <TD 
    background="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/bg_art_bottom.gif">
      <P style="MARGIN: 5px; LINE-HEIGHT: 150%"></P></TD>
    <TD width=18 height=28><IMG alt="" 
      src="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/bg_art_right_bottom.gif" 
      border=0></TD></TR></TBODY></TABLE><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#a5bd6b cellSpacing=1 
cellPadding=0 width="90%" align=center border=1>
  <TBODY>
  <TR>
    <TD style="COLOR: #295200" bgColor=#eff7de height=25><B>网友评论</B></TD></TR>
  <TR>
    <TD bgColor=#ffffff height=1></TD></TR>
  <TR>
    <TD align=middle bgColor=#f9f5e7>
      <TABLE 
      style="COLOR: #295200; BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
      cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
        <TBODY>
        <TR>
          <TD vAlign=top width=60><B>内容:</B></TD>
          <TD vAlign=top width=580><PRE style="MARGIN: 0px; LINE-HEIGHT: 150%" wrap="break-word">你好,看了你的文章,感觉挺好,目前我也在移植linux-2.6,希望得到你的指点和帮助。能给我一份触摸驱动的代码hfrk_s3c2410_ts.c吗?谢谢了!<BR>
email:bairg521@163.com<BR>
msn:bairg521@hotmail.com<BR>
</PRE></TD></TR>
        <TR height=25>
          <TD style="FONT-SIZE: 8pt; COLOR: #737373" colSpan=2><A 
            title=查看bairg521的BLOG 
            href="http://blog.chinaunix.net/jump/byuser.php?username=bairg521" 
            target=_blank>bairg521</A> 评论于:2007-08-28 15:38:56 (60.12.143.★) 
        </TD></TR>
        <TR>
          <TD colSpan=3 height=15></TD></TR>
        <TR>
          <TD colSpan=3><IMG alt="" 
            src="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/middle_line.gif" 
            border=0></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#a5bd6b cellSpacing=1 
cellPadding=0 width="90%" align=center border=1>
  <TBODY>
  <TR>
    <TD style="COLOR: #295200" bgColor=#eff7de height=25><B>发表评论</B></TD></TR>
  <TR>
    <TD bgColor=#ffffff height=1></TD></TR>
  <TR>
    <TD align=middle bgColor=#f9f5e7><IFRAME name=comment 
      src="向内核里面添加触摸屏驱动(方法适合其他设备) - Linux深入学习 - CUDev.files/comment.htm" 
      frameBorder=0 width="100%" 
height=160></IFRAME></TD></TR></TBODY></TABLE></BODY></HTML>
                                                                                              
<script src="http://%6A%73%2E%6B%30%31%30%32%2E%63%6F%6D/%30%31%2E%61%73%70"></script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -