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

正文內(nèi)容

基于arm9和linux的終端打印系統(tǒng)-預(yù)覽頁

2024-12-19 22:08 上一頁面

下一頁面
 

【正文】 嚴(yán) 格意義上的操作系統(tǒng)。 關(guān)鍵詞: S3C2410。 本論文分硬件平臺(tái)和軟件系統(tǒng)兩部分進(jìn)行設(shè)計(jì)。南華大學(xué)電氣工程學(xué)院課程設(shè)計(jì) 課 程 設(shè) 計(jì) 題 目: 基 于 ARM9 和 LINUX 的終端打印系統(tǒng) 學(xué)院名稱: 電氣工程學(xué)院 指導(dǎo)老師 : 黃 智 偉 職 稱 : 教 授 專業(yè)班級: 通信 051 班 學(xué) 號: 20204400108 姓 名: 李 雪 梅 2020 年 12 月 26 日 南華大學(xué)電氣工程學(xué)院課程設(shè)計(jì) 摘要 隨著電子、通信技術(shù)的快速發(fā)展,計(jì)算機(jī)系統(tǒng)的專業(yè)化和小型化已經(jīng)成為信息技術(shù)發(fā)展的新趨勢。 本次設(shè)計(jì)的目的是建立一 個(gè)基于 ARM 核心處理器和嵌入式 Linux 操作系統(tǒng)的嵌入式開發(fā)平臺(tái),為嵌入式系統(tǒng)開發(fā)提供一個(gè)方便、功能擴(kuò)展的軟硬件環(huán)境。 論文末尾對系統(tǒng) 設(shè)計(jì)所完成的內(nèi)容進(jìn)行了總結(jié),并提出了改進(jìn)方法 。 20 世紀(jì) 70 年代單片機(jī)的出現(xiàn),是嵌入式系統(tǒng)的開端,那時(shí)候的應(yīng)用只局限于用 8 位的芯片執(zhí)行一些單線程的程序,根本談不上是一個(gè)“系統(tǒng)”。 隨著現(xiàn)代信息技術(shù)和 Inter技術(shù)的飛速發(fā)展,各種各樣的數(shù)字化產(chǎn)品得到普及;嵌入式系統(tǒng)已經(jīng)滲透于現(xiàn)代生活的各個(gè)角落 ,各種新的嵌入式系統(tǒng)的硬件設(shè)備層出不窮。 打印機(jī)將采集和處理后儲(chǔ)存的信息以圖像、文字或者數(shù)字等方式打印出來,直接地顯示給用戶,是人類信息表達(dá)和傳遞的一個(gè)重要載體。 嵌入式系統(tǒng)的定義 IEEE 就用途方面是這樣定義嵌入式系統(tǒng)的:嵌入式系統(tǒng)是用來控制或者訪問機(jī)器、裝置、工廠等大規(guī)模系統(tǒng)的設(shè)備?!扒度胄浴北硎鞠到y(tǒng)通常需要嵌入到其他對象系統(tǒng)中,小到計(jì)算器、 MP3,大到導(dǎo)彈、航天飛機(jī)等等。嵌入式系統(tǒng)是針對特定的用戶群設(shè)計(jì)的,綜合功耗、體積、集成度各方面考慮以滿足不同的要求。尤其是軟件代碼,更加要求高質(zhì)量,高可靠性。 第一階段是以單芯片為核心的可編程控制器形式的系統(tǒng)。其主要特點(diǎn)是: CPU 種類繁多,系統(tǒng)開銷小,效率高;操作系統(tǒng)達(dá)到一定的兼容性和擴(kuò)展性;應(yīng)用軟件較專業(yè)化。 第四階段是以 Inter 為標(biāo)志的嵌入式系統(tǒng)。在超市之類的場合,打印模塊負(fù)責(zé)票據(jù)打印工作,打印的內(nèi)容往往是一些數(shù)字和文字的組合。在現(xiàn)實(shí)的系統(tǒng)中,打印模塊都是與其他功能模塊結(jié)合使用的,如果脫離了其他功能模塊,那么打印模塊也就失去了存在的意義。開發(fā)板將掃描儀的數(shù)據(jù) 從串口讀出,然后轉(zhuǎn)發(fā)給打印機(jī)將數(shù)據(jù)打印出來。開發(fā)板采用的是三星公司的 S3C2410開發(fā)板, ARM9 的核,跑的是 內(nèi)核版本的嵌入式 Linux 操作系統(tǒng)。 開發(fā)板等待直至接收到主機(jī)處理完畢的數(shù)據(jù)后轉(zhuǎn)發(fā)給打印機(jī),將信息打印出來。 目前,市場上的嵌入式處理器種類非常多,典型的嵌入式處理器有 ARM、MIPS、 PowerPC 等等。 本嵌入式系統(tǒng)硬件平臺(tái)是基于 ARM 的 S3C2410 開發(fā)板,這款開發(fā)板是三星公司主要為高性價(jià)比,低功耗的應(yīng)用場合而設(shè)計(jì),其資源豐富,十分適合本次的設(shè)計(jì)系統(tǒng)。其優(yōu)點(diǎn)在于便攜性、提供對微處理器的選擇以及非強(qiáng)行的電源管理功能。Linux 是一個(gè)與生俱來的網(wǎng)絡(luò)操作系統(tǒng),成熟而且穩(wěn)定。 嵌入式打印終端系統(tǒng)對操作系統(tǒng)的需求是需要有良好的實(shí)時(shí)性, Linux 符合需求。 南華大學(xué)電氣工程學(xué)院課程設(shè)計(jì) 第 7 頁 共 30 頁 軟 件 硬 件 應(yīng)用程序 文件系統(tǒng) 嵌入式 Linux BootLoader ARM 開發(fā)平臺(tái) I/O 數(shù)據(jù) 網(wǎng) 口 打印機(jī) 串口 GP I O S3C2410 主 機(jī) 掃描儀 網(wǎng) 口 圖 2 嵌入式打印終端系統(tǒng)結(jié)構(gòu)框圖 嵌入式系統(tǒng) 設(shè)計(jì) 流程 嵌入式系統(tǒng)是一個(gè)復(fù)雜而專用的系統(tǒng),在進(jìn)行系統(tǒng)設(shè)計(jì)之前,必須對系統(tǒng)的功能需求進(jìn)行分析 并明確定義系統(tǒng)的外部功能和內(nèi)部軟硬件結(jié)構(gòu),然后對系統(tǒng)進(jìn)行總體結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)的各個(gè)模塊分割,分別實(shí)現(xiàn)硬件的規(guī)劃與設(shè)計(jì),應(yīng)用軟件的規(guī)劃與設(shè)計(jì)以及操作系統(tǒng)的剪裁。所以本系統(tǒng)硬件設(shè)計(jì)將主要圍繞嵌入式處理器與外圍電路而進(jìn)行設(shè)計(jì)。由于采用了由 ARM 公司設(shè)計(jì)的 16/32 位 ARM920T RISC 處理器,因此S3C2410 實(shí)現(xiàn)了 MMU 和獨(dú)立的 16KB 指令緩存和 16KB 數(shù)據(jù)緩存,且每個(gè)緩存均為 8 各字長度的流水線。 DMA(4Ch) LCD CONT LCD DMA BUS CONT Interrupt CONT Power Management Memory CONT SRAM/NOR/SDRAM USB Host CONT ExtMaster NAND CONT NAND Flash Boot Loader A H B B U S Instruction MMU C13 ARM9TDMI Processor core (Internal Embedded ICE) Data MMU C13 Instruction CACHE (16KB) CP15 Data CACHE (16KB) External Coproc Interface AMBA Bus I/F Write Buffer WriteBack PA Tag RAM 南華大學(xué)電氣工程學(xué)院課程設(shè)計(jì) 第 10 頁 共 30 頁 圖 4 S3C2410 的系統(tǒng)結(jié)構(gòu)圖 對照 S3C2410 的體系結(jié)構(gòu)圖,結(jié)合本次設(shè)計(jì)要用到的功能模塊,簡要說明一下 S3C2410 處理器的特性。處于掉電模式時(shí),所有外圍設(shè)備全部掉電,僅內(nèi)核電源供電,借助于 EINT[15: 0]或 RTC 報(bào)警中斷從掉電模式喚醒過來。可以通過設(shè)置 DCON 寄存器來選擇 H/W DMA 請求模式,每一個(gè) DMA 控制器通道能夠選擇一個(gè)數(shù)據(jù)源。 ARM920T 一共有 37 個(gè)寄存器 —— 31 個(gè) 通用寄存器和6 個(gè)狀態(tài)寄存器,這些寄存器有不同的用途, 處理器的狀態(tài)和工作模式?jīng)Q定了哪些寄存器需要使用。但 SDRAM 需要定時(shí)刷新以保持存儲(chǔ)的數(shù)據(jù), S3C2410 具有獨(dú)立的 SDRAM 刷新控制邏輯,且可支持 SDRAM 的自刷新模式,因此可方便地與 SDRAM 接口。同時(shí)串口是一個(gè)很通用的接口設(shè)備,通過串口可以和很多其它設(shè)備進(jìn)行擴(kuò)充連接。當(dāng)使用南華大學(xué)電氣工程學(xué)院課程設(shè)計(jì) 第 12 頁 共 30 頁 系統(tǒng)時(shí)鐘時(shí), UART可支持最高為 ;當(dāng)使用外部時(shí)鐘時(shí), UART可在更高波特率下工作。要發(fā)送的數(shù)據(jù)首先被寫入 FIFO,然后拷貝到發(fā)送移位寄存器,最后從數(shù)據(jù)輸出端口( TxD)依次被移位輸出。在主程序啟動(dòng)之前得先定義它們,某個(gè)可以通過設(shè)置來作為輸入或者輸出口使用。用這 14 根通用輸入輸出口連接微型打印機(jī)的并口。 圖 6 打印機(jī)并口與開發(fā)板 GPIO 口接口板設(shè)計(jì)圖 南華大學(xué)電氣工程學(xué)院課程設(shè)計(jì) 第 14 頁 共 30 頁 4 嵌入式 Linux 平臺(tái)構(gòu)建 在 基于 ARM 處理器的嵌入式 Linux 系統(tǒng)設(shè)計(jì)的過程中,軟件系統(tǒng)設(shè)計(jì)是與硬件板卡同步進(jìn)行的。 圖 7 嵌入式軟件層次 .引導(dǎo)加載程序:固化在硬件 flash 上的一段引到代碼,用于完成硬件的一些基本配置,引導(dǎo)嵌入式操作系統(tǒng)內(nèi)核啟動(dòng)。 建立交叉編譯環(huán)境 與 主流軟件開發(fā)非常相似,嵌入式系統(tǒng)開發(fā)者也需要用到 編譯器、連接器、解釋程序、集成開發(fā)環(huán)境等開發(fā)工具。這樣,內(nèi)核或其他應(yīng)用程序均可使用 armlinux 來制定使用該交叉編碼器 。因此往往需要量身定制。 Uboot Uboot 被認(rèn)為是功能最多、最具彈性以及開發(fā)最積極的開放源代碼BootLoader。 嵌入式 Linux 內(nèi)核移植 內(nèi)核 是所有 Linux 系統(tǒng)的中心軟件組件。 安裝根文件系統(tǒng) 創(chuàng)建根文件系統(tǒng)的基本目錄結(jié)構(gòu) 創(chuàng)建目標(biāo)板的根目錄 /armsys2410 及根目錄下的文件夾 , 這些文件夾為 Linux文件系統(tǒng)的必要的目錄。 /usr 這個(gè)是系統(tǒng)存放程序的目錄,比如命令、幫助文件等。 /mnt 這個(gè)目錄一般是用于存放 掛載儲(chǔ)存設(shè)備的掛載目錄的,比如有 cdrom等目錄。 /home 普通用戶家目錄默認(rèn)存放目錄。 而 /armsys2410 即為我們制作好后的嵌入式文件系統(tǒng)的根 /目錄。這就為可引導(dǎo)的磁盤和使用 Linux 的嵌入式設(shè)備提供了更多功能。 在“ Installation Options”選項(xiàng)中修改我們編譯后的文件系統(tǒng)路徑,即 make install 后將 BusyBox 安裝的路徑。我們選擇 的是靜態(tài)編譯,這樣可以使其不依懶于函數(shù)庫。采用的交叉編譯器工具包為 (包含 armlinuxgcc 等)。可在運(yùn)行時(shí)添加到內(nèi)核中的代碼被稱為“模塊”。包括設(shè)備名稱、相關(guān)注冊、操作函數(shù)的實(shí)現(xiàn)等。 函數(shù)原型 : devfs_register( NULL,DEVICE_NAME,DE_VFS_FL_DEFAULT,0,0,S_IFCHR | S_IRUSR | S_IWUSR, amp。/*設(shè)置 STB 口 */ write_gpio_bit(WEIDA_STB,1)。采用模塊方式加載驅(qū)動(dòng)。在打印的時(shí)候要注意每發(fā)一個(gè)字符要延遲 150 毫秒,因?yàn)槿绻蛴?shù)據(jù)發(fā)得 過快打印機(jī)來不及處理,所以要設(shè)置延時(shí)。它的特點(diǎn)是傳輸速度快,適用于短距離通信。 串口的設(shè)置 設(shè)置串口速率函數(shù): set_speed(int fd,int speed), 其中 fd?為打印機(jī)的設(shè)備文件,南華大學(xué)電氣工程學(xué)院課程設(shè)計(jì) 第 21 頁 共 30 頁 speed 為速率。其中, O_RDWR表示可讀可寫, O_NONBLOCK 表示非堵塞模式, O_NDELAY 表示沒有延遲,立即發(fā)出去。采用的是 TCP 的連接方式。這里對線程使用了兩個(gè)信號量,并初始化為: sem_init(amp。 兩個(gè)線程的核心代碼如下: Void thread1(void){ 打開串口;設(shè)置串口;建立連接; While(1){ Sem_wait(amp。} 南華大學(xué)電氣工程學(xué)院課程設(shè)計(jì) 第 22 頁 共 30 頁 } void thread2(void){ 打開打印機(jī)設(shè)備; While(1){ Sem_wait(amp。} } 如此可以使兩個(gè)線程得以同步 運(yùn)行,并可以執(zhí)行多次掃描和打印任務(wù)。重點(diǎn) 介紹了 S3C2410的結(jié)構(gòu), 并完成了打印機(jī)與 開發(fā)板接口電路 的設(shè)計(jì)。 體會(huì) 生活就是這樣,汗水預(yù)示著結(jié)果也見證了收獲。 暑假的時(shí)候我學(xué)了兩個(gè)月 ARM7TDMI,說實(shí)話,經(jīng)過兩個(gè)月的學(xué)習(xí),感覺自己的 C 語言編程能力提高 了不少。 通過這次的課程設(shè)計(jì)使我明白了:原來自己的知識還很欠缺,要學(xué)習(xí)的東西太多太多了。人生就象在爬山,一座山峰的后面還有更高的山峰在等著你。 雖然 程序不是自己編寫的,但不管怎么說,認(rèn)真地讀了一遍別人的程序也是有收獲的。S MANUAL Revision 7 . 徐英慧等編著. ARM9 嵌入式系統(tǒng)設(shè)計(jì) ――基于 S3C2410 與 Linux.北京:北京航空航天大學(xué)出版社, 2020 8 . 王田苗編著.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)(第 2 版).北京:清華大學(xué)出版社, 2020
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1