中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 實現(xiàn)針對觸摸屏的輸入引擎移植解析方案

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

        作者: 時間:2012-05-16 來源:網(wǎng)絡 收藏

        1.引言

        本文引用地址:http://www.antipu.com.cn/article/160592.htm

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

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

        2.Linux在嵌入式系統(tǒng)上的

        2.1系統(tǒng)引導

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

        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所在的分區(qū),kernel一行用來指定Linux的內(nèi)核,及/所在的分區(qū)。

        2.2內(nèi)核配置、編譯及裁減

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

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

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

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

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

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

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

        #make bzImage //編譯內(nèi)核

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

        2.3根文件系統(tǒng)

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

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

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

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

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

        :: askfirst: /bin/sh //啟動時執(zhí)行的shell

        :: respawn: /bin/getty 38400 ttyS0 //打開一個串口,波特率為38400

        :: restart: /bin/init //重啟時執(zhí)行進程init

        :: ctrlaltdel: /bin/reboot //捕捉特定按鍵動作

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


        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