注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例詳解:基于ARM的應(yīng)用

嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例詳解:基于ARM的應(yīng)用

嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例詳解:基于ARM的應(yīng)用

定 價(jià):¥43.00

作 者: 胥靜主編
出版社: 北京航空航天大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 嵌入式計(jì)算機(jī)

ISBN: 9787810775588 出版時(shí)間: 2005-01-01 包裝: 平裝
開本: 26cm+光盤1片 頁數(shù): 391 字?jǐn)?shù):  

內(nèi)容簡介

  內(nèi)容簡介目錄本書是一本講述如何基于ARM7內(nèi)核處理器進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)和開發(fā)的實(shí)用書籍。本書提供的實(shí)例全面涉及各種底層硬件驅(qū)動(dòng)(如Flash ROM、SDRAM、Nandflash存儲(chǔ)器、通用I/O、UART、定時(shí)器、LCD、I2C接口、A/D轉(zhuǎn)換器、觸摸屏及USB等)、μC/OSⅡ嵌入式操作系統(tǒng)、圖形用戶界面系統(tǒng)、文件系統(tǒng)和TCP/IP協(xié)議棧等嵌入式系統(tǒng)體系結(jié)構(gòu)中的組成部件。書中通過28個(gè)實(shí)例對(duì)相關(guān)知識(shí)進(jìn)行了有針對(duì)性的深入分析和詳細(xì)解說,并為讀者提供了可遵循的實(shí)踐步驟,使讀者能夠在實(shí)際應(yīng)用中深入掌握和實(shí)現(xiàn)這些技術(shù)和技巧。本書內(nèi)容豐富,深入淺出,實(shí)用性強(qiáng),不僅適合作為高等學(xué)校嵌入式系統(tǒng)相關(guān)專業(yè)的實(shí)驗(yàn)、培訓(xùn)教材或教師參考用書,也適合從事嵌入式系統(tǒng)設(shè)計(jì)和開發(fā)工作的專業(yè)技術(shù)人士使用。隨著計(jì)算機(jī)技術(shù)逐漸滲透到各類電子產(chǎn)品當(dāng)中,一種實(shí)用、高效的計(jì)算機(jī)系統(tǒng):嵌入式系統(tǒng)不斷展現(xiàn)出它獨(dú)特的魅力。與桌面計(jì)算機(jī)不同,嵌入式計(jì)算機(jī)系統(tǒng)專門服務(wù)于特定需求,一般要求低成本、低耗費(fèi)、輕型、高性能、高可靠性及可配置性。嵌入式系統(tǒng)日益廣泛的應(yīng)用也讓人們看到了這項(xiàng)技術(shù)所蘊(yùn)涵的巨大的市場潛力。市場的需求帶動(dòng)了對(duì)技術(shù)人才的需求,今天,大批的技術(shù)人員和學(xué)者的目光都被吸引到嵌入式系統(tǒng)的設(shè)計(jì)與開發(fā)這門技術(shù)上。但是,嵌入式系統(tǒng)的設(shè)計(jì)與開發(fā)作為一項(xiàng)實(shí)踐性很強(qiáng)的專業(yè)技術(shù),光有理論知識(shí)是無法真正深刻理解和掌握的。而今,市場上一些有關(guān)嵌入式系統(tǒng)的書籍,多是理論的堆積和外文資料的翻譯,這對(duì)于希望獲得快速而有效的知識(shí)技能的嵌入式系統(tǒng)技術(shù)人員來說,無法通過對(duì)這些書籍的閱讀,獲得更有效的資訊,從而難以盡快地進(jìn)入角色、建立起設(shè)計(jì)思路。本書則試圖打破這種狀況,為讀者提供直觀、易懂且深入淺出的形式和內(nèi)容。書中采用了列舉實(shí)例的方式,深入淺出地揭示嵌入式系統(tǒng)技術(shù)在一些具體項(xiàng)目中的應(yīng)用。這些實(shí)例都是可供實(shí)踐和快速掌握的。每個(gè)實(shí)例相當(dāng)于一個(gè)小型項(xiàng)目。"實(shí)例內(nèi)容和目標(biāo)"類似于實(shí)際應(yīng)用開發(fā)中的"功能需求"或"技術(shù)指標(biāo)",它首先為實(shí)例明確了一個(gè)具體的實(shí)現(xiàn)目標(biāo);之后,依據(jù)應(yīng)用開發(fā)中的步驟,面對(duì)設(shè)計(jì)要求進(jìn)行"實(shí)例分析":采用什么樣的設(shè)計(jì)思路,主要的知識(shí)有哪些,要進(jìn)行哪幾項(xiàng)工作等等;最后在"實(shí)現(xiàn)方法和步驟"中,則進(jìn)行具體的工作:電路設(shè)計(jì)和編程。本書是由在嵌入式系統(tǒng)領(lǐng)域中工作多年的工程師依據(jù)自身經(jīng)驗(yàn)編寫而成,因此,在跟隨本書實(shí)踐的過程中,讀者將感到有如親身參與了實(shí)際的設(shè)計(jì)與開發(fā)。書中不僅詳細(xì)說明了如何驗(yàn)證各個(gè)實(shí)例,附帶光盤中還包含了完整的可運(yùn)行的實(shí)例源代碼。通過對(duì)實(shí)例的運(yùn)行,讀者可以清楚地看到運(yùn)行的現(xiàn)象或結(jié)果,從而留下直觀和深刻的印象。書中的實(shí)例以業(yè)界表現(xiàn)出色的ARM處理器(采用ARM7TDMI內(nèi)核的、三星公司推出的S3C44B0X)及其外圍電路為硬件基礎(chǔ),以簡明內(nèi)核式的μC/OSⅡ作為嵌入式操作系統(tǒng)進(jìn)行介紹,同時(shí)對(duì)嵌入式系統(tǒng)開發(fā)中常用的GUI系統(tǒng)、文件系統(tǒng)、TCP/IP協(xié)議棧等都進(jìn)行了全面的揭示,盡可能完整地講述嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)中運(yùn)用到的知識(shí)和技術(shù)。(1) 書中提供了哪些實(shí)例本書提供了28個(gè)實(shí)例,這些實(shí)例涉及面較廣,遵循著先總體、后具體,先硬件、后軟件,先模塊、后系統(tǒng)的思路編寫。這樣,方便了初學(xué)者從前往后順序閱讀,依次對(duì)每個(gè)實(shí)例進(jìn)行學(xué)習(xí)和實(shí)踐,循序漸進(jìn)地掌握嵌入式系統(tǒng)開發(fā)技術(shù)。同時(shí),本書的每一個(gè)實(shí)例又是相對(duì)獨(dú)立的,建議具備一定專業(yè)技術(shù)和經(jīng)驗(yàn)的讀者,可以首先通過閱讀實(shí)例2了解目標(biāo)系統(tǒng)的構(gòu)架,然后挑選自己感興趣的實(shí)例進(jìn)行研讀。實(shí)例1是一個(gè)概括性的實(shí)例,提出在進(jìn)行一個(gè)典型嵌入式系統(tǒng)產(chǎn)品的開發(fā)中所涉及的基本組成元素和應(yīng)采用的設(shè)計(jì)思路,建議讀者首先閱讀該實(shí)例,從而對(duì)嵌入式系統(tǒng)的設(shè)計(jì)與開發(fā)形成一個(gè)總體和直觀的認(rèn)識(shí)。實(shí)例2對(duì)常用開發(fā)工具及書中實(shí)例所依托的目標(biāo)系統(tǒng)進(jìn)行了詳細(xì)的介紹。通過閱讀該實(shí)例,讀者能夠了解到如何開始進(jìn)行與ARM處理器相關(guān)的嵌入式系統(tǒng)的開發(fā),如何構(gòu)建或運(yùn)用目標(biāo)系統(tǒng)平臺(tái)。由于每個(gè)實(shí)例都是在一定的目標(biāo)系統(tǒng)上運(yùn)行的,因此建議讀者仔細(xì)閱讀本實(shí)例的相關(guān)部分,了解目標(biāo)系統(tǒng)的基本硬件配置。該例還通過Hello World程序?qū)嵗?,引?dǎo)初學(xué)者開始嵌入式系統(tǒng)探索的第一步。從實(shí)例3開始,以三星公司的S3C44B0X處理器為例,介紹處理器內(nèi)部功能部件的應(yīng)用、基本外圍電路設(shè)計(jì)與應(yīng)用以及常用通訊接口的設(shè)計(jì)和應(yīng)用。由于嵌入式系統(tǒng)產(chǎn)品都是緊密依托于硬件系統(tǒng)的,因此,對(duì)硬件系統(tǒng)有一個(gè)深刻的了解十分有助于產(chǎn)品的設(shè)計(jì)和開發(fā)。從實(shí)例13開始,詳細(xì)分析了擴(kuò)展觸摸屏、USB接口和以太網(wǎng)接口等外圍部件及其接口的設(shè)計(jì)方法,其中以太網(wǎng)接口是作為后面TCP/IP協(xié)議棧應(yīng)用實(shí)踐的基礎(chǔ),觸摸屏的驅(qū)動(dòng)知識(shí)也與后面的GUI系統(tǒng)相關(guān)。實(shí)例16到19深入探討了μC/OSⅡ在ARM處理器系統(tǒng)中的應(yīng)用,主要圍繞3個(gè)內(nèi)容進(jìn)行應(yīng)用舉例:操作系統(tǒng)移植、多任務(wù)管理和通訊以及中斷處理程序設(shè)計(jì)。實(shí)例20到24圍繞GUI(圖形用戶界面)進(jìn)行應(yīng)用舉例,內(nèi)容包括移植、圖形文字顯示、漢字顯示、視窗控件和動(dòng)畫顯示等。實(shí)例25講述如何將文件系統(tǒng)加入到系統(tǒng)中,并運(yùn)用文件系統(tǒng)API函數(shù)對(duì)數(shù)據(jù)進(jìn)行文件管理操作。實(shí)例26到28,以以太網(wǎng)接口作為硬件基礎(chǔ),依次是TCP/IP協(xié)議棧中的ARP地址解析應(yīng)用實(shí)例、IP和ICMP網(wǎng)絡(luò)診斷應(yīng)用實(shí)例及UDP數(shù)據(jù)傳輸應(yīng)用實(shí)例。(2) 如何調(diào)試和運(yùn)行這些實(shí)例本書中的28個(gè)實(shí)例都經(jīng)過了嚴(yán)格驗(yàn)證,它們是在一款A(yù)RM7處理器開發(fā)平臺(tái):"ARMSys"上通過測試的[關(guān)于ARMSys開發(fā)平臺(tái)的詳細(xì)信息,可以從杭州立宇泰(原名立泰)電子有限公司的網(wǎng)站www.HZLitai.com.cn上獲得]。經(jīng)過適當(dāng)?shù)男薷?,這些實(shí)例也能夠在其他典型的ARM7開發(fā)板上運(yùn)行(以S3C44B0X為處理器)。建議讀者擁有一個(gè)自己的開發(fā)平臺(tái),這樣就可以對(duì)書中的實(shí)例進(jìn)行實(shí)踐了。本書的實(shí)例2中詳細(xì)介紹了ARMSys的體系結(jié)構(gòu),在對(duì)實(shí)例電路的講述中也會(huì)采用ARMSys的電路結(jié)構(gòu)。為了更好地學(xué)習(xí)本書的內(nèi)容,建議讀者通過這套開發(fā)平臺(tái),或通過自行設(shè)計(jì)和制作開發(fā)板來驗(yàn)證實(shí)例,作者在本書的附帶光盤中提供了S3C44B0X開發(fā)板的原理圖實(shí)例(光盤目錄\\SCH\\)。除了目標(biāo)板,還需要一套ARM處理器專用的開發(fā)軟件,例如ARM公司提供的ARM Software Development Toolkit 2.5(簡稱SDT2.5),就是一個(gè)集成開發(fā)環(huán)境。每一個(gè)實(shí)例的源代碼都放在本書附帶光盤中的Source\\目錄下,包括可以在SDT2.5下打開的工程文件和可進(jìn)行程序固化的*.bin文件。在SDT2.5下,利用一個(gè)簡易的并口轉(zhuǎn)JTAG口電路模塊就可以實(shí)現(xiàn)代碼的下載與調(diào)試,這種方式的速度較慢,但是簡易而且價(jià)格低。同樣可以在光盤的SCH\\目錄下找到JTAG板的電路原理圖。關(guān)于具體的開發(fā)環(huán)境的組建和開發(fā)步驟,在本書的實(shí)例2中將有詳細(xì)的指導(dǎo)說明。(3) 光盤資料介紹Tools\\目錄下包括ARM處理器開發(fā)工具軟件包,內(nèi)容有:IDE Trial\\集成開發(fā)環(huán)境軟件試用版JTAG\\JTAG協(xié)議轉(zhuǎn)換程序USB\\USB程序下載器安裝程序Programmer\\燒錄工具Source\\目錄下包括28個(gè)實(shí)例的工程文件、源程序文件、庫文件和工程模板:ADCtestS3C44B0X內(nèi)置A/D轉(zhuǎn)換器應(yīng)用實(shí)例ARPscanARP地址解析應(yīng)用實(shí)例ColorLCDtest彩色LCD驅(qū)動(dòng)實(shí)例EINTtestS3C44B0X外部中斷實(shí)例Ethernet以太網(wǎng)底層函數(shù)編寫實(shí)例FAT16testFAT16文件系統(tǒng)應(yīng)用實(shí)例FlashtestFlash ROM讀寫實(shí)例guiHelloworld GUI軟件包Hello World應(yīng)用實(shí)例guiHZKGUI與漢字庫的應(yīng)用實(shí)例guiMemDevGUI動(dòng)畫顯示應(yīng)用實(shí)例guiScaleGUI繪制圖形應(yīng)用實(shí)例guiWMGUI窗口控件應(yīng)用實(shí)例HelloworldHello World程序IICtestI2C接口應(yīng)用實(shí)例IOtestI/O應(yīng)用實(shí)例:矩陣式鍵盤掃描Nandflashtest非線性Flash ROM讀寫應(yīng)用實(shí)例PDAtest模擬PDA應(yīng)用實(shí)例PingtestPING診斷工具應(yīng)用實(shí)例RTCtestS3C44B0X內(nèi)置RTC應(yīng)用實(shí)例SDRAMtestSDRAM接口應(yīng)用實(shí)例Timertest 定時(shí)器應(yīng)用實(shí)例Touchtest觸摸屏應(yīng)用實(shí)例UARTtestUART串行口應(yīng)用實(shí)例ucos_ex1μC/OSⅡ應(yīng)用之一:多任務(wù)ucos_ex2 μC/OSⅡ應(yīng)用之二:任務(wù)間通訊ucos_ex3μC/OSⅡ應(yīng)用之三:中斷服務(wù)程序UDPtestUDP數(shù)據(jù)傳輸應(yīng)用實(shí)例USBN9603demoUSBN9603控制器的固件程序編寫范例USBtestUSB接口固件編程實(shí)例template.apjSDT工程模板PCSoftware\\目錄下包括上述實(shí)例中使用到的PC機(jī)軟件或驅(qū)動(dòng)程序:GUI Trial\\GUI庫文件和字體轉(zhuǎn)換工具TCPLean\\運(yùn)行在主機(jī)上的TCP/IP服務(wù)程序可執(zhí)行文件(配合實(shí)例26~28)USB\\運(yùn)行在主機(jī)上的USB文本文件下載器(配合實(shí)例15)SCH\\目錄下包括S3C44B0X處理器系統(tǒng)參考電路圖(PDF格式)。(4) 適合什么樣的讀者本書的主要目的是向社會(huì)推廣與嵌入式系統(tǒng)有關(guān)的知識(shí)和技術(shù),內(nèi)容編排是由淺入深的,適合不同程度的讀者。入門的讀者可以很快地掌握一些常用的技術(shù)并積累開發(fā)經(jīng)驗(yàn),專業(yè)讀者則可從對(duì)某個(gè)專題實(shí)例的閱讀和練習(xí)中,掌握相應(yīng)的開發(fā)技術(shù)和技巧。對(duì)本書有任何意見和建議,歡迎來信與作者聯(lián)系:xujinggg120@263.net。(5) 感謝參加本書編寫和審閱的還有周德興、饒大立、路邀、丁立偉、郭炳予等,在此對(duì)他們的熱情支持表示衷心感謝!對(duì)杭州立宇泰電子有限公司提供的優(yōu)秀硬件平臺(tái)支持表示感謝!編著者2004年8月 實(shí)例1嵌入式系統(tǒng)開發(fā)實(shí)例:模擬PDA的實(shí)現(xiàn)1.1 概述11.2 實(shí)例內(nèi)容和目標(biāo)11.3 實(shí)例分析21.3.1 系統(tǒng)構(gòu)成的元素21.3.2 硬件部分31.3.3 軟件部分51.4 實(shí)現(xiàn)方法與步驟101.4.1 連接硬件電路111.4.2 程序目錄和內(nèi)容說明111.4.3 下載并運(yùn)行程序12實(shí)例2ARMSys平臺(tái)開發(fā)環(huán)境及工具詳解2.1 概述132.2 實(shí)例內(nèi)容和目標(biāo)132.3 實(shí)例分析142.3.1 ARMSys的組成結(jié)構(gòu)142.3.2 ARMSys的啟動(dòng)程序和地址空間分配162.3.3 ARMSys提供的開發(fā)環(huán)境182.3.4 應(yīng)用開發(fā)步驟192.3.5 SDT2.5的介紹192.4 實(shí)現(xiàn)方法與步驟202.4.1 編寫或修改源程序代碼212.4.2 使用APM對(duì)工程進(jìn)行編譯222.4.3 使用ADW進(jìn)行仿真調(diào)試302.4.4 在Windows 2000/ XP下使用JTAG.exe372.4.5USB口下載工具392.4.6代碼固化40實(shí)例3Flash ROM器件應(yīng)用3.1 概述423.2 實(shí)例內(nèi)容和目標(biāo)423.3 實(shí)例分析433.3.1 讀操作443.3.2 字寫入操作453.3.3 扇區(qū)/ 塊/ 整片擦除操作473.3.4 內(nèi)部操作狀態(tài)檢測493.4 實(shí)現(xiàn)方法與步驟493.4.1 接口電路493.4.2 硬件上的設(shè)置503.4.3 寄存器的說明513.4.4 SST39VF160的擦除533.4.5 SST39VF160的寫入533.5 運(yùn)行結(jié)果54實(shí)例4SDRAM器件應(yīng)用4.1 概述554.2 實(shí)例內(nèi)容和目標(biāo)554.3 實(shí)例分析554.3.1 SRAM器件的結(jié)構(gòu)特點(diǎn)554.3.2 DRAM器件的結(jié)構(gòu)特點(diǎn)564.3.3 SDRAM器件的構(gòu)成原理和應(yīng)用特點(diǎn)574.3.4 SDRAM器件IS42S16400簡介574.4 實(shí)現(xiàn)方法與步驟594.4.1 地址分配594.4.2 電路連接614.4.3 寄存器設(shè)置614.4.4 對(duì)IS42S16400的編程654.5 運(yùn)行結(jié)果65實(shí)例5Nandflash存儲(chǔ)器器件應(yīng)用5.1 概述665.2 實(shí)例內(nèi)容和目標(biāo)665.3 實(shí)例分析665.3.1 Nandflash存儲(chǔ)器的應(yīng)用特點(diǎn)665.3.2 Nandflash存儲(chǔ)器器件K9F5608U0B簡介675.4 實(shí)現(xiàn)方法與步驟785.4.1 K9F5608U0B與S3C44B0X的接口設(shè)計(jì)785.4.2 寫入指令、地址和讀/ 寫數(shù)據(jù)的條件795.4.3 讀器件的ID碼子程序805.4.4 塊擦除子程序805.4.5 頁寫入子程序815.4.6 頁讀出子程序825.5 運(yùn)行結(jié)果83實(shí)例6通用I/O口的應(yīng)用:矩陣式鍵盤6.1 概述846.2 實(shí)例內(nèi)容和目標(biāo)846.3 實(shí)例分析846.3.1 S3C44B0X的多功能I/ O口846.3.2 端口選擇886.3.3 端口控制寄存器886.3.4 鍵盤的循環(huán)掃描檢測法906.4 實(shí)現(xiàn)方法與步驟906.4.1 寄存器設(shè)置916.4.2 編寫鍵盤掃描程序916.5 運(yùn)行結(jié)果93實(shí)例7外部中斷處理程序設(shè)計(jì)7.1 概述947.2 實(shí)例內(nèi)容和目標(biāo)947.3 實(shí)例分析947.3.1 概述947.3.2 中斷控制器947.3.3 中斷源957.3.4 中斷優(yōu)先級(jí)產(chǎn)生模塊967.3.5 中斷優(yōu)先級(jí)977.3.6 中斷矢量地址表977.3.7 控制中斷的寄存器987.4 實(shí)現(xiàn)方法與步驟1067.4.1 I/ O口設(shè)置1067.4.2 外部中斷觸發(fā)模式設(shè)置1077.4.3 中斷寄存器設(shè)置1077.4.4 主程序編寫1077.4.5 中斷處理程序編寫1097.5 運(yùn)行結(jié)果109實(shí)例8UART異步串行接口應(yīng)用8.1 概述1108.2 實(shí)例內(nèi)容和目標(biāo)1108.3 實(shí)例分析1108.3.1 UART操作1118.3.2 UART寄存器1148.4 實(shí)現(xiàn)方法與步驟1208.4.1 電路接口和I/ O口設(shè)置1208.4.2 UART初始化1218.4.3 myUart_Send函數(shù)主體1218.4.4 字符發(fā)送程序myUart_SendByte1228.5 運(yùn)行結(jié)果123實(shí)例9定時(shí)器應(yīng)用9.1 概述1249.2 實(shí)例內(nèi)容和目標(biāo)1249.3 實(shí)例分析1249.3.1 PWM定時(shí)器操作1249.3.2 PWM定時(shí)器寄存器1309.4 實(shí)現(xiàn)方法與步驟1339.4.1 I/ O口設(shè)置1339.4.2 定時(shí)器時(shí)鐘源頻率設(shè)置1339.4.3 設(shè)置輸出波形頻率1339.4.4 設(shè)置占空比1339.4.5 設(shè)置定時(shí)器控制寄存器并啟動(dòng)定時(shí)器1339.4.6 定時(shí)器中斷主程序1349.4.7 定時(shí)中斷服務(wù)程序1349.5 運(yùn)行結(jié)果134實(shí)例10實(shí)時(shí)日歷時(shí)鐘(RTC)應(yīng)用10.1 概述13610.2 實(shí)例內(nèi)容和目標(biāo)13610.3 實(shí)例分析13610.3.1 實(shí)時(shí)時(shí)鐘特性13610.3.2 實(shí)時(shí)時(shí)鐘寄存器13710.4 實(shí)現(xiàn)方法與步驟13910.4.1 實(shí)時(shí)時(shí)鐘初始化13910.4.2 顯示當(dāng)前時(shí)間14010.5 運(yùn)行結(jié)果140實(shí)例11LCD接口應(yīng)用11.1 概述14211.2 實(shí)例內(nèi)容和目標(biāo)14211.3 實(shí)例分析14211.3.1 STN型彩色LCD模塊介紹14211.3.2 S3C44B0X的內(nèi)部LCD控制器介紹14411.4 實(shí)現(xiàn)方法與步驟15011.4.1 I/ O口LCD功能設(shè)置15011.4.2 LCD初始化程序15111.4.3 圖像數(shù)據(jù)15311.4.4 全屏顯示參考程序15311.4.5 正方形的繪制15411.5 運(yùn)行結(jié)果154實(shí)例12I2C接口應(yīng)用12.1 概述15612.2 實(shí)例內(nèi)容和目標(biāo)15612.3 實(shí)例分析15612.3.1 I2C總線的基本知識(shí)15612.3.2 I2C總線通用傳輸格式15612.3.3 I2C串行EEPROM的相關(guān)知識(shí)15812.3.4 S3C44B0X的I2C接口16012.4 實(shí)現(xiàn)方法與步驟16512.4.1 I/ O端口I2C功能設(shè)置16512.4.2 I2C中斷使能16512.4.3 初始化I2C接口16512.4.4 向24LC04B中寫入數(shù)據(jù)子程序165124.5從24LC04B中讀出數(shù)據(jù)子程序166124.6I2C中斷處理子程序166125運(yùn)行結(jié)果168實(shí)例13A/D轉(zhuǎn)換器應(yīng)用13.1 概述16913.2 實(shí)例內(nèi)容和目標(biāo)16913.3 實(shí)例分析16913.3.1 關(guān)于A/ D轉(zhuǎn)換的基礎(chǔ)知識(shí)16913.3.2 S3C44B0X具備的ADC16913.4 實(shí)現(xiàn)方法與步驟17213.4.1 模擬信號(hào)的產(chǎn)生17213.4.2 ADC控制寄存器的初始化17213.4.3 讀取A/ D轉(zhuǎn)換數(shù)值子程序17313.5 運(yùn)行結(jié)果173實(shí)例14觸摸屏應(yīng)用14.1 概述17414.2 實(shí)例內(nèi)容和目標(biāo)17414.3 實(shí)例分析17414.3.1 觸摸屏的基本原理17414.3.2 觸摸屏的控制實(shí)現(xiàn)17514.3.3 ADS7843引腳配置17514.3.4 ADS7843的典型電路17614.3.5 ADS7843的控制字17714.3.6 ADS7843的工作過程17814.4 實(shí)現(xiàn)方法與步驟17914.4.1 接口電路的連接和I/ O口設(shè)置17914.4.2 讀取觸摸點(diǎn)坐標(biāo)程序設(shè)計(jì)17914.5 運(yùn)行結(jié)果180實(shí)例15USB設(shè)備接口應(yīng)用15.1 概述18215.2 實(shí)例內(nèi)容和目標(biāo)18215.3 實(shí)例分析18315.3.1 USB接口工作原理概述18315.3.2 USB設(shè)備開發(fā)過程18415.3.3 USB接口控制器USBN960318415.3.4 USB接口電路18515.3.5 固件程序的開發(fā)18515.4 實(shí)現(xiàn)方法與步驟18715.4.1 安裝USB驅(qū)動(dòng)程序及進(jìn)行文件下載18715.4.2 修改固件程序18715.5 運(yùn)行結(jié)果189實(shí)例16以太網(wǎng)控制器接口應(yīng)用16.1 概述19116.2 實(shí)例內(nèi)容和目標(biāo)19116.3 實(shí)例分析19116.3.1 以太網(wǎng)基礎(chǔ)知識(shí)19116.3.2 關(guān)于以太網(wǎng)控制器RTL801919416.4 實(shí)現(xiàn)方法與步驟19916.4.1 連接以太網(wǎng)模塊與處理器的接口19916.4.2 寄存器地址映射19916.4.3 熱復(fù)位函數(shù)20016.4.4 初始化函數(shù)20116.4.5 接收/ 發(fā)送函數(shù)20216.5 運(yùn)行結(jié)果205實(shí)例17μC/OSⅡ的移植與應(yīng)用17.1 概述20617.2 實(shí)例內(nèi)容和目標(biāo)20717.3 實(shí)例分析20717.3.1 μC/OSⅡ操作系統(tǒng)的移植條件20717.3.2 移植工作的內(nèi)容20817.4 實(shí)現(xiàn)方法與步驟21417.4.1 實(shí)驗(yàn)準(zhǔn)備21417.4.2 多任務(wù)應(yīng)用程序的編寫21417.5 運(yùn)行結(jié)果217實(shí)例18μC/OSⅡ的多任務(wù)管理和任務(wù)間通訊18.1 概述21818.2 實(shí)例內(nèi)容和目標(biāo)21818.3 實(shí)例分析21918.3.1 任務(wù)管理函數(shù)21918.3.2 任務(wù)間的通訊與同步22418.4 實(shí)現(xiàn)方法與步驟23018.4.1 連接電路23018.4.2 主任務(wù)處理程序23018.4.3 鍵盤檢測任務(wù)處理程序23218.4.4 電壓檢測任務(wù)處理程序23318.5 運(yùn)行結(jié)果233實(shí)例19μC/OSⅡ中斷處理程序設(shè)計(jì)19.1 概述23519.2 實(shí)例內(nèi)容和目標(biāo)23619.3 實(shí)例分析23619.3.1 中斷服務(wù)子程序23619.3.2 中斷延遲23719.3.3 中斷響應(yīng)23719.3.4 中斷恢復(fù)時(shí)間23719.3.5 中斷延遲、響應(yīng)和恢復(fù)23819.4 實(shí)現(xiàn)方法與步驟23819.4.1 中斷處理匯編程序的編寫23819.4.2 中斷處理C程序的編寫24019.4.3 中斷處理任務(wù)程序的編寫24019.5 運(yùn)行結(jié)果241實(shí)例20GUI系統(tǒng)的移植與應(yīng)用20.1 概述24220.2 實(shí)例內(nèi)容和目標(biāo)24220.3 實(shí)例分析24320.3.1 emWin的介紹24320.3.2 emWin對(duì)目標(biāo)系統(tǒng)的要求24420.3.3 屏幕和坐標(biāo)24420.3.4 應(yīng)用emWin的步驟24520.3.5 emWin的移植24520.4 實(shí)現(xiàn)方法與步驟24720.4.1 實(shí)例準(zhǔn)備24720.4.2 定義宏24720.4.3 編寫Hello World程序24720.5 運(yùn)行結(jié)果248實(shí)例21圖形文字顯示的基本應(yīng)用21.1 概述24921.2 實(shí)例內(nèi)容和目標(biāo)24921.3 實(shí)例分析24921.3.1 文字顯示24921.3.2 圖形顯示25321.4 實(shí)現(xiàn)方法與步驟25621.4.1 實(shí)例準(zhǔn)備25621.4.2 繪制表盤的示例代碼25621.5 運(yùn)行結(jié)果257實(shí)例22漢字顯示的應(yīng)用22.1 概述25822.2 實(shí)例內(nèi)容和目標(biāo)25822.3 實(shí)例分析25822.3.1 emWin字體庫的應(yīng)用25822.3.2 字體庫API25922.3.3 emWin已經(jīng)提供的字符集26022.3.4 字體轉(zhuǎn)換器26122.3.5 字體庫文件結(jié)構(gòu)26222.4 實(shí)現(xiàn)方法與步驟26422.4.1 得到符合emWin要求的漢字庫26422.4.2 實(shí)例準(zhǔn)備26822.4.3 顯示漢字的示例代碼26822.5 運(yùn)行結(jié)果268實(shí)例23GUI視窗和控件的應(yīng)用23.1 概述26923.2 實(shí)例內(nèi)容和目標(biāo)26923.3 實(shí)例分析26923.3.1 視窗管理器(WM)26923.3.2 視窗控件(Widgets)27523.3.3 對(duì)話框(Dialog)28723.4 實(shí)現(xiàn)方法與步驟29423.4.1 實(shí)例準(zhǔn)備29423.4.2 編寫主程序29423.5 運(yùn)行結(jié)果294實(shí)例24GUI中的動(dòng)畫顯示應(yīng)用24.1 概述29624.2 實(shí)例內(nèi)容和目標(biāo)29624.3 實(shí)例分析29624.3.1 使用存儲(chǔ)器設(shè)備驅(qū)動(dòng)的說明29624.3.2 存儲(chǔ)器設(shè)備驅(qū)動(dòng)的繪圖步驟29724.3.3 起用存儲(chǔ)器設(shè)備驅(qū)動(dòng)29724.3.4 與存儲(chǔ)器設(shè)備驅(qū)動(dòng)相關(guān)的API函數(shù)29824.4 實(shí)現(xiàn)方法與步驟30424.4.1 回調(diào)函數(shù)的參數(shù)30524.4.2 回調(diào)函數(shù)的編寫30524.4.3 主程序編寫30624.5 運(yùn)行結(jié)果307實(shí)例25基于Nandflash的文件系統(tǒng)25.1 概述30825.2 實(shí)例內(nèi)容和目標(biāo)30825.3 實(shí)例分析30925.3.1 FAT16文件系統(tǒng)的結(jié)構(gòu)30925.3.2 關(guān)于Nandflash 31425.4 實(shí)現(xiàn)方法與步驟31525.4.1 FAT16的移植31525.4.2 格式化文件系統(tǒng)31625.4.3 文件系統(tǒng)初始化31825.4.4 文件系統(tǒng)驗(yàn)證程序31925.5 運(yùn)行結(jié)果320實(shí)例26ARP網(wǎng)絡(luò)尋址26.1 概述32126.2 實(shí)例內(nèi)容和目標(biāo)32126.3 實(shí)例分析32326.3.1 IP地址32326.3.2 IP地址解析32326.3.3 ARP數(shù)據(jù)包32426.3.4 ARP掃描器32526.4 實(shí)現(xiàn)方法與步驟32626.4.1 主程序處理32626.4.2 ARP數(shù)據(jù)包的檢測和創(chuàng)建32926.4.3 連接電路并調(diào)試運(yùn)行33026.5 運(yùn)行結(jié)果330實(shí)例27IP與ICMP應(yīng)用27.1 概述33227.2 實(shí)例內(nèi)容和目標(biāo)33227.3 實(shí)例分析33427.3.1 IP數(shù)據(jù)報(bào)33427.3.2 ICMP消息33627.3.3 PING工具的工作步驟33727.4 實(shí)現(xiàn)方法與步驟33827.4.1 主程序處理33827.4.2 報(bào)文發(fā)送34027.4.3 報(bào)文接收34127.4.4 ICMP消息函數(shù)34327.4.5 IP數(shù)據(jù)報(bào)函數(shù)34427.4.6 連接電路并調(diào)試運(yùn)行34627.5 運(yùn)行結(jié)果346實(shí)例28UDP數(shù)據(jù)報(bào)傳輸應(yīng)用28.1 概述34828.2 實(shí)例內(nèi)容和目標(biāo)34828.3 實(shí)例分析34928.3.1 UDP數(shù)據(jù)報(bào)34928.3.2 端口和套接字35028.3.3 UDP數(shù)據(jù)包格式35128.4 實(shí)現(xiàn)方法與步驟35128.4.1 主程序處理35228.4.2 接收處理35328.4.3 創(chuàng)建和發(fā)送UDP數(shù)據(jù)報(bào)35628.4.4 連接電路并調(diào)試運(yùn)行35728.5 運(yùn)行結(jié)果357附錄AS3C44B0X概述A.1簡介359A.2特性360A.3內(nèi)部結(jié)構(gòu)圖362A.4芯片引腳定義363附錄BARM處理器工作模式B.1處理器工作狀態(tài)368B.2狀態(tài)切換368B21進(jìn)入THUMB狀態(tài)368B22進(jìn)入ARM狀態(tài)368B.3存儲(chǔ)空間格式368B.3.1大端格式368B.3.2小端格式369B.4指令長度369B.4.1數(shù)據(jù)類型369B.4.2操作模式369B.5寄存器369B.5.1ARM狀態(tài)寄存器集369B.5.2THUMB狀態(tài)寄存器集370B.5.3ARM狀態(tài)寄存器與THUMB狀態(tài)寄存器之間的關(guān)系371B.5.4在THUMB狀態(tài)下操作寄存器高位372B.6程序狀態(tài)寄存器PSR372B.6.1條件碼標(biāo)志372B.6.2控制位373B.6.3保留位374B.7異常374B.7.1進(jìn)入異常處理時(shí)的行為374B.7.2離開異常處理時(shí)的行為375B.7.3異常進(jìn)入/ 退出概要375B.7.4FIQ(快速中斷請(qǐng)求)375B.7.5IRQ(中斷請(qǐng)求)376B.7.6Abort(異常中斷)376B.7.7SWI(軟件中斷)376B.7.8未定義指令377B.7.9異常中斷向量377B.7.10異常中斷優(yōu)先級(jí)377B.7.11復(fù)位378附錄C44binit.s初始化程序研究C.1定義入口地址379C.2建立異常中斷處理向量379C.2.1向量中斷模式(只針對(duì)IRQ)380C.2.2非向量中斷模式382C.3初始化外部存儲(chǔ)器385C.4初始化堆棧指針386C.5初始化I/ O設(shè)備387C.6初始化中斷系統(tǒng)所需要的RAM變量…387C.7初始化C程序所要求的存儲(chǔ)空間388C.7.1關(guān)于映像文件及區(qū)域388C.7.2與區(qū)域相關(guān)的符號(hào)388C.7.3加載時(shí)的映像文件389C.7.4執(zhí)行時(shí)的映像文件389C.7.5初始化范例程序390C.8進(jìn)入C語言程序的運(yùn)行391參考文獻(xiàn)392

