Linux 2.6.22.6移植到S3C2440之通過nfs啟動qt並添加USB滑鼠支援

來源:互聯網
上載者:User

昨天通過nfs掛接qt成功,但是介面不知道為什麼 老閃爍(暫不理會),qt顯示個歡迎介面提示需要進行初次使用設定,就停這了,因為沒有觸控螢幕,所以我今天 就先添加了usb滑鼠支援。

qt相關的:

我的qt和檔案系統是按照韋東山的<嵌入式linux應用開發完全手冊>介紹編譯製作的。在運行qt時參照了<天嵌科技出品-qt移植文檔 >。

在nfs啟動時遇到了如下問題:

1、
# could not open for writing `/root/Settings/locale_new.conf'
QCopChannel::send: Must construct a QApplication before using QCopChannel
【解決方案】:$HOME環境變數沒有設定或者設定的位置不可寫。
              更改/bin/qpe.sh檔案中HOME=/  即可。原來HOME=/root些位置不可寫,不知為啥...

2、
Cannot create Qt/Embedded data directory: /tmp/qtembedded-0

【解決方案】:在這困了好久不知道如何解決,後來參照天嵌科技提供的帶qt的檔案系統進行修改,修改成功,主要修改了/etc目錄、字型相關的東東和時區資訊(其實是直接複製了/etc目錄、/opt/qtopia/lib/fonts目錄和提供時區資訊的/usr/share目錄)

之後qt啟動起來了,顯示了歡迎介面。

 

 

 


usb滑鼠移植方法如下:

  我的核心是linux2.6.22.6,新核心的USB滑鼠在核心drivers/hid/usbhid目錄下,檔案名稱:usbmouse.c,如果你需要對滑鼠驅動修改就看這個檔案,我的開發板暫時不需要對滑鼠驅動定製特別的操作,於是在保證2410設定檔預設的情況下,make menuconfig然後選擇 Device Drivers -->進入 選中HID Devices ---> 進入 USB HID Boot Protocol drivers ---> 看到 USB HIDBP Mouse (simple Boot) support,選中它,如果沒有出現該項說明你在上邊的步驟中選中了其他多餘項,可以根據開啟的kconfig檔案中看到。

之後編譯核心用它來啟動qt。

之後usb滑鼠就能用了,呵呵...

(其實做完這些工作後滑鼠還是不能用,之後我重啟了一次電腦 再測試時居然能用了, 為什麼會這樣? 我也不知道為何,反正滑鼠能用了...進行了一些初次使用設定後進入了qt介面了

 

後來參照如下進行了些許修改內容如下(直接複製啦哈...):

 

3、滑鼠的問題
我的是usb滑鼠。
3.1要支援滑鼠首先要在核心中加入驅動支援:(執行完上面的核心配置後查看 .config檔案中usb這一段,與這基本吻合,有些宏定義不相同因為核心版本不同)

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT_POWERBOOK=y
CONFIG_HID_FF=y
CONFIG_HID_PID=y
CONFIG_LOGITECH_FF=y
CONFIG_PANTHERLORD_FF=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_ZEROPLUS_FF=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB_ARCH_HAS_EHCI is not set
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
大概這個樣子

3.2 然後建立節點
查看/proc/bus/input/devices檔案
#cat /proc/bus/input/devices(啟動qt後在終端執行這個命令能檢查有沒有連上滑鼠)

I: Bus="0003" Vendor="15d9" Product="0a33" Version="0110"
N: Name="USB Mouse"
P: Phys="usb-s3c24xx-1/input0"
S: Sysfs="/class/input/input0"
U: Uniq=
H: Handlers="mouse0"
B: EV="17"
B: KEY="70000" 0 0 0 0 0 0 0 0
B: REL="103"
B: MSC="10"
確定已經滑鼠已經串連上了
然後查看/proc/bus/input/handler
# cat /proc/bus/input/handler
N: Number="0" Name="kbd"
N: Number="1" Name="mousedev" Minor="32"
看到Number=1 Name="mousedev" Minor="32這個東西了"

# cat /proc/devices
Character devices:
 10 misc
 13 input
 29 fb

到/dev下建立(這一步我沒做,我用的是mdev動態機制管理裝置

#mknod /dev/input/mouse c 13 32

crw-r--r--    1 root     root      13,  32 Jan  1 00:25 input/mouse
其中13是裝置號的高位 32低位上面的Minor=32和13 input定的,不小的是不是這麼會事情,反正滑鼠可以工作了.
可以用下面的命令測試一下:
# cat /dev/input/mouse
??(?(?(?(8??8??8??8??8??8??8??8?
?(
這一堆亂碼就是移動滑鼠的時候輸出的東西,說明滑鼠可以工作了。
建立一個符號串連:
ln -s /dev/input/mouse  /dev/mouse

修改許可權
chmod go+r /dev/mouse
chmod go+r /dev/input/mouse.

 

參考頁面:

1、http://blog.ednchina.com/woshishui1413801/188175/message.aspx

2、http://www.hzlitai.com.cn/bbs/viewthread.php?tid=11504   (此頁面有幾處討論資訊挺 好的,看看不錯

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.