亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 觸摸屏移植(成功)for2.6.rtf

?? 包含觸摸屏驅動源碼(for s3c2410)以及觸摸屏驅動,USB鍵盤鼠標移植詳細步驟,tslib觸摸屏校準程序的移植使用,包括錯誤解決方法.
?? RTF
?? 第 1 頁 / 共 2 頁
字號:
在 linux2.6.14 中沒有提供 s3c2410 的驅動,所以我們要新建驅動文件,我們在 linux2.6.14/drivers/input/touchscreen 目錄下建立新的文件 hfrk_s3c2410_ts.c 文件,驅動文件我們可以參考類似的觸摸屏驅動,具體的內容參看網站或者光盤提供的源代碼。 

   首先:我們需要修改 linux2.6.14/drivers/input/touchscreen 目錄下的 makefile 文件,在文件的最后 添加 : 

obj-$(CONFIG_TOUCHSCREEN_S3C2410) += hfrk_s3c2410_ts.o 

第二:我們需要修改 linux2.6.14/ drivers/input/touchscreen/Kconfig 中添加: 

     config TOUCHSCREEN_S 

     tristate "Samsung S3C2410 touchscreen input driver" 

     depends on ARCH_SMDK2410 && INPUT && INPUT_TOUCHSCREEN 

     select SERIO 

     help 

     Say Y here if you have the s3c2410 touchscreen. 

     If unsure, say N. 

     To compile this driver as a module, choose M here: the 

     module will be called s3c2410_ts. 

     

config TOUCHSCREEN_S3C2410_DEBUG 

     boolean "Samsung S3C2410 touchscreen debug messages" 

     depends on TOUCHSCREEN_S3C2410 

     help 

     Select this if you want debug messages 

修改完成以后,在我們配置內核的時候,就會增加關系s3c2410的觸摸屏配置,我們選擇上這些配置就可以把驅動增加進去了 

Device drivers - à 

          Input device support à 

                     Touchscreens à 

                      <*>Samsung S3C2410 touchscreen input driver 

                      []Samsung s3c2410 touchscreen debug message 

第三:在 /linux-2.6.14/arch/arm/mach-s3c2410/mach-smdk2410.c, 中增加如下內容: 

    static struct s3c2410_ts_mach_info sbc2410_ts_cfg __initdata = { 

     .delay = 10000, 

     .presc = 49, 

     .oversampling_shift = 2, 

     }; 

     在smdk2410_devices結構中,添加: 

     &s3c_device_ts, 

     在smdk2410_map_io函數中添加: 

     set_s3c2410ts_info(&sbc2410_ts_cfg); 

第四:在 /linux-2.6.14/ arch/arm/mach-s3c2410/devs.h 文件中添加: 

     extern struct platform_device s3c_device_ts; 

第五:在arch/arm/mach-s3c2410/devs.c文件中添加如下幾行: 

  /* Touchscreen */ 

    static struct s3c2410_ts_mach_info s3c2410ts_info; 

    void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
{ 

memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info)); 

} 

EXPORT_SYMBOL(set_s3c2410ts_info); 

struct platform_device s3c_device_ts = { 

.name = "s3c2410-ts", 

.id = -1, 

.dev = { 

.platform_data = &s3c2410ts_info, 

} 

}; 

EXPORT_SYMBOL(s3c_device_ts); 

