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

正文內(nèi)容

全國(guó)高校arm嵌入式教學(xué)及科研師資高級(jí)培訓(xùn)班講稿-(更新版)

  

【正文】 ) ? Windows + Linux 20 在 linux環(huán)境下進(jìn)行 uClinux開(kāi)發(fā) uClinux開(kāi)發(fā)環(huán)境建立 ? 必須采用支持 GDB的調(diào)試器(如 ADT1000A)才能進(jìn)行調(diào)試,否則只能通過(guò) BOOTLOADER進(jìn)行簡(jiǎn)單的程序燒寫(xiě)運(yùn)行等 ? 調(diào)試信息的打印可以通過(guò)串口完成,使用 linux下的mini超級(jí)終端程序(類(lèi)似于 Windows上的超級(jí)終端工具)接收并顯示目標(biāo)板傳送的打印信息 ? uClinux的程序編輯、編譯、調(diào)試都在 Linux環(huán)境進(jìn)行 ? uClinux串口驅(qū)動(dòng)完成后,可以通過(guò)內(nèi)核打印函數(shù)printk向串口打印信息,這是 uClinux內(nèi)核調(diào)試過(guò)程中最有效的手段 21 在 Windows + Cygwin環(huán)境下進(jìn)行 uClinux開(kāi)發(fā) uClinux開(kāi)發(fā)環(huán)境建立 ? uClinux內(nèi)核配置和編譯等在 Cygwin環(huán)境下運(yùn)行,程序編輯和調(diào)試都在 Windows環(huán)境下進(jìn)行 ,必須采用支持Windows下進(jìn)行 linux調(diào)試的調(diào)試器(如 ADT1000A)才能進(jìn)行調(diào)試,否則只能通過(guò) BOOTLOADER進(jìn)行簡(jiǎn)單的程序燒寫(xiě)運(yùn)行等 ? 調(diào)試信息的打印可以通過(guò)串口完成,使用 Windows上的超級(jí)終端工具接收并顯示目標(biāo)板傳送的打印信息 ? Cygwin是運(yùn)行于 Windows中的一個(gè)應(yīng)用程序,它可以使得 Linux環(huán)境下的應(yīng)用程序可以在 Cygwin環(huán)境下進(jìn)行編譯,即可以在 Windows進(jìn)行編譯。 ? 可以將 kernel和 fs統(tǒng)一編譯到一個(gè)映像 (image)文件中,也可以將 kernel和 fs獨(dú)立地放置于不同的映像文件中 (燒寫(xiě)到FLASH的不同區(qū)域),這需要通過(guò)修改 Makefile文件和內(nèi)核中的文件系統(tǒng)加載代碼實(shí)現(xiàn)。 ? uC/OSII沒(méi)有指定編譯器,在不同的平臺(tái)下使用該平臺(tái)下的編譯器,而各個(gè)編譯器,其匯編語(yǔ)法不同,因此,在不同類(lèi)型平臺(tái)下,匯編程序不一致。 它是為沒(méi)有MMU的處理器而設(shè)計(jì)的 , 進(jìn)而發(fā)展了一個(gè)完整的開(kāi)發(fā)平臺(tái) ,包括編譯 、 調(diào)試等工具 。uCLinux可以說(shuō)是最早的嵌入式 Linux發(fā)行版本 。 8 uClinux與 uC/OSII的區(qū)別 - 開(kāi)發(fā)工具 uClinux簡(jiǎn)介 ? uClinux發(fā)布中包含了編譯器和調(diào)試器等工具,它們都 采用 GCC編譯器 ,匯編語(yǔ)法一致。通過(guò) RTLinux的 patch,可以滿(mǎn)足 uClinux對(duì)實(shí)時(shí)性的需求 ? uC/OSII采用占先式內(nèi)核,實(shí)時(shí)性好 12 uClinux映像 (image)文件結(jié)構(gòu) uClinux開(kāi)發(fā)過(guò)程 ? uClinux映像由 內(nèi)核 (kernel)和 文件系統(tǒng) (fs)組成。 14 uClinux開(kāi)發(fā)步驟 uClinux開(kāi)發(fā)過(guò)程 ? BOOTLOADER開(kāi)發(fā) ? uClinux開(kāi)發(fā)環(huán)境建立 ? uClinux內(nèi)核移植 ? 應(yīng)用程序開(kāi)發(fā) 15 支持 uClinux開(kāi)發(fā)的 BOOTLOADER uClinux開(kāi)發(fā)過(guò)程 ? 引導(dǎo) uClinux ? 燒寫(xiě) uClinux內(nèi)核映像和文件系統(tǒng) ? 初始化硬件 16 GNU交叉編譯 uClinux開(kāi)發(fā)環(huán)境建立 ? uClinux采用 GNU交叉編譯器 ? GNU的交叉編譯器,包括以下組件: 1. Gcc交叉編譯器,即在宿主機(jī)上開(kāi)發(fā)編譯目標(biāo)上可運(yùn)行的二進(jìn)制文件; 2. Binutils輔助工具,包括 objdump、 objcopy等; 3. Gdb調(diào)試器。 ? 在 uCLinux的主頁(yè) 本的源代碼、編譯工具等下載。 30 uClinux內(nèi)核的 arch目錄 uClinux內(nèi)核移植 ? 當(dāng)使用壓縮核心時(shí), boot目錄下包含壓縮和解壓核心的源代碼和 Makefile文件。 46 uClinux內(nèi)核移植主要過(guò)程 1 uClinux內(nèi)核移植 ? 對(duì)于板級(jí)移植,內(nèi)核移植主要包括如下幾個(gè)部分: ? 內(nèi)核配置,包括板級(jí)包配置,如 S3C44B0XMBA44 ? 體系結(jié)構(gòu)相關(guān)代碼修改,根據(jù)板級(jí)包的配置,修改相應(yīng)的體系結(jié)構(gòu)相關(guān)代碼,包括: 壓縮核心啟動(dòng)代碼: 內(nèi)核啟動(dòng)代碼: 板級(jí)相關(guān)代碼: ? 連接腳本 核心連接腳本: 壓縮核心連接腳本: linux47 uClinux內(nèi)核移植主要過(guò)程 2 uClinux內(nèi)核移植 ? 加載文件系統(tǒng) romfs ? 編寫(xiě)驅(qū)動(dòng)程序 驅(qū)動(dòng)程序目錄: 網(wǎng)卡驅(qū)動(dòng)程序: LCD驅(qū)動(dòng)程序: 觸摸屏驅(qū)動(dòng)程序: ? 中斷處理 在 JX44B0中, uClinux內(nèi)核在 SDRAM中運(yùn)行,其中斷向量表0x0c000020處,因此在 BOOTLOADER中必須將中斷向量表正確導(dǎo)入到該處地址。 52 常用 uClinux文件系統(tǒng) uClinux內(nèi)核移植 ? Linux系統(tǒng)核心可以支持十多種文件系統(tǒng)類(lèi)型: JFS、 ext、 ext ext ISO9660、 XFS、 Minx、 MSDOS、 UMSDOS、 VFAT、 NTFS、 HPFS、 NFS、 SMB、 SysV、 PROC、 romfs等。 jx44b0 uCLinux系統(tǒng)采用romfs文件系統(tǒng) + ext2 ram盤(pán) 。 ? 大量使用 宏定義 ,且許多宏定義非常復(fù)雜,這也在一定程度上增加了難度。 68 uClinux應(yīng)用程序運(yùn)行 2 uClinux應(yīng)用程序設(shè)計(jì) ? uClinux應(yīng)用程序必須編譯成平坦格式的 (flat),通過(guò)連接參數(shù) Wl,elf2flt完成。 73 uClinux驅(qū)動(dòng)程序編譯方式 uClinux驅(qū)動(dòng)程序設(shè)計(jì) ? Linux中驅(qū)動(dòng)程序的使用可以按照兩種方式編譯: ?一種是 靜態(tài)編譯進(jìn)內(nèi)核 ?另一種是編譯成模塊以供 動(dòng)態(tài)加載 ? 由于 uClinux不支持模塊動(dòng)態(tài)加載 ,而且嵌入式 Linux不能夠象桌面 Linux那樣靈活的使用 insmod/rmmod加載卸載設(shè)備驅(qū)動(dòng)程序,因而通常在 uClinux中將設(shè)備驅(qū)動(dòng)程序靜態(tài)編譯進(jìn)內(nèi)核。 75 uClinux下設(shè)備驅(qū)動(dòng)程序組成 uClinux驅(qū)動(dòng)程序設(shè)計(jì) ? 自動(dòng)配置和初始化子程序 : 負(fù)責(zé)檢測(cè)所要驅(qū)動(dòng)的硬件設(shè)備是否存在和是否能正常工作。 open子程序必須對(duì)將要進(jìn)行的 I/O操作做好必要的準(zhǔn)備工作,如清除緩沖區(qū)等。 77 uClinux下設(shè)備驅(qū)動(dòng)程序 I/O設(shè)備入口點(diǎn) 2 uClinux驅(qū)動(dòng)程序設(shè)計(jì) ? write:往設(shè)備上寫(xiě)數(shù)據(jù)。 78 uClinux下設(shè)備注冊(cè) 1 uClinux驅(qū)動(dòng)程序設(shè)計(jì) ? 設(shè)備驅(qū)動(dòng)程序所提供的入口點(diǎn),在設(shè)備驅(qū)動(dòng)程序初始化的時(shí)候向系統(tǒng)進(jìn)行登記,以便系統(tǒng)在適當(dāng)?shù)臅r(shí)候調(diào)用。返回 EBUSY表示所申請(qǐng)的主設(shè)備號(hào)正在被其它設(shè)備驅(qū)動(dòng)程序使用。 void kfree(void * obj)。 void request_region(unsigned int from, unsigned int extent, const char *name)。 85 uClinux下設(shè)備驅(qū)動(dòng)程序舉例 uClinux驅(qū)動(dòng)程序設(shè)計(jì) ? 模塊加載 ? 設(shè)備初始化 ? 設(shè)備入口點(diǎn)實(shí)現(xiàn) 86 靜態(tài)編譯驅(qū)動(dòng)程序進(jìn)內(nèi)核 uClinux驅(qū)動(dòng)程序設(shè)計(jì) 模塊初始化函數(shù) 加載模塊 87 設(shè)備初始化 uClinux驅(qū)動(dòng)程序設(shè)計(jì) 文件操作結(jié)構(gòu)聲明 注冊(cè)驅(qū)動(dòng)程序 88 設(shè)備入口點(diǎn)實(shí)現(xiàn) uClinux驅(qū)動(dòng)程序設(shè)計(jì) 89 嵌入式 GUI需求 uClinux上的圖形系統(tǒng) ? 隨著手持式設(shè)備的硬件條件的提高,嵌入式系統(tǒng)對(duì)輕量級(jí)GUI的需求越來(lái)越迫切。 ? X Window系統(tǒng)采用標(biāo)準(zhǔn)的客戶(hù) /服務(wù)器體系結(jié)構(gòu),具有可擴(kuò)展性好、可移植性好等優(yōu)點(diǎn)。 ? 該項(xiàng)目的主要特色在于提供了比較完善的圖形功能,包括一些高級(jí)的功能,比如 Alpha混合,三維支持, TrueType字體支持等。但是該系統(tǒng)不是開(kāi)放源碼的,如果你要使用這個(gè)庫(kù),可能需要支付昂貴的授權(quán)費(fèi)用??筛鶕?jù)項(xiàng)目需求進(jìn)行定制配置和編譯 ? 高穩(wěn)定性和高性能。 ?文本框:?jiǎn)涡谢蚨嘈械奈谋揪庉嬁颉?yīng)用程序一般包含有自己的消息隊(duì)列,系統(tǒng)將消息發(fā)送到應(yīng)用程序的消息隊(duì)列中。 ? 它定義了一組不依賴(lài)于任何特殊硬件的抽象接口,所有頂層的圖形操作和輸入處理都建立在抽象接口之上。邏輯字體接口將各種不同的字體(比如宋體、黑體和揩體)和字體格式(比如等寬字體、變寬字體等光柵字體和 TrueType、 Type1 等矢量字體),以及各種不同字符集( ISO885 GB231 Big UNICODE等)綜合起來(lái),從而可以通過(guò)統(tǒng)一的接口顯示不同字符集的不同字體的文本,并且還可以分析各種字符集文本的組成,比如字符、單詞等。 106 MiniGUI架構(gòu) uClinux上的圖形系統(tǒng) ? MiniGUIThreads版 ?MiniGUi的早期版本(即 MiniGUIThreads版)采用基于POSIX線(xiàn)程的消息傳遞和窗口管理機(jī)制,這種實(shí)現(xiàn)提供最大程度上的數(shù)據(jù)共享,但同時(shí)造成了 MiniGUI體系結(jié)構(gòu)上的脆弱。 108 MiniGUI應(yīng)用程序 helloworld示例 uClinux上的圖形系統(tǒng) ? 頭文件 ? 程序入口點(diǎn) ? 設(shè)置顯示區(qū)域 ? 創(chuàng)建和顯示主窗口 ? 消息循環(huán) ? 窗口過(guò)程函數(shù) ? 屏幕輸出 ? 退出 109 Helloworld示例 1 uClinux上的圖形系統(tǒng) MiniGUI包含頭文件 110 Helloworld示例 – 2 uClinux上的圖形系統(tǒng) 設(shè)置顯示區(qū)域 MiniGUI C程序入口點(diǎn) 設(shè)置窗口屬性 創(chuàng)建和顯示主窗口 開(kāi)始消息循環(huán) 程序的退出 111 Helloworld示例 3 uClinux上的圖形系統(tǒng) 窗口過(guò)程函數(shù) 退出消息 屏幕輸出 112 基于 ARM和 uClinux的開(kāi)發(fā) 謝謝!
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1