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

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

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

定 價:¥43.00

作 者: 胥靜主編
出版社: 北京航空航天大學出版社
叢編項:
標 簽: 嵌入式計算機

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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