經過這些修改,我們的觸摸屏驅動已經完成 , 我們編譯就可以了。我們的 這個觸摸屏驅動在內核注冊為 /dev/input/mouse0 十.創建設備文件 根據你的配置情況創建相應的設備文件例如: mknod -m 666 ts -c 13 128 等首先需要有調試好的2.6觸摸屏驅動,該驅動在網上可以找到,它將觸摸屏注冊為input設備,將坐標信息傳輸到input層。tslib可以直接從input層獲取坐標信息,因此,下面將要介紹如何讓qte3.3.5支持tslib。這樣qte3.3.5的程序就可以用觸摸屏控制了。  qte2,qtopia都直接支持tslib,而qte3不能直接支持tslib,需要加patch。具體方法如下:1.編譯qte3.3.5    * cd qte-3.3.5    * export QTDIR=$PWD    * cp uic bin/(拷貝x-11的bin/uic工具到bin下)    * (關鍵步驟,否則編譯時會報錯說libts不兼容)    $ echo yes |./configure -embedded arm -thread    $ cd src/moc    $ make    * 從網上尋找tslib-patch。該patch針對qte3.3.4,此處根據patch內容手動patch:增加兩個文件到 src/embedded/下(src/embedded/qmousetslib_qws.h, src/embedded/qmousetslib_qws.cpp),修改相應文件 (src/embedded/qmousedriverfactory_qws.cpp, src/embedded/qt_embedded.pri,configure)    * 編譯tslib,拷貝tslib.h到include,libts.so等庫到lib下。    *  $ echo yes |./configure -embedded arm –thread –qt-mouse-tslib –I$QTDIR/include –L$QTDIR/lib –lts    * make    * make install2.拷貝文件到目標板  拷貝qte3.3.5/lib到目標板,拷貝tslib的build目錄到目標板(記住,要拷貝和編譯qte時使用的相同的tslib版本)3.設置環境變量export QTDIR=/hjcaiexport LD_LIBRARY_PATH=/hjcai/libexport QWS_MOUSE_PROTO=tslib:/dev/input/tsraw0export TSLIB_TSDEVICE=/dev/input/tsraw0export TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_CONFFILE=/hjcai/build/etc/ts.confexport TSLIB_PLUGINDIR=/hjcai/build/share/ts/pluginsexport TSLIB_TSEVENTTYPE="H3600"export TSLIB_CALIBFILE=/etc/pointercal4 觸摸屏校正先進行觸摸屏校正,注釋掉build/etc/ts.conf中的dejitter模塊,執行build/bin下的ts_calibrate程序,此時會在/etc下生成pointercal文件。5 測試拷貝qte3.3.5下examples/hello/hello文件到目標板,修改權限,然后執行./hello –qws發現程序可以用觸摸屏控制。關于硬件。       從LCD的型號來來看,與s3c2410兼容得比較好的LCD是Sumsung自己產的LTS系列,如LTS350Q1PD1,LTS350Q1PE1。但是這類型號現在已停產,基本上無法買到。代替的型號是LTV系列,如LTV350QVF04,LTV350QVF05。       我使用的是LTV350QVF05。這是一款3.5寸,由TFT LCD,背光電路,觸摸屏,內置驅動四部分組成的LCD模塊。由于內置了驅動電路,因此它可以和s3c2410之間可以直接相連,硬件設計簡單。少量購買的價格在300左右。    LTV350QVF05通過一個60pin的軟平線接口和外面相連,其中除了和s3c2410相連接的信號外,最重要的是它的幾個電源信號,包括背光部分的電源。調試硬件,首先要保證它的幾個電源信號滿足要求。Max1779芯片提供三路電源輸出,能很好地滿足需求。另外需要提供一個Vcom信號。該信號用于LCD的行翻轉,是一個低電平0V,高電平3.3V左右的方波信號。LCD模塊內部提供一個M信號,只需要將該信號取反就可以得到Vcom信號。通常會搭一個可調的運放電路來實現,調整放大倍數和偏移可以改變屏的亮度和對比度。    在調試好幾個電源信號后,上電,應該可以把屏點亮。起初應該是白屏。    下面介紹驅動的移植。     關于驅動移植。    網上可以找到代碼s3c2410fb.c,基本上可以直接使用。移植的基本步驟是:1.       添加s3c2410fb.c到drivers/video目錄下。2.       在s3c2410fb.c中添加適當的LCD初始化代碼。LTV350QV接口中有一個spi接口用來啟動LCD,設計中可以采用gpio口來模擬spi口輸出控制信號。編寫一個初始化函數,然后在s3c2410fb_init函數中調用即可。3.       修改video目錄的Kconfig和Makefile,保證s3c2410fb.c被編譯進內核。4.       在arch/arm/mach-s3c2410/mach-smdk2410.c中添加static struct s3c2410fb_mach_info smdk2410_lcd_platdata結構。該結構的參數用于設置s3c2410的LCD控制寄存器,需要認真根據自己的LCD參數來設置。包括分辨率、幀頻、圖像格式等參數。5.       在arch/arm/mach-s3c2410/mach-smdk2410.c函數smdk2410_map_io中添加代碼:set_s3c2410fb_info(&smdk2410_lcd_platdata)6.       在arch/arm/mach-s3c2410/devs.c中添加以下代碼:static struct s3c2410fb_mach_info s3c2410fb_info;void __init set_s3c2410fb_info(struct s3c2410fb_mach_info *hard_s3c2410fb_info){    memcpy(&s3c2410fb_info,hard_s3c2410fb_info,sizeof(struct s3c2410fb_mach_info));    s3c_device_lcd.dev.platform_data = &s3c2410fb_info;}EXPORT_SYMBOL(set_s3c2410fb_info);7.       配置內核,添加對LCD的支持,包括啟動logo(小企鵝)的支持。   如果啟動后可以看見小企鵝,說明LCD驅動移植成功。  可能的問題:1.       smdk2410_lcd_platdata結構中幀頻(Vsync的頻率)的設置不能高于LCD的最高幀頻,可以增大lcdcon1中clkval的值Vclk,進而降低Vsync。2.       圖像深度最好設為16bpp,我用過24bpp,結果無法顯示企鵝,可能是內核驅動本身不支持。3.       如果過幾分鐘后,圖像沒了。注釋掉drivers/char/vt.c中的blank_screen_t()函數內容。調試過程:按照以上步驟做好后,在終端輸入命令:make bzImage確保linux-2.6.14/include/asm/arch-s3c2410/s3c2410_ts.h有該文件出現以下錯誤:
 CC      arch/arm/mach-s3c2410/mach-smdk2410.oarch/arm/mach-s3c2410/mach-smdk2410.c:131: error: variable `sbc2410_ts_cfg' has initializer but incomplete typearch/arm/mach-s3c2410/mach-smdk2410.c:132: error: unknown field `delay' specified in initializerarch/arm/mach-s3c2410/mach-smdk2410.c:132: warning: excess elements in struct initializerarch/arm/mach-s3c2410/mach-smdk2410.c:132: warning: (near initialization for `sbc2410_ts_cfg')arch/arm/mach-s3c2410/mach-smdk2410.c:133: error: unknown field `presc' specified in initializerarch/arm/mach-s3c2410/mach-smdk2410.c:133: warning: excess elements in struct initializerarch/arm/mach-s3c2410/mach-smdk2410.c:133: warning: (near initialization for `sbc2410_ts_cfg')arch/arm/mach-s3c2410/mach-smdk2410.c:134: error: unknown field `oversampling_shift' specified in initializerarch/arm/mach-s3c2410/mach-smdk2410.c:134: warning: excess elements in struct initializerarch/arm/mach-s3c2410/mach-smdk2410.c:134: warning: (near initialization for `sbc2410_ts_cfg')arch/arm/mach-s3c2410/mach-smdk2410.c: In function `smdk2410_map_io':arch/arm/mach-s3c2410/mach-smdk2410.c:143: warning: implicit declaration of function `set_s3c2410ts_info'arch/arm/mach-s3c2410/mach-smdk2410.c: At top level:arch/arm/mach-s3c2410/mach-smdk2410.c:131: error: storage size of `sbc2410_ts_cfg' isn't knownmake[1]: *** [arch/arm/mach-s3c2410/mach-smdk2410.o] 錯誤 1make: *** [arch/arm/mach-s3c2410] 錯誤 2在arch/arm/mach-s3c2410/devs.c文件中添加如下幾行: 

#include <asm/arch/s3c2440_ts.h> 在 /linux-2.6.14/arch/arm/mach-s3c2410/mach-smdk2410.c, 中增加如下內容: 

#include <asm/arch/s3c2440_ts.h>   重新編譯,有下面的錯誤:CC      drivers/input/touchscreen/s3c2410_ts.odrivers/input/touchscreen/s3c2410_ts.c: In function `touch_timer_fire':drivers/input/touchscreen/s3c2410_ts.c:145: error: called object is not a functiondrivers/input/touchscreen/s3c2410_ts.c:154: error: called object is not a functiondrivers/input/touchscreen/s3c2410_ts.c: In function `stylus_action':drivers/input/touchscreen/s3c2410_ts.c:196: error: called object is not a functiondrivers/input/touchscreen/s3c2410_ts.c:200: error: called object is not a functiondrivers/input/touchscreen/s3c2410_ts.c: In function `s3c2410ts_probe':drivers/input/touchscreen/s3c2410_ts.c:261: error: called object is not a functiondrivers/input/touchscreen/s3c2410_ts.c: In function `touch_timer_fire':drivers/input/touchscreen/s3c2410_ts.c:145: warning: statement with no effectdrivers/input/touchscreen/s3c2410_ts.c:154: warning: statement with no effectdrivers/input/touchscreen/s3c2410_ts.c: In function `stylus_action':drivers/input/touchscreen/s3c2410_ts.c:196: warning: statement with no effectdrivers/input/touchscreen/s3c2410_ts.c:200: warning: statement with no effectdrivers/input/touchscreen/s3c2410_ts.c: In function `s3c2410ts_probe':drivers/input/touchscreen/s3c2410_ts.c:261: warning: statement with no effectmake[3]: *** [drivers/input/touchscreen/s3c2410_ts.o] 錯誤 1make[2]: *** [drivers/input/touchscreen] 錯誤 2make[1]: *** [drivers/input] 錯誤 2make: *** [drivers] 錯誤 2在文件位置在 include/asm-arm/arch-s3c2410/regs-adc.h, 并在其添加如下內容#define S3C2410_ADCTSC_XY_PST_N     (0x0<<0)#define S3C2410_ADCTSC_XY_PST_X     (0x1<<0)#define S3C2410_ADCTSC_XY_PST_Y  (0x2<<0)#define S3C2410_ADCTSC_XY_PST_W   (0x3<<0)但好象沒效果。下面是使用胡軍國給的tsFrom軍國的s3c2410_ts.c和s3c2410_ts.h(需復制到linux-2.6.14/include/asm/arch)文件,$make bzImage出現以下錯誤:CC      drivers/input/touchscreen/s3c2410_ts.odrivers/input/touchscreen/s3c2410_ts.c:107:1: warning: "IRQ_HANDLED" redefinedIn file included from include/linux/rcuref.h:36,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
人妖欧美一区二区| 亚洲国产另类av| 欧美高清激情brazzers| 在线视频中文字幕一区二区| 成人自拍视频在线| 成人黄色av网站在线| 波多野结衣在线一区| 成人一二三区视频| 91视频你懂的| 色香蕉成人二区免费| 欧美亚洲日本国产| 日韩一区二区三区在线| 精品国产乱码久久久久久蜜臀| 日韩欧美在线影院| 中文字幕欧美激情| 亚洲国产综合91精品麻豆| 国产精品18久久久久| 精品亚洲免费视频| 国产成人亚洲精品狼色在线| 成人性生交大片免费看视频在线 | 日韩av网站在线观看| 日欧美一区二区| 久久成人综合网| 99视频一区二区三区| 欧美色图在线观看| 久久久久亚洲蜜桃| 夜夜精品浪潮av一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 国产一区二区伦理| 欧洲av在线精品| 日韩美女在线视频| 亚洲免费高清视频在线| 麻豆精品一区二区av白丝在线| 大陆成人av片| 日韩小视频在线观看专区| 中文字幕一区二| 日本vs亚洲vs韩国一区三区| 成人午夜免费视频| 欧美一级片在线看| 亚洲激情五月婷婷| 国产很黄免费观看久久| 欧美久久一二区| 亚洲色图视频网站| 国产美女av一区二区三区| 欧美写真视频网站| 国产精品污污网站在线观看 | 久久国产精品一区二区| 99久久久免费精品国产一区二区| 日韩一区二区电影网| 亚洲精品国产a| 国产99久久久精品| 91精品国产美女浴室洗澡无遮挡| 亚洲视频香蕉人妖| 波多野结衣中文字幕一区 | 91精品国产综合久久久久久久| 精品88久久久久88久久久| 香蕉久久一区二区不卡无毒影院 | 亚洲免费成人av| 国产盗摄一区二区三区| 日韩丝袜美女视频| 婷婷开心激情综合| 在线视频国产一区| 亚洲第一成人在线| 在线观看日韩av先锋影音电影院| 国产精品欧美综合在线| 国产麻豆精品在线| 久久久久久久综合色一本| 日本不卡123| 欧美成人精品高清在线播放| 秋霞影院一区二区| 日韩欧美一二三四区| 视频一区欧美精品| 欧美一级午夜免费电影| 日本亚洲最大的色成网站www| 欧美色手机在线观看| 亚欧色一区w666天堂| 6080午夜不卡| 美女性感视频久久| 精品国产sm最大网站| 国模套图日韩精品一区二区| 精品动漫一区二区三区在线观看| 免费高清在线视频一区·| 欧美成人性福生活免费看| 国内精品久久久久影院薰衣草 | 国产精品一区二区久久不卡| 日韩精品一区二| 国产乱码精品一区二区三| 国产亚洲福利社区一区| 国产高清不卡一区二区| 中文字幕一区日韩精品欧美| 99re这里都是精品| 亚洲一区二区五区| 日韩视频一区二区三区在线播放| 美腿丝袜亚洲三区| 久久精品夜色噜噜亚洲a∨| 99久久久国产精品| 午夜久久久影院| 久久女同精品一区二区| 色视频欧美一区二区三区| 亚洲大片免费看| 久久久午夜电影| 在线观看三级视频欧美| 男人的天堂亚洲一区| 国产精品久久免费看| 欧美高清视频不卡网| 国产精品18久久久久久久久久久久 | 日韩黄色在线观看| 久久精品亚洲国产奇米99| 日本高清成人免费播放| 久久99久久精品| 亚洲精品国产视频| 久久亚洲综合色| 欧美日韩一区在线| 东方aⅴ免费观看久久av| 亚洲电影你懂得| 国产精品成人免费精品自在线观看| 欧美日韩一区三区四区| 成人国产亚洲欧美成人综合网 | 一区二区三区在线观看欧美| 精品区一区二区| 91久久精品午夜一区二区| 韩国女主播一区| 日韩精品成人一区二区三区| 自拍视频在线观看一区二区| 欧美成va人片在线观看| 欧美午夜精品免费| 成人app软件下载大全免费| 精彩视频一区二区三区| 亚洲一区二区影院| 亚洲欧洲成人自拍| 精品国精品国产尤物美女| 欧美日本在线一区| 欧美伊人久久久久久午夜久久久久| 国产丶欧美丶日本不卡视频| 美女mm1313爽爽久久久蜜臀| 亚洲国产婷婷综合在线精品| 国产精品久久久久桃色tv| 久久久精品一品道一区| 日韩欧美二区三区| 日韩欧美成人一区| 国产片一区二区| 久久蜜臀中文字幕| 精品电影一区二区三区| 久久综合久久综合久久综合| 精品国产乱码久久久久久夜甘婷婷| 欧美一级理论片| 欧美丰满少妇xxxxx高潮对白| 精品视频一区二区三区免费| 色综合天天天天做夜夜夜夜做| 国产成人免费网站| 成人av电影在线观看| 成人综合婷婷国产精品久久免费| 风间由美中文字幕在线看视频国产欧美| 美女视频一区二区| 韩国欧美国产一区| 成人免费看黄yyy456| thepron国产精品| 99久久国产免费看| 色噜噜狠狠成人中文综合 | 日本不卡的三区四区五区| 日韩高清不卡一区二区| 美美哒免费高清在线观看视频一区二区 | 欧美大黄免费观看| 久久综合九色综合97婷婷女人| 欧美v日韩v国产v| 国产日韩综合av| 亚洲精品乱码久久久久久黑人 | 久色婷婷小香蕉久久| 激情五月婷婷综合| 97aⅴ精品视频一二三区| 色就色 综合激情| 日韩欧美一区二区视频| 日本一区二区三级电影在线观看| 国产精品高潮呻吟| 亚洲一级二级三级| 久久66热re国产| 91麻豆国产精品久久| 91.com视频| 国产精品免费视频网站| 亚洲国产成人av网| 国内外精品视频| 91麻豆福利精品推荐| 欧美一区二区三区免费在线看 | 欧美一区二区三区视频免费 | 欧美午夜不卡视频| 久久精品亚洲精品国产欧美| 亚洲精品高清在线观看| 激情综合网av| 色噜噜偷拍精品综合在线| 欧美精品一区二区三区在线| 国产精品二三区| 另类小说视频一区二区| 91麻豆精品一区二区三区| 91麻豆精品国产自产在线观看一区 | 一区在线播放视频| 蜜桃视频免费观看一区| 色综合天天综合狠狠| 久久综合中文字幕| 亚洲成在人线免费| 99久久综合色|