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

正文內(nèi)容

全國高校arm嵌入式教學及科研師資高級培訓班講稿-(專業(yè)版)

2025-08-29 09:35上一頁面

下一頁面
  

【正文】 106 MiniGUI架構 uClinux上的圖形系統(tǒng) ? MiniGUIThreads版 ?MiniGUi的早期版本(即 MiniGUIThreads版)采用基于POSIX線程的消息傳遞和窗口管理機制,這種實現(xiàn)提供最大程度上的數(shù)據(jù)共享,但同時造成了 MiniGUI體系結構上的脆弱。 ? 它定義了一組不依賴于任何特殊硬件的抽象接口,所有頂層的圖形操作和輸入處理都建立在抽象接口之上。 ?文本框:單行或多行的文本編輯框。但是該系統(tǒng)不是開放源碼的,如果你要使用這個庫,可能需要支付昂貴的授權費用。 ? X Window系統(tǒng)采用標準的客戶 /服務器體系結構,具有可擴展性好、可移植性好等優(yōu)點。 void request_region(unsigned int from, unsigned int extent, const char *name)。返回 EBUSY表示所申請的主設備號正在被其它設備驅(qū)動程序使用。 77 uClinux下設備驅(qū)動程序 I/O設備入口點 2 uClinux驅(qū)動程序設計 ? write:往設備上寫數(shù)據(jù)。 75 uClinux下設備驅(qū)動程序組成 uClinux驅(qū)動程序設計 ? 自動配置和初始化子程序 : 負責檢測所要驅(qū)動的硬件設備是否存在和是否能正常工作。 68 uClinux應用程序運行 2 uClinux應用程序設計 ? uClinux應用程序必須編譯成平坦格式的 (flat),通過連接參數(shù) Wl,elf2flt完成。 jx44b0 uCLinux系統(tǒng)采用romfs文件系統(tǒng) + ext2 ram盤 。 46 uClinux內(nèi)核移植主要過程 1 uClinux內(nèi)核移植 ? 對于板級移植,內(nèi)核移植主要包括如下幾個部分: ? 內(nèi)核配置,包括板級包配置,如 S3C44B0XMBA44 ? 體系結構相關代碼修改,根據(jù)板級包的配置,修改相應的體系結構相關代碼,包括: 壓縮核心啟動代碼: 內(nèi)核啟動代碼: 板級相關代碼: ? 連接腳本 核心連接腳本: 壓縮核心連接腳本: linux47 uClinux內(nèi)核移植主要過程 2 uClinux內(nèi)核移植 ? 加載文件系統(tǒng) romfs ? 編寫驅(qū)動程序 驅(qū)動程序目錄: 網(wǎng)卡驅(qū)動程序: LCD驅(qū)動程序: 觸摸屏驅(qū)動程序: ? 中斷處理 在 JX44B0中, uClinux內(nèi)核在 SDRAM中運行,其中斷向量表0x0c000020處,因此在 BOOTLOADER中必須將中斷向量表正確導入到該處地址。 ? 在 uCLinux的主頁 本的源代碼、編譯工具等下載。通過 RTLinux的 patch,可以滿足 uClinux對實時性的需求 ? uC/OSII采用占先式內(nèi)核,實時性好 12 uClinux映像 (image)文件結構 uClinux開發(fā)過程 ? uClinux映像由 內(nèi)核 (kernel)和 文件系統(tǒng) (fs)組成。uCLinux可以說是最早的嵌入式 Linux發(fā)行版本 。 ? uC/OSII沒有指定編譯器,在不同的平臺下使用該平臺下的編譯器,而各個編譯器,其匯編語法不同,因此,在不同類型平臺下,匯編程序不一致。 ? 對于 ARM可以采用如下兩個版本的編譯器: armelf armlinux 17 armelf 交叉編譯器 (推薦使用 ) uClinux開發(fā)環(huán)境建立 ? armelfgcc ? armelfld ? armelfas ? armelfobjdump ? armelfobjcopy ? armelfgdb 18 armlinux 交叉編譯器 uClinux開發(fā)環(huán)境建立 ? armlinuxgcc ? armlinuxld ? armlinuxas ? armlinuxobjdump ? armlinuxobjcopy ? armlinuxgdb 19 選擇 uClinux開發(fā)環(huán)境 uClinux開發(fā)環(huán)境建立 ? Windows環(huán)境 + Cygwin ? Windows環(huán)境 + VMWare虛擬機(安裝 RedHat ) ? Linux環(huán)境,推薦 RedHat ? 單機模式(一臺計算機) ? 雙機模式(兩臺計算機) ? Windows + Linux 20 在 linux環(huán)境下進行 uClinux開發(fā) uClinux開發(fā)環(huán)境建立 ? 必須采用支持 GDB的調(diào)試器(如 ADT1000A)才能進行調(diào)試,否則只能通過 BOOTLOADER進行簡單的程序燒寫運行等 ? 調(diào)試信息的打印可以通過串口完成,使用 linux下的mini超級終端程序(類似于 Windows上的超級終端工具)接收并顯示目標板傳送的打印信息 ? uClinux的程序編輯、編譯、調(diào)試都在 Linux環(huán)境進行 ? uClinux串口驅(qū)動完成后,可以通過內(nèi)核打印函數(shù)printk向串口打印信息,這是 uClinux內(nèi)核調(diào)試過程中最有效的手段 21 在 Windows + Cygwin環(huán)境下進行 uClinux開發(fā) uClinux開發(fā)環(huán)境建立 ? uClinux內(nèi)核配置和編譯等在 Cygwin環(huán)境下運行,程序編輯和調(diào)試都在 Windows環(huán)境下進行 ,必須采用支持Windows下進行 linux調(diào)試的調(diào)試器(如 ADT1000A)才能進行調(diào)試,否則只能通過 BOOTLOADER進行簡單的程序燒寫運行等 ? 調(diào)試信息的打印可以通過串口完成,使用 Windows上的超級終端工具接收并顯示目標板傳送的打印信息 ? Cygwin是運行于 Windows中的一個應用程序,它可以使得 Linux環(huán)境下的應用程序可以在 Cygwin環(huán)境下進行編譯,即可以在 Windows進行編譯。 ? kernel目錄的 件,內(nèi)核從其第一條指令處執(zhí)行。 53 romfs文件系統(tǒng) uClinux內(nèi)核移植 ? romfs文件系統(tǒng)是一個精簡的、只讀文件系統(tǒng)。 62 uClinux內(nèi)核移植的若干問題 1 uClinux內(nèi)核移植 ? 源程序閱讀問題 2 ? uClinux中并不是所有代碼都編譯進去,對于一個體系結構,只有很少部分的代碼參與編譯,因此,必須掌握uClinux發(fā)布中各目錄的意義才能進一步清楚是否參與編譯。 74 uClinux下設備驅(qū)動程序分類 uClinux驅(qū)動程序設計 ? 字符設備 :是指存取時沒有緩存的設備。如果設備是獨占的,即同一時刻只能有一個程序訪問此設備,則 open子程序必須設置一些標志以表示設備處于忙狀態(tài)。 Linux系統(tǒng)里,通過調(diào)用 register_chrdev向系統(tǒng)注冊字符型設備驅(qū)動程序。 ? 參數(shù) len為希望申請的字節(jié)數(shù), obj為要釋放的內(nèi)存指針。 ? 近來的市場需求顯示,越來越多的嵌入式系統(tǒng),包括 PDA、機頂盒、 DVD/VCD播放機、 WAP 手機等等系統(tǒng)均要求提供全功能的 Web瀏覽器。但作為一個窗口系統(tǒng),該項目提供的窗口處理功能還需要進一步完善,比如控件或構件的實現(xiàn)還很不完備,鍵盤和鼠標等的驅(qū)動還很不完善。 ? 可移植性好。應用程序可以建立一個循環(huán),在這個循環(huán)中讀取消息并處理消息,直到特定的消息傳來為止。 ? 在多字體和多字符集的支持中, MiniGUI也采用了面向?qū)ο蟮能浖夹g,使得添加新的字體支持和新的字符集支持非常方便。 ? MiniGUI提供類 Win32的 API,熟悉 Win32編程的讀者可以很快地掌握 MiniGUI編程的基本方法和各個 API接口函數(shù)。 ? 邏輯字體是 MiniGUI用來處理文本(包括文本輸出和文本分析)的頂層接口。 ? 在消息驅(qū)動的應用程序中,計算機外設發(fā)生的事件,例如鍵盤鍵的敲擊、鼠標鍵的按擊等,都由支持系統(tǒng)收集,將其以事先的約定格式翻譯為特定的消息。包含全部功能的庫文件大小為 300 K左右 ? 可配置。該項目的開發(fā)非?;钴S,國內(nèi)也有人參與了其中的開發(fā),并編寫了 GB2312等字符集的支持。參數(shù) to為復制的目的指針,from為源指針, n為要復制的字節(jié)數(shù)。 81 uClinux下內(nèi)存分配、釋放 uClinux驅(qū)動程序設計 ? 作為系統(tǒng)核心的一部分, 設備驅(qū)動程序在申請和釋放內(nèi)存時不是調(diào)用 malloc和 free,而代之以調(diào)用 kmalloc和 kfree,它們被定義為: include linux/ void * kmalloc(unsigned int len, int priority)。對于不同的系統(tǒng),也還有一些其它的入口點。對字符特別設備文件進行打開操作,都會調(diào)用設備的 open入口點。 ? uClinux下用戶態(tài)無法處理中斷 ? uClinux下對外設的訪問推薦采用驅(qū)動程序進行,在內(nèi)核態(tài)編寫驅(qū)動程序(包括直接對外設操作、處理中斷等),用戶態(tài)通過標準驅(qū)動程序調(diào)用方法進行操作。 ? 因此,閱讀 uClinux時必須借助一些工具 Source insight Ultraedit等 ? uClinux內(nèi)核使用 GNU C,它在 ANSI C基礎上進行了一些擴充,因此在許多編程習慣上與 ANSI C不同。虛擬文件系統(tǒng)是為 Linux用戶提供快速且高效的文件訪問服務而設計的。 27 uClinux發(fā)行版本的目錄結構 uClinux內(nèi)核移植 uClinuxdist Documentation config glibc images lib romfs uClibc user vendors 幫助文檔 配置腳本 glibc庫源代碼 映像文件目錄 標準 C庫 uClibc 編譯生成的根文件系統(tǒng) 標準 C庫 uClibc 應用程序源代碼 制造商配置文件 28 uClinux內(nèi)核的目錄結構 uClinux內(nèi)核移植 Documentation arch drivers fs include
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1