<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 實(shí)現針對觸摸屏的輸入引擎移植解析方案

實(shí)現針對觸摸屏的輸入引擎移植解析方案

作者: 時(shí)間:2012-05-16 來(lái)源:網(wǎng)絡(luò ) 收藏

1.引言

本文引用地址:http://dyxdggzs.com/article/160592.htm

嵌入式GUI指在嵌入式系統中為特定的硬件設備或者環(huán)境而設計的圖形用戶(hù)界面系統。它極大地方便了非專(zhuān)業(yè)用戶(hù)的使用,人們不再需要死記硬背大量的命令,而可以通過(guò)窗口、菜單方便地操作。在實(shí)際應用中,嵌入式GUI應滿(mǎn)足輕型、占用資源少、高性能、高可靠性、可配置等基本要求。

Linux作為一種可裁減的操作系統,兼容多種主流CPU且支持所有的文件系統和網(wǎng)絡(luò )服務(wù),并具備源代碼公開(kāi)、易于定制、穩定、功能強大和易開(kāi)發(fā)等優(yōu)點(diǎn),是發(fā)展未來(lái)嵌入式設備的絕佳資源。

2.Linux在嵌入式系統上的

2.1系統引導

系統上電或者復位后,將對系統硬件設備進(jìn)行自檢,無(wú)錯誤則將硬盤(pán)0磁道的第一個(gè)扇區,即MBR中的BootLoader調至內存0x07C00處,并將控制權交給BootLoader[1]。BootLoader通常是一段匯編代碼,存放在MBR中,作用是將系統啟動(dòng)代碼讀到內存中。目前可選用的引導工具主要有GRUB和LILO,這里我們選用主流的GRUB,由于選用的存儲介質(zhì)是CF卡,格式化CF卡后建立GRUB安裝目錄,按照提示安裝GRUB后,在 /etc目錄下新建grub.conf文件,內容如下:

default=0

timeout=5

title Linux-2.4.34

root (hd0,0)

kernel /boot/vmlinuz-2.4.34 ro root=/dev/hdc1

其中root (hd0,0)指定了/boot所在的分區,kernel一行用來(lái)指定Linux的內核,及/所在的分區。

2.2內核配置、編譯及裁減

內核是Linux操作系統的核心,它負責管理系統進(jìn)程和進(jìn)程調度等大小事務(wù),決定著(zhù)系統的性能和穩定性,其它應用程序都必須通過(guò)它才可以使用系統資源,獲取系統服務(wù)。由于嵌入式硬件資源的限制,我們需要對Linux內核進(jìn)行定制,精簡(jiǎn)出符合實(shí)際需要的最小內核文件。

首先在www.kernel.org上獲取相應的內核包,解壓后進(jìn)行配置,然后根據目標板的硬件特點(diǎn)和實(shí)際需求配置內核的編譯選項。這里我們選用基于X86 架構的PC104主板,為了減低不必要的復雜性,內核中取消kernel module支持,將有關(guān)CPU類(lèi)型、內存管理、doc驅動(dòng)、ext2文件系統支持、串口支持等常用功能編譯進(jìn)內核,SCSI、Floppy之類(lèi)的外設在我們的嵌入式系統中沒(méi)有使用,編譯時(shí)可去掉。這樣實(shí)際編譯出的內核只有 747.6KB?;静襟E如下[2]:

#cd /usr/src/linux //內核包所在目錄,這里下載的內核包版本是2.4.34

#make mrproper //確保源代碼目錄下沒(méi)有不正確的.o文件以及文件的相互倚賴(lài)關(guān)系

#make menuconfig //圖形界面下編譯選項配置

#make dep //確保關(guān)鍵文件在正確位置

#make clean //確保所有有關(guān)文件都處于最新版本狀態(tài)

#make bzImage //編譯內核

#cp /usr/src/linux/arch/i386/bzImage /mnt/cf/boot //將內核文件拷貝至boot

2.3根文件系統

Linux 的根文件系統以樹(shù)的結構方式組織,主要由配置文件、設備文件、Linux基本命令、基本C語(yǔ)言庫組成。后兩者是主要的,也是占空間最大的,用 Busybox和uClibc的組合夠建這兩部分內容,可以大大節省空間。根據根文件系統的基本結構,我們建立各個(gè)對應的目錄:

#mkdir proc dev bin boot boot/grub etc src lib //由于是單用戶(hù)系統,刪除了root、home、sbin目錄

#cp –r /dev/null /dev/mem … /mnt/cf/dev //拷貝所需設備文件

最后需要在etc目錄下建立幾個(gè)配置文件,分別是/etc/inittab、/etc/init.d/rcS、/etc/fstab,限于篇幅,僅介紹inittab文件,內容如下[4]:

:: sysinit: /etc/init.s/rcS //指定初始化文件

:: askfirst: /bin/sh //啟動(dòng)時(shí)執行的shell

:: respawn: /bin/getty 38400 ttyS0 //打開(kāi)一個(gè)串口,波特率為38400

:: restart: /bin/init //重啟時(shí)執行進(jìn)程init

:: ctrlaltdel: /bin/reboot //捕捉特定按鍵動(dòng)作

:: shutdown: /bin/umount –a –r //關(guān)機時(shí)動(dòng)作,卸載所有文件系統


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>