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

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

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

定 價:¥43.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

實例1嵌入式系統(tǒng)開發(fā)實例——模擬PDA的實現(xiàn)
1.1 概述1
1.2 實例內(nèi)容和目標(biāo)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)容和目標(biāo)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 應(yīng)用開發(fā)步驟19
2.3.5 SDT2.5的介紹19
2.4 實現(xiàn)方法與步驟20
2.4.1 編寫或修改源程序代碼21
2.4.2 使用APM對工程進(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
實例3Flash ROM器件應(yīng)用
3.1 概述42
3.2 實例內(nèi)容和目標(biāo)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 硬件上的設(shè)置50
3.4.3 寄存器的說明51
3.4.4 SST39VF160的擦除53
3.4.5 SST39VF160的寫入53
3.5 運行結(jié)果54
實例4SDRAM器件應(yīng)用
4.1 概述55
4.2 實例內(nèi)容和目標(biāo)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)成原理和應(yīng)用特點57
4.3.4 SDRAM器件IS42S16400簡介57
4.4 實現(xiàn)方法與步驟59
4.4.1 地址分配59
4.4.2 電路連接61
4.4.3 寄存器設(shè)置61
4.4.4 對IS42S16400的編程65
4.5 運行結(jié)果65
實例5Nandflash存儲器器件應(yīng)用
5.1 概述66
5.2 實例內(nèi)容和目標(biāo)66
5.3 實例分析66
5.3.1 Nandflash存儲器的應(yīng)用特點66
5.3.2 Nandflash存儲器器件K9F5608U0B簡介67
5.4 實現(xiàn)方法與步驟78
5.4.1 K9F5608U0B與S3C44B0X的接口設(shè)計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口的應(yīng)用——矩陣式鍵盤
6.1 概述84
6.2 實例內(nèi)容和目標(biāo)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 寄存器設(shè)置91
6.4.2 編寫鍵盤掃描程序91
6.5 運行結(jié)果93
實例7外部中斷處理程序設(shè)計
7.1 概述94
7.2 實例內(nèi)容和目標(biāo)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口設(shè)置106
7.4.2 外部中斷觸發(fā)模式設(shè)置107
7.4.3 中斷寄存器設(shè)置107
7.4.4 主程序編寫107
7.4.5 中斷處理程序編寫109
7.5 運行結(jié)果109
實例8UART異步串行接口應(yīng)用
8.1 概述110
8.2 實例內(nèi)容和目標(biāo)110
8.3 實例分析110
8.3.1 UART操作111
8.3.2 UART寄存器114
8.4 實現(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 運行結(jié)果123
實例9定時器應(yīng)用
9.1 概述124
9.2 實例內(nèi)容和目標(biāo)124
9.3 實例分析124
9.3.1 PWM定時器操作124
9.3.2 PWM定時器寄存器130
9.4 實現(xiàn)方法與步驟133
9.4.1 I/ O口設(shè)置133
9.4.2 定時器時鐘源頻率設(shè)置133
9.4.3 設(shè)置輸出波形頻率133
9.4.4 設(shè)置占空比133
9.4.5 設(shè)置定時器控制寄存器并啟動定時器133
9.4.6 定時器中斷主程序134
9.4.7 定時中斷服務(wù)程序134
9.5 運行結(jié)果134
實例10實時日歷時鐘(RTC)應(yīng)用
10.1 概述136
10.2 實例內(nèi)容和目標(biāo)136
10.3 實例分析136
10.3.1 實時時鐘特性136
10.3.2 實時時鐘寄存器137
10.4 實現(xiàn)方法與步驟139
10.4.1 實時時鐘初始化139
10.4.2 顯示當(dāng)前時間140
10.5 運行結(jié)果140
實例11LCD接口應(yīng)用
11.1 概述142
11.2 實例內(nèi)容和目標(biāo)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功能設(shè)置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接口應(yīng)用
12.1 概述156
12.2 實例內(nèi)容和目標(biāo)156
12.3 實例分析156
12.3.1 I2C總線的基本知識156
12.3.2 I2C總線通用傳輸格式156
12.3.3 I2C串行EEPROM的相關(guān)知識158
12.3.4 S3C44B0X的I2C接口160
12.4 實現(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運行結(jié)果168
實例13A/D轉(zhuǎn)換器應(yīng)用
13.1 概述169
13.2 實例內(nèi)容和目標(biāo)169
13.3 實例分析169
13.3.1 關(guān)于A/ D轉(zhuǎn)換的基礎(chǔ)知識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觸摸屏應(yīng)用
14.1 概述174
14.2 實例內(nèi)容和目標(biāo)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口設(shè)置179
14.4.2 讀取觸摸點坐標(biāo)程序設(shè)計179
14.5 運行結(jié)果180
實例15USB設(shè)備接口應(yīng)用
15.1 概述182
15.2 實例內(nèi)容和目標(biāo)182
15.3 實例分析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 實現(xiàn)方法與步驟187
15.4.1 安裝USB驅(qū)動程序及進(jìn)行文件下載187
15.4.2 修改固件程序187
15.5 運行結(jié)果189
實例16以太網(wǎng)控制器接口應(yīng)用
16.1 概述191
16.2 實例內(nèi)容和目標(biāo)191
16.3 實例分析191
16.3.1 以太網(wǎng)基礎(chǔ)知識191
16.3.2 關(guān)于以太網(wǎng)控制器RTL8019194
16.4 實現(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 運行結(jié)果205
實例17μC/OSⅡ的移植與應(yīng)用
17.1 概述206
17.2 實例內(nèi)容和目標(biāo)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 實驗準(zhǔn)備214
17.4.2 多任務(wù)應(yīng)用程序的編寫214
17.5 運行結(jié)果217
實例18μC/OSⅡ的多任務(wù)管理和任務(wù)間通訊
18.1 概述218
18.2 實例內(nèi)容和目標(biāo)218
18.3 實例分析219
18.3.1 任務(wù)管理函數(shù)219
18.3.2 任務(wù)間的通訊與同步224
18.4 實現(xiàn)方法與步驟230
18.4.1 連接電路230
18.4.2 主任務(wù)處理程序230
18.4.3 鍵盤檢測任務(wù)處理程序232
18.4.4 電壓檢測任務(wù)處理程序233
18.5 運行結(jié)果233
實例19μC/OSⅡ中斷處理程序設(shè)計
19.1 概述235
19.2 實例內(nèi)容和目標(biāo)236
19.3 實例分析236
19.3.1 中斷服務(wù)子程序236
19.3.2 中斷延遲237
19.3.3 中斷響應(yīng)237
19.3.4 中斷恢復(fù)時間237
19.3.5 中斷延遲、響應(yīng)和恢復(fù)238
19.4 實現(xiàn)方法與步驟238
19.4.1 中斷處理匯編程序的編寫238
19.4.2 中斷處理C程序的編寫240
19.4.3 中斷處理任務(wù)程序的編寫240
19.5 運行結(jié)果241
實例20GUI系統(tǒng)的移植與應(yīng)用
20.1 概述242
20.2 實例內(nèi)容和目標(biāo)242
20.3 實例分析243
20.3.1 emWin的介紹243
20.3.2 emWin對目標(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 實現(xiàn)方法與步驟247
20.4.1 實例準(zhǔn)備247
20.4.2 定義宏247
20.4.3 編寫Hello World程序247
20.5 運行結(jié)果248
實例21圖形文字顯示的基本應(yīng)用
21.1 概述249
21.2 實例內(nèi)容和目標(biāo)249
21.3 實例分析249
21.3.1 文字顯示249
21.3.2 圖形顯示253
21.4 實現(xiàn)方法與步驟256
21.4.1 實例準(zhǔn)備256
21.4.2 繪制表盤的示例代碼256
21.5 運行結(jié)果257
實例22漢字顯示的應(yīng)用
22.1 概述258
22.2 實例內(nèi)容和目標(biāo)258
22.3 實例分析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 實現(xiàn)方法與步驟264
22.4.1 得到符合emWin要求的漢字庫264
22.4.2 實例準(zhǔn)備268
22.4.3 顯示漢字的示例代碼268
22.5 運行結(jié)果268
實例23GUI視窗和控件的應(yīng)用
23.1 概述269
23.2 實例內(nèi)容和目標(biāo)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 實例準(zhǔn)備294
23.4.2 編寫主程序294
23.5 運行結(jié)果294
實例24GUI中的動畫顯示應(yīng)用
24.1 概述296
24.2 實例內(nèi)容和目標(biāo)296
24.3 實例分析296
24.3.1 使用存儲器設(shè)備驅(qū)動的說明296
24.3.2 存儲器設(shè)備驅(qū)動的繪圖步驟297
24.3.3 起用存儲器設(shè)備驅(qū)動297
24.3.4 與存儲器設(shè)備驅(qū)動相關(guān)的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)容和目標(biāo)308
25.3 實例分析309
25.3.1 FAT16文件系統(tǒng)的結(jié)構(gòu)309
25.3.2 關(guān)于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)絡(luò)尋址
26.1 概述321
26.2 實例內(nèi)容和目標(biāo)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應(yīng)用
27.1 概述332
27.2 實例內(nèi)容和目標(biāo)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ù)報傳輸應(yīng)用
28.1 概述348
28.2 實例內(nèi)容和目標(biāo)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進(jìn)入THUMB狀態(tài)368
B22進(jìn)入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)寄存器之間
的關(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)入異常處理時的行為374
B.7.2離開異常處理時的行為375
B.7.3異常進(jìn)入/ 退出概要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復(fù)位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設(shè)備387
C.6初始化中斷系統(tǒng)所需要的RAM變量
…387
C.7初始化C程序所要求的存儲空間388
C.7.1關(guān)于映像文件及區(qū)域388
C.7.2與區(qū)域相關(guān)的符號388
C.7.3加載時的映像文件389
C.7.4執(zhí)行時的映像文件389
C.7.5初始化范例程序390
C.8進(jìn)入C語言程序的運行391
參考文獻(xiàn)392

本目錄推薦

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