freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于嵌入式linux的銀行排隊系統(tǒng)(編輯修改稿)

2025-01-11 01:14 本頁面
 

【文章內(nèi)容簡介】 后用命令 $/etc/,剛才的設置就生效了。注意,在使用 NFS 服務之前應確認防火墻沒有限制 NFS 服務,并且在系統(tǒng)服務中portmap 服務是啟動運行的。 設置 mini 在 Linux操作系統(tǒng)下,使用 mini作為超級終端,因此首先必須正確配置超級終端。在宿主機端 Linux下執(zhí)行: $mini –s 第一次使用時需要對串口進行配置,在選擇 ―Serial port setup‖,然后回車將出現(xiàn) 配置菜單 8 圖 mini配置 2 參照 圖 的配置,相應輸入左邊的 ―A‖、 ―B‖等字符將出現(xiàn)配置各自參數(shù)的界面,分別配置成上述設置。 設置完成后回車退出,并選擇保存 。 然后選擇 Exit 菜單,將啟動 mini 程序,此時請將 JXARM92410 的 UART0 連接到 PC 機串口 并將 JXARM92410 重新上電 既可 。 9 3 定制板上系統(tǒng) 開發(fā)板 Linux 內(nèi)核 Linux 是一個類似于 Unix 的操作系統(tǒng),不僅能夠運行在 PC 上, 在 嵌入式系統(tǒng)方面也有很成熟的應用 , 已成為嵌入式操作系統(tǒng)的理想選擇。將 Linux 內(nèi)核 移植到 ARM 的時候要打上 ARM 公司的補丁。創(chuàng)維特開發(fā)板上的系統(tǒng)打的是 補丁。該系統(tǒng)除了完成基本的內(nèi)核移植外,還完善了大量外圍設備的驅(qū)動。 移植 Linux 內(nèi)核 對于嵌入式 Linux 系統(tǒng)來說,內(nèi)核移植工作主要是修改跟硬件平臺相關的 代碼,一般不涉及 Linux 內(nèi)核通用的程序。移植的難度也取決于兩種硬件平臺的差異。 Linux 對于特定的硬件平臺的軟件就 是 BSP( Board Support Package)。 由于 Linux 內(nèi)核具備可移植性的特點,并且已經(jīng)支持了各種體系結構的很多種目標板,很容易從中找到 和 自己硬件類似的目標板。參考內(nèi)核已經(jīng)支持的目標板來移植 BSP,就如同使用模板開發(fā)程序。內(nèi)核移植工作, 主要 就是添加開發(fā)板初始化和驅(qū)動程序的代碼。這部分代碼大部分是跟體系結構相關的,在 arch 目錄下按照不同的體系結構管理。下面以 ARM S3C2410 平臺為例,進行內(nèi)核代碼移植。 添加開發(fā)板平臺支持選項 ,主要修改以下幾個文件: arch/arm/machs3c2410 arch/arm/tools/machtypes arch/arm/ arch/arm/Makefile arch/arm/boot/pressed include/asmarm/archs3c2410 移植開發(fā)板驅(qū)動程序 S3C2410 屬于片上系統(tǒng),處理器芯片具備串口、顯示等外圍接口的控制器。這樣,參考板上的 設備驅(qū)動程序多數(shù)可以直接使用。但不同的開發(fā)板可 以使用不同的 SDRAM、 Flash、以太網(wǎng)接口芯片等。這就需要根據(jù)硬件修改或者開發(fā)驅(qū)動 10 程序。 Linux 內(nèi)核 的配置和編譯 配套光盤中 Linux源代碼在 /home/cvtech/jx2410/linux目錄中。 對于交叉開發(fā),在編譯之前要在頂層的 Makefile 中設置 ARCH 、 CROSS_COMPILE 和EXTRA_VERSION 變量,然后才能選擇配置出特定的體系結構平臺。 ARM 平臺的例子如下: ARCH : = arm CROSS_COMPILE : = armlinuxgcc EXTRA_VERSION : = ( 1) Make menuconfig 對源代碼有相應了解后,進行內(nèi)核的配置,在宿主機上使用命令: $ cd /home/cvtech/jx2410/linux $make menuconfig 運行效果如圖 所示: 圖 內(nèi)核編譯 menuconfig 界面 本 設計中 只用到了調(diào)試模塊、通信模塊、人機交互模塊等一些基本的模塊, 11 其他很多模塊都沒用到,如 A/D 及 D/A 模塊,工業(yè)控制模塊等。嵌入式系統(tǒng)中資源是非常珍貴的,所以最好能以最小系統(tǒng)進行開發(fā)。從此 需 進行內(nèi)核裁剪。 在編譯裁 剪內(nèi)核的過程中,大部分選項可以使用其缺省值,只有小部分需要根據(jù)用戶不同的需要選擇。選擇的原則是將與內(nèi)核其他部分關系較遠且不經(jīng)常使用的部分功能代碼編譯成可加載模塊,有利于減小內(nèi)核的長度,減小內(nèi)核消耗的內(nèi)存 ,簡化該功能相應的環(huán)境改變時對內(nèi)核的影響;不需要的功能不選;與內(nèi)核關系緊密而且經(jīng)常使用的部分功能代碼直接編譯到內(nèi)核中。例如,本系統(tǒng)中沒有用到 USB 接口,就可以在內(nèi)核編譯的時候?qū)?USB 驅(qū)動模塊不選, 如圖 所示從而減小了內(nèi)核大小。需要指出的是,根據(jù)具體情況,本系統(tǒng)的根文件系統(tǒng)大于16MB,故需要修改內(nèi)核所支持 的 ramdisk 的大小,這里將其修改為 20MB。 如圖 所示 。 圖 USB 配置選項 ( 2) Make dep 選擇還內(nèi)核配置選項之后,退出內(nèi)核配置主菜單,并保存配置文件。在 Linux命令終端輸入 make dep 命令建立內(nèi)核源代碼依賴關系 。 ( 3) make zImage 12 編譯:可以通過 make 或者 make zImage 進行編譯,他們的差別在于 make zImage 將 make 生成的核心進行壓縮,并加入一段解壓的啟動代碼。 生成的 Linux映像文件 zImage 保存在 /home/cvtech/jx2410/linux/arch/arm/boot/目錄下。 圖 Block device 配置選項 燒寫 Linux 映像 zImage 成功編譯 Linux 內(nèi)核后,通過 JX2410 的 uboot 將 核心下載到 SDRAM,另外內(nèi)核啟動過程將加載 RAMDISK 文件系統(tǒng),因此下載 zImage 之前,開發(fā)板需加載了根文件系統(tǒng) 。將 zImage 復制到宿主機 /tftpboot/目錄下,運行命令 $ cp /home/cvtech/jx2410/linux/arch/arm/boot/zImage /tftpboot 然后啟動 uboot,并在 uboot 中使用 tftp 下載 和 zImage。 然后啟動 mini: 命令為 $mini s 將 JXARM92410的串口 0與 PC的串口 0連接,將 JXARM92410的網(wǎng)卡和 PC的網(wǎng)卡使用直連網(wǎng)線進行連接,或?qū)XARM92410和 PC機使用普通網(wǎng)線接入同一局域網(wǎng)。然后將 JXARM92410上電,正常情況下將在 mini中看到 BootLoader菜單界面。然后在 BootLoader中按照如下提示進行: JX2410 tftp 30800000 13 RTL8019AS Founded! MAC : 0x80x00x3e0x260xa0x5b MAC: 0x0:0x0:0x0:0x0:0x0:0x0 TFTP from server 。 our IP address is Filename 39。39。. Load address: 0x30800000 Loading: done Bytes transferred = 4632504 (46afb8 hex) JX2410 tftp 30008000 zImage RTL8019AS Founded! MAC : 0x80x00x3e0x260xa0x5b MAC: 0x0:0x0:0x0:0x0:0x0:0x0 TFTP from server 。 our IP address is Filename 39。zImage39。. Load address: 0x30008000 Loading: done Bytes transferred = 871740 (d4d3c hex) JX2410 go 30008000 Unpressing Linux.............................................................. done, booting the kernel. Linux version (root@LinuxLizm) (gcc version 20210315 (release)) 133 四 11月 18 11:07:55 CST 2021 CPU: ARM/CIRRUS Arm920Tsid(wb) revision 0 14 Machine: SamsungSMDK2410 制作板上根文件系統(tǒng) 根文件系統(tǒng)為 Linux 提供了 init 程序、 shell 命令、設備文件節(jié)點和運行是的庫文件等。內(nèi)核在沒有正確的根文件系統(tǒng)的情況下運行會出現(xiàn) panic 錯誤信息而終止。 在一個已建好的文件系統(tǒng)上 進行修改 進入 /home/cvtech/jx2410/root 目錄并修改 ramdisk 文件系統(tǒng) : $cd /home/cvtech/jx2410/root/ 創(chuàng)建一個掛載 ramdisk文件系統(tǒng)的目錄: $mkdir rd 解壓縮 : $gunzip 在 /home/cvtech/jx2410/root/目錄下會生成 ramdisk, ramdisk為解開后的 Linux的文件系統(tǒng)映像文件。 再將 ramdisk文件系統(tǒng)映像文件 mount到新建目錄 rd中: $mount –o loop ramdisk rd/ 進入 rd目錄: $cd rd/ 列出目錄中文件: $ls 在命令終端中會看到以下顯示: bin dev etc lib linuette mnt proc qt sbin tmp usr var 這個就是 Linux的文件系統(tǒng),與目標板啟動后的文件系統(tǒng)完全一樣。 此時用戶可以加入自己的應用程序。 卸裝文件系統(tǒng): $umount rd 壓縮新生成的 ramdisk文件系統(tǒng)映像文件: $gzip ramdisk 得到的 就是新生成的目標根文件系統(tǒng)。 15 建立根文件系統(tǒng) 由于創(chuàng)維特提供的 ramdisk 文件系統(tǒng)中有 12MB,不能滿足本系統(tǒng)的要求,所以必須自己建立根文件系統(tǒng), 根據(jù)本系統(tǒng)所使用的 MiniGUI 軟件的庫文件大小并經(jīng)過試驗后得出將根文件系統(tǒng) 大小設為 18MB。 詳見參考文獻 [2]。 ( 1) 建立 loop 目錄為根文件系統(tǒng) 臨時掛載點 : $mkdir /mnt/loop ( 2) 建立文件系統(tǒng)映象 : $dd if=/dev/zero of=/tmp/ramdisk bs=1M count=18 注意可根據(jù)自 己的需要建立大小合適的文件系統(tǒng),更改 count 大小即可。 此處以 dd 命令建立一個了一個 18MB 文件系統(tǒng)映象,存于 /tmp/ramdisk,并以 .dev/zero 對它進行初始化。用這種方式對文件系統(tǒng)進行初始化,稍后當我們使用 gzip 命令壓縮整個映象時,將讓文件系統(tǒng)中未使用的部分獲得最大壓縮比。 ( 3) 將 /dev/loop0 格式化為 ext2 文件系統(tǒng) : $mke2fs –t ext2 –F –v –m 0 /tmp/ramdisk ( 4) 把 ramdisk 掛載到目錄 /mnt/loop 上 : $mount o loop /tmp/ramdisk /mnt/loop ( 5) 拷貝系統(tǒng)中所用到的庫文件、頭文件到 ramdisk 的 lib 和 include 目錄中,同時還有一些基本的應用程序、設備文件、 init 初始化文件等均放在 ramdisk所掛載的 /mnt/loop 下。 ( 6) 卸載文件系統(tǒng),得到的 /tmp/ramdisk 就是文件系統(tǒng) 映像 : $umount /mnt/loop ( 7) 壓縮新生成的 ramdisk文件系統(tǒng)映像文件: $gzip ramdisk 就生成了新的根文件系統(tǒng) 設備 驅(qū)動 程序介紹 系統(tǒng)調(diào)用時操作系統(tǒng)內(nèi)核和應用程序之間的接口,設備驅(qū)動程序是操作系統(tǒng)內(nèi)核和機器硬件之間的接口。設備驅(qū)動程序為應用程序屏蔽了硬件的細節(jié),這樣在應用程序看來,硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作。 16 LCD 驅(qū)動 本系統(tǒng)所用的圖形系統(tǒng) MiniGUI 訪問圖形設備是通過設備文件 /dev/fb 進行的,這是 LCD 的設備文件,該文件的操作是在 LCD 驅(qū)動程序中實現(xiàn)的。 LCD驅(qū)動的主要工作是:首先初始化 LCD 控制器,分配顯示緩沖區(qū);第二,編寫 fb_ops結構體中的成員函數(shù);最后實現(xiàn)文件操作結構體 file_operations 中的主要函數(shù)。設備文件 /dev/fb 對應一個幀緩沖設備 Framebuffer。 網(wǎng)絡驅(qū)動 Linux 的網(wǎng)絡系統(tǒng)主要是基于 BSD Unix 的 socket 機制。在系統(tǒng)和驅(qū)動程序之間定義有專門的數(shù)據(jù)結構( sk_buff)進行數(shù)據(jù)的傳遞。系統(tǒng)里支持對發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的緩存,提供流量控制機制,提供多協(xié)議的支持。 Linux 中,有一個網(wǎng)絡設備抽象接口,這個接口提供了對所有網(wǎng)絡設備
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1