作者簡介

暫缺《嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例詳解:基于ARM的應(yīng)用》作者簡介

圖書目錄

實(shí)例1嵌入式系統(tǒng)開發(fā)實(shí)例——模擬PDA的實(shí)現(xiàn)
1.1 概述1
1.2 實(shí)例內(nèi)容和目標(biāo)1
1.3 實(shí)例分析2
1.3.1 系統(tǒng)構(gòu)成的元素2
1.3.2 硬件部分3
1.3.3 軟件部分5
1.4 實(shí)現(xiàn)方法與步驟10
1.4.1 連接硬件電路11
1.4.2 程序目錄和內(nèi)容說明11
1.4.3 下載并運(yùn)行程序12
實(shí)例2ARMSys平臺(tái)開發(fā)環(huán)境及工具詳解
2.1 概述13
2.2 實(shí)例內(nèi)容和目標(biāo)13
2.3 實(shí)例分析14
2.3.1 ARMSys的組成結(jié)構(gòu)14
2.3.2 ARMSys的啟動(dòng)程序和地址空間分配16
2.3.3 ARMSys提供的開發(fā)環(huán)境18
2.3.4 應(yīng)用開發(fā)步驟19
2.3.5 SDT2.5的介紹19
2.4 實(shí)現(xiàn)方法與步驟20
2.4.1 編寫或修改源程序代碼21
2.4.2 使用APM對(duì)工程進(jìn)行編譯22
2.4.3 使用ADW進(jìn)行仿真調(diào)試30
2.4.4 在Windows 2000/ XP下使用JTAG.exe37
2.4.5USB口下載工具39
2.4.6代碼固化40
實(shí)例3Flash ROM器件應(yīng)用
3.1 概述42
3.2 實(shí)例內(nèi)容和目標(biāo)42
3.3 實(shí)例分析43
3.3.1 讀操作44
3.3.2 字寫入操作45
3.3.3 扇區(qū)/ 塊/ 整片擦除操作47
3.3.4 內(nèi)部操作狀態(tài)檢測49
3.4 實(shí)現(xiàn)方法與步驟49
3.4.1 接口電路49
3.4.2 硬件上的設(shè)置50
3.4.3 寄存器的說明51
3.4.4 SST39VF160的擦除53
3.4.5 SST39VF160的寫入53
3.5 運(yùn)行結(jié)果54
實(shí)例4SDRAM器件應(yīng)用
4.1 概述55
4.2 實(shí)例內(nèi)容和目標(biāo)55
4.3 實(shí)例分析55
4.3.1 SRAM器件的結(jié)構(gòu)特點(diǎn)55
4.3.2 DRAM器件的結(jié)構(gòu)特點(diǎn)56
4.3.3 SDRAM器件的構(gòu)成原理和應(yīng)用特點(diǎn)57
4.3.4 SDRAM器件IS42S16400簡介57
4.4 實(shí)現(xiàn)方法與步驟59
4.4.1 地址分配59
4.4.2 電路連接61
4.4.3 寄存器設(shè)置61
4.4.4 對(duì)IS42S16400的編程65
4.5 運(yùn)行結(jié)果65
實(shí)例5Nandflash存儲(chǔ)器器件應(yīng)用
5.1 概述66
5.2 實(shí)例內(nèi)容和目標(biāo)66
5.3 實(shí)例分析66
5.3.1 Nandflash存儲(chǔ)器的應(yīng)用特點(diǎn)66
5.3.2 Nandflash存儲(chǔ)器器件K9F5608U0B簡介67
5.4 實(shí)現(xiàn)方法與步驟78
5.4.1 K9F5608U0B與S3C44B0X的接口設(shè)計(jì)78
5.4.2 寫入指令、地址和讀/ 寫數(shù)據(jù)的條件79
5.4.3 讀器件的ID碼子程序80
5.4.4 塊擦除子程序80
5.4.5 頁寫入子程序81
5.4.6 頁讀出子程序82
5.5 運(yùn)行結(jié)果83
實(shí)例6通用I/O口的應(yīng)用——矩陣式鍵盤
6.1 概述84
6.2 實(shí)例內(nèi)容和目標(biāo)84
6.3 實(shí)例分析84
6.3.1 S3C44B0X的多功能I/ O口84
6.3.2 端口選擇88
6.3.3 端口控制寄存器88
6.3.4 鍵盤的循環(huán)掃描檢測法90
6.4 實(shí)現(xiàn)方法與步驟90
6.4.1 寄存器設(shè)置91
6.4.2 編寫鍵盤掃描程序91
6.5 運(yùn)行結(jié)果93
實(shí)例7外部中斷處理程序設(shè)計(jì)
7.1 概述94
7.2 實(shí)例內(nèi)容和目標(biāo)94
7.3 實(shí)例分析94
7.3.1 概述94
7.3.2 中斷控制器94
7.3.3 中斷源95
7.3.4 中斷優(yōu)先級(jí)產(chǎn)生模塊96
7.3.5 中斷優(yōu)先級(jí)97
7.3.6 中斷矢量地址表97
7.3.7 控制中斷的寄存器98
7.4 實(shí)現(xiàn)方法與步驟106
7.4.1 I/ O口設(shè)置106
7.4.2 外部中斷觸發(fā)模式設(shè)置107
7.4.3 中斷寄存器設(shè)置107
7.4.4 主程序編寫107
7.4.5 中斷處理程序編寫109
7.5 運(yùn)行結(jié)果109
實(shí)例8UART異步串行接口應(yīng)用
8.1 概述110
8.2 實(shí)例內(nèi)容和目標(biāo)110
8.3 實(shí)例分析110
8.3.1 UART操作111
8.3.2 UART寄存器114
8.4 實(shí)現(xiàn)方法與步驟120
8.4.1 電路接口和I/ O口設(shè)置120
8.4.2 UART初始化121
8.4.3 myUart_Send函數(shù)主體121
8.4.4 字符發(fā)送程序myUart_SendByte122
8.5 運(yùn)行結(jié)果123
實(shí)例9定時(shí)器應(yīng)用
9.1 概述124
9.2 實(shí)例內(nèi)容和目標(biāo)124
9.3 實(shí)例分析124
9.3.1 PWM定時(shí)器操作124
9.3.2 PWM定時(shí)器寄存器130
9.4 實(shí)現(xiàn)方法與步驟133
9.4.1 I/ O口設(shè)置133
9.4.2 定時(shí)器時(shí)鐘源頻率設(shè)置133
9.4.3 設(shè)置輸出波形頻率133
9.4.4 設(shè)置占空比133
9.4.5 設(shè)置定時(shí)器控制寄存器并啟動(dòng)定時(shí)器133
9.4.6 定時(shí)器中斷主程序134
9.4.7 定時(shí)中斷服務(wù)程序134
9.5 運(yùn)行結(jié)果134
實(shí)例10實(shí)時(shí)日歷時(shí)鐘(RTC)應(yīng)用
10.1 概述136
10.2 實(shí)例內(nèi)容和目標(biāo)136
10.3 實(shí)例分析136
10.3.1 實(shí)時(shí)時(shí)鐘特性136
10.3.2 實(shí)時(shí)時(shí)鐘寄存器137
10.4 實(shí)現(xiàn)方法與步驟139
10.4.1 實(shí)時(shí)時(shí)鐘初始化139
10.4.2 顯示當(dāng)前時(shí)間140
10.5 運(yùn)行結(jié)果140
實(shí)例11LCD接口應(yīng)用
11.1 概述142
11.2 實(shí)例內(nèi)容和目標(biāo)142
11.3 實(shí)例分析142
11.3.1 STN型彩色LCD模塊介紹142
11.3.2 S3C44B0X的內(nèi)部LCD控制器介紹144
11.4 實(shí)現(xiàn)方法與步驟150
11.4.1 I/ O口LCD功能設(shè)置150
11.4.2 LCD初始化程序151
11.4.3 圖像數(shù)據(jù)153
11.4.4 全屏顯示參考程序153
11.4.5 正方形的繪制154
11.5 運(yùn)行結(jié)果154
實(shí)例12I2C接口應(yīng)用
12.1 概述156
12.2 實(shí)例內(nèi)容和目標(biāo)156
12.3 實(shí)例分析156
12.3.1 I2C總線的基本知識(shí)156
12.3.2 I2C總線通用傳輸格式156
12.3.3 I2C串行EEPROM的相關(guān)知識(shí)158
12.3.4 S3C44B0X的I2C接口160
12.4 實(shí)現(xiàn)方法與步驟165
12.4.1 I/ O端口I2C功能設(shè)置165
12.4.2 I2C中斷使能165
12.4.3 初始化I2C接口165
12.4.4 向24LC04B中寫入數(shù)據(jù)子程序165
124.5從24LC04B中讀出數(shù)據(jù)子程序166
124.6I2C中斷處理子程序166
125運(yùn)行結(jié)果168
實(shí)例13A/D轉(zhuǎn)換器應(yīng)用
13.1 概述169
13.2 實(shí)例內(nèi)容和目標(biāo)169
13.3 實(shí)例分析169
13.3.1 關(guān)于A/ D轉(zhuǎn)換的基礎(chǔ)知識(shí)169
13.3.2 S3C44B0X具備的ADC169
13.4 實(shí)現(xiàn)方法與步驟172
13.4.1 模擬信號(hào)的產(chǎn)生172
13.4.2 ADC控制寄存器的初始化172
13.4.3 讀取A/ D轉(zhuǎn)換數(shù)值子程序173
13.5 運(yùn)行結(jié)果173
實(shí)例14觸摸屏應(yīng)用
14.1 概述174
14.2 實(shí)例內(nèi)容和目標(biāo)174
14.3 實(shí)例分析174
14.3.1 觸摸屏的基本原理174
14.3.2 觸摸屏的控制實(shí)現(xiàn)175
14.3.3 ADS7843引腳配置175
14.3.4 ADS7843的典型電路176
14.3.5 ADS7843的控制字177
14.3.6 ADS7843的工作過程178
14.4 實(shí)現(xiàn)方法與步驟179
14.4.1 接口電路的連接和I/ O口設(shè)置179
14.4.2 讀取觸摸點(diǎn)坐標(biāo)程序設(shè)計(jì)179
14.5 運(yùn)行結(jié)果180
實(shí)例15USB設(shè)備接口應(yīng)用
15.1 概述182
15.2 實(shí)例內(nèi)容和目標(biāo)182
15.3 實(shí)例分析183
15.3.1 USB接口工作原理概述183
15.3.2 USB設(shè)備開發(fā)過程184
15.3.3 USB接口控制器USBN9603184
15.3.4 USB接口電路185
15.3.5 固件程序的開發(fā)185
15.4 實(shí)現(xiàn)方法與步驟187
15.4.1 安裝USB驅(qū)動(dòng)程序及進(jìn)行文件下載187
15.4.2 修改固件程序187
15.5 運(yùn)行結(jié)果189
實(shí)例16以太網(wǎng)控制器接口應(yīng)用
16.1 概述191
16.2 實(shí)例內(nèi)容和目標(biāo)191
16.3 實(shí)例分析191
16.3.1 以太網(wǎng)基礎(chǔ)知識(shí)191
16.3.2 關(guān)于以太網(wǎng)控制器RTL8019194
16.4 實(shí)現(xiàn)方法與步驟199
16.4.1 連接以太網(wǎng)模塊與處理器的接口199
16.4.2 寄存器地址映射199
16.4.3 熱復(fù)位函數(shù)200
16.4.4 初始化函數(shù)201
16.4.5 接收/ 發(fā)送函數(shù)202
16.5 運(yùn)行結(jié)果205
實(shí)例17μC/OSⅡ的移植與應(yīng)用
17.1 概述206
17.2 實(shí)例內(nèi)容和目標(biāo)207
17.3 實(shí)例分析207
17.3.1 μC/OSⅡ操作系統(tǒng)的移植條件207
17.3.2 移植工作的內(nèi)容208
17.4 實(shí)現(xiàn)方法與步驟214
17.4.1 實(shí)驗(yàn)準(zhǔn)備214
17.4.2 多任務(wù)應(yīng)用程序的編寫214
17.5 運(yùn)行結(jié)果217
實(shí)例18μC/OSⅡ的多任務(wù)管理和任務(wù)間通訊
18.1 概述218
18.2 實(shí)例內(nèi)容和目標(biāo)218
18.3 實(shí)例分析219
18.3.1 任務(wù)管理函數(shù)219
18.3.2 任務(wù)間的通訊與同步224
18.4 實(shí)現(xiàn)方法與步驟230
18.4.1 連接電路230
18.4.2 主任務(wù)處理程序230
18.4.3 鍵盤檢測任務(wù)處理程序232
18.4.4 電壓檢測任務(wù)處理程序233
18.5 運(yùn)行結(jié)果233
實(shí)例19μC/OSⅡ中斷處理程序設(shè)計(jì)
19.1 概述235
19.2 實(shí)例內(nèi)容和目標(biāo)236
19.3 實(shí)例分析236
19.3.1 中斷服務(wù)子程序236
19.3.2 中斷延遲237
19.3.3 中斷響應(yīng)237
19.3.4 中斷恢復(fù)時(shí)間237
19.3.5 中斷延遲、響應(yīng)和恢復(fù)238
19.4 實(shí)現(xiàn)方法與步驟238
19.4.1 中斷處理匯編程序的編寫238
19.4.2 中斷處理C程序的編寫240
19.4.3 中斷處理任務(wù)程序的編寫240
19.5 運(yùn)行結(jié)果241
實(shí)例20GUI系統(tǒng)的移植與應(yīng)用
20.1 概述242
20.2 實(shí)例內(nèi)容和目標(biāo)242
20.3 實(shí)例分析243
20.3.1 emWin的介紹243
20.3.2 emWin對(duì)目標(biāo)系統(tǒng)的要求244
20.3.3 屏幕和坐標(biāo)244
20.3.4 應(yīng)用emWin的步驟245
20.3.5 emWin的移植245
20.4 實(shí)現(xiàn)方法與步驟247
20.4.1 實(shí)例準(zhǔn)備247
20.4.2 定義宏247
20.4.3 編寫Hello World程序247
20.5 運(yùn)行結(jié)果248
實(shí)例21圖形文字顯示的基本應(yīng)用
21.1 概述249
21.2 實(shí)例內(nèi)容和目標(biāo)249
21.3 實(shí)例分析249
21.3.1 文字顯示249
21.3.2 圖形顯示253
21.4 實(shí)現(xiàn)方法與步驟256
21.4.1 實(shí)例準(zhǔn)備256
21.4.2 繪制表盤的示例代碼256
21.5 運(yùn)行結(jié)果257
實(shí)例22漢字顯示的應(yīng)用
22.1 概述258
22.2 實(shí)例內(nèi)容和目標(biāo)258
22.3 實(shí)例分析258
22.3.1 emWin字體庫的應(yīng)用258
22.3.2 字體庫API259
22.3.3 emWin已經(jīng)提供的字符集260
22.3.4 字體轉(zhuǎn)換器261
22.3.5 字體庫文件結(jié)構(gòu)262
22.4 實(shí)現(xiàn)方法與步驟264
22.4.1 得到符合emWin要求的漢字庫264
22.4.2 實(shí)例準(zhǔn)備268
22.4.3 顯示漢字的示例代碼268
22.5 運(yùn)行結(jié)果268
實(shí)例23GUI視窗和控件的應(yīng)用
23.1 概述269
23.2 實(shí)例內(nèi)容和目標(biāo)269
23.3 實(shí)例分析269
23.3.1 視窗管理器(WM)269
23.3.2 視窗控件(Widgets)275
23.3.3 對(duì)話框(Dialog)287
23.4 實(shí)現(xiàn)方法與步驟294
23.4.1 實(shí)例準(zhǔn)備294
23.4.2 編寫主程序294
23.5 運(yùn)行結(jié)果294
實(shí)例24GUI中的動(dòng)畫顯示應(yīng)用
24.1 概述296
24.2 實(shí)例內(nèi)容和目標(biāo)296
24.3 實(shí)例分析296
24.3.1 使用存儲(chǔ)器設(shè)備驅(qū)動(dòng)的說明296
24.3.2 存儲(chǔ)器設(shè)備驅(qū)動(dòng)的繪圖步驟297
24.3.3 起用存儲(chǔ)器設(shè)備驅(qū)動(dòng)297
24.3.4 與存儲(chǔ)器設(shè)備驅(qū)動(dòng)相關(guān)的API函數(shù)298
24.4 實(shí)現(xiàn)方法與步驟304
24.4.1 回調(diào)函數(shù)的參數(shù)305
24.4.2 回調(diào)函數(shù)的編寫305
24.4.3 主程序編寫306
24.5 運(yùn)行結(jié)果307
實(shí)例25基于Nandflash的文件系統(tǒng)
25.1 概述308
25.2 實(shí)例內(nèi)容和目標(biāo)308
25.3 實(shí)例分析309
25.3.1 FAT16文件系統(tǒng)的結(jié)構(gòu)309
25.3.2 關(guān)于Nandflash 314
25.4 實(shí)現(xiàn)方法與步驟315
25.4.1 FAT16的移植315
25.4.2 格式化文件系統(tǒng)316
25.4.3 文件系統(tǒng)初始化318
25.4.4 文件系統(tǒng)驗(yàn)證程序319
25.5 運(yùn)行結(jié)果320
實(shí)例26ARP網(wǎng)絡(luò)尋址
26.1 概述321
26.2 實(shí)例內(nèi)容和目標(biāo)321
26.3 實(shí)例分析323
26.3.1 IP地址323
26.3.2 IP地址解析323
26.3.3 ARP數(shù)據(jù)包324
26.3.4 ARP掃描器325
26.4 實(shí)現(xiàn)方法與步驟326
26.4.1 主程序處理326
26.4.2 ARP數(shù)據(jù)包的檢測和創(chuàng)建329
26.4.3 連接電路并調(diào)試運(yùn)行330
26.5 運(yùn)行結(jié)果330
實(shí)例27IP與ICMP應(yīng)用
27.1 概述332
27.2 實(shí)例內(nèi)容和目標(biāo)332
27.3 實(shí)例分析334
27.3.1 IP數(shù)據(jù)報(bào)334
27.3.2 ICMP消息336
27.3.3 PING工具的工作步驟337
27.4 實(shí)現(xiàn)方法與步驟338
27.4.1 主程序處理338
27.4.2 報(bào)文發(fā)送340
27.4.3 報(bào)文接收341
27.4.4 ICMP消息函數(shù)343
27.4.5 IP數(shù)據(jù)報(bào)函數(shù)344
27.4.6 連接電路并調(diào)試運(yùn)行346
27.5 運(yùn)行結(jié)果346
實(shí)例28UDP數(shù)據(jù)報(bào)傳輸應(yīng)用
28.1 概述348
28.2 實(shí)例內(nèi)容和目標(biāo)348
28.3 實(shí)例分析349
28.3.1 UDP數(shù)據(jù)報(bào)349
28.3.2 端口和套接字350
28.3.3 UDP數(shù)據(jù)包格式351
28.4 實(shí)現(xiàn)方法與步驟351
28.4.1 主程序處理352
28.4.2 接收處理353
28.4.3 創(chuàng)建和發(fā)送UDP數(shù)據(jù)報(bào)356
28.4.4 連接電路并調(diào)試運(yùn)行357
28.5 運(yùn)行結(jié)果357
附錄AS3C44B0X概述
A.1簡介359
A.2特性360
A.3內(nèi)部結(jié)構(gòu)圖362
A.4芯片引腳定義363
附錄BARM處理器工作模式
B.1處理器工作狀態(tài)368
B.2狀態(tài)切換368
B21進(jìn)入THUMB狀態(tài)368
B22進(jìn)入ARM狀態(tài)368
B.3存儲(chǔ)空間格式368
B.3.1大端格式368
B.3.2小端格式369
B.4指令長度369
B.4.1數(shù)據(jù)類型369
B.4.2操作模式369
B.5寄存器369
B.5.1ARM狀態(tài)寄存器集369
B.5.2THUMB狀態(tài)寄存器集370
B.5.3ARM狀態(tài)寄存器與THUMB狀態(tài)寄存器之間
的關(guān)系371
B.5.4在THUMB狀態(tài)下操作寄存器高位372
B.6程序狀態(tài)寄存器PSR372
B.6.1條件碼標(biāo)志372
B.6.2控制位373
B.6.3保留位374
B.7異常374
B.7.1進(jìn)入異常處理時(shí)的行為374
B.7.2離開異常處理時(shí)的行為375
B.7.3異常進(jìn)入/ 退出概要375
B.7.4FIQ(快速中斷請(qǐng)求)375
B.7.5IRQ(中斷請(qǐng)求)376
B.7.6Abort(異常中斷)376
B.7.7SWI(軟件中斷)376
B.7.8未定義指令377
B.7.9異常中斷向量377
B.7.10異常中斷優(yōu)先級(jí)377
B.7.11復(fù)位378
附錄C44binit.s初始化程序研究
C.1定義入口地址379
C.2建立異常中斷處理向量379
C.2.1向量中斷模式(只針對(duì)IRQ)380
C.2.2非向量中斷模式382
C.3初始化外部存儲(chǔ)器385
C.4初始化堆棧指針386
C.5初始化I/ O設(shè)備387
C.6初始化中斷系統(tǒng)所需要的RAM變量
…387
C.7初始化C程序所要求的存儲(chǔ)空間388
C.7.1關(guān)于映像文件及區(qū)域388
C.7.2與區(qū)域相關(guān)的符號(hào)388
C.7.3加載時(shí)的映像文件389
C.7.4執(zhí)行時(shí)的映像文件389
C.7.5初始化范例程序390
C.8進(jìn)入C語言程序的運(yùn)行391
參考文獻(xiàn)392

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)