出版時(shí)間:2010-11 出版社:北京航空航天大學(xué)出版社 作者:李寧 頁(yè)數(shù):249
前言
近幾十年來(lái),8位微控制器一直占據(jù)著整個(gè)嵌入式市場(chǎng)的主導(dǎo)地位。其中,8051系列芯片的應(yīng)用最為廣泛,然而其指令系統(tǒng)和尋址能力都有著一定的局限性,有時(shí)為了提高性能,甚至需對(duì)8051指令系統(tǒng)進(jìn)行大幅修改。隨著時(shí)代的發(fā)展、MCU應(yīng)用范圍的擴(kuò)展,市場(chǎng)對(duì)更強(qiáng)大性能、更低功耗的低價(jià)MCU的需要越來(lái)越強(qiáng)烈。于是我們NXP半導(dǎo)體公司開始尋找8051系列芯片的替代品,NXP公司與ARM公司的產(chǎn)品經(jīng)理也對(duì)此開始進(jìn)行了深入地研討。當(dāng)時(shí),Cortex-M3已經(jīng)在32位處理器市場(chǎng)嶄露頭角,NXP也有了相應(yīng)的Cortex-M3處理器LPcl3xx系列和LPCI7xx系列,但它們還沒有涉足16位和高端8位處理器市場(chǎng),在價(jià)格上還不能替代8051微控制器。由于意識(shí)到8/16位微控制器市場(chǎng)是不容忽視的,NXP公司的微控制器經(jīng)理與ARM公司有了一次會(huì)談,向ARM公司定制一個(gè)極小的32位微控制器,這次會(huì)談的結(jié)果就是Cortex-MO微處理器的誕生,它主要包含了以下特性:精簡(jiǎn)的指令集,僅有56個(gè)指令,向后兼容ARMv6指令集(Thumb-2)。增加了一個(gè)32位輸入中斷控制器。處理器活動(dòng)功耗與主流8/16位微處理器相當(dāng)。邏輯門減少到1萬(wàn)2千個(gè)(總邏輯門與8051并齊,比ColdFire vl少得多)??梢詮?fù)用已有的ARM集成開發(fā)環(huán)境(IDE)和硬件調(diào)試工具。ARM的生態(tài)系統(tǒng)(編譯器、工具、軟件、社區(qū)等)把MCu用戶從重復(fù)學(xué)習(xí)和不斷的投資中解救了出來(lái)。有了ARM的良好生態(tài)系統(tǒng),LPC1xx(基于Cor-tex-MO)系列處理器一面世就很快吸引了很多合作者提供廉價(jià)甚至免費(fèi)的開發(fā)工具、解決方案。除了傳統(tǒng)的MDK和IAR開發(fā)工具之外,像CooCox Tools這樣的免費(fèi)開發(fā)工具,就是LPclxx受世界范圍大量支持的證明。CooCox這種基于云計(jì)算采用組件開發(fā)模式的開發(fā)工具,給開發(fā)者提供了一個(gè)非常低廉且容易上手的交互平臺(tái),開發(fā)LPC1xx McU應(yīng)用所需的各種信息都可從中獲得,而且它還成為了眾多開發(fā)者和愛好者交流ARM MCU開發(fā)經(jīng)驗(yàn)及知識(shí)的平臺(tái)。
內(nèi)容概要
本書介紹了基于MDK的LPC1100處理器應(yīng)用開發(fā)。全書共8章,分為4部分;第一部分包括第1到第3章,詳細(xì)介紹了Corltex-MO處理器的編程模型、存儲(chǔ)結(jié)構(gòu)、異常處理機(jī)制、指令集、NVIC、系統(tǒng)控制塊SCB和調(diào)試系統(tǒng)等。第二部分包括第4、5章,簡(jiǎn)要介紹了LPC1100處理器的系統(tǒng)控制器、片上外設(shè)、GPIO及引腳配置、EM-LPC11ooLK開發(fā)板和MDK使用方法,并在此基礎(chǔ)上給出了一個(gè)簡(jiǎn)單的LPC1100例程,是讀者學(xué)習(xí)使用MDK進(jìn)行LPC1100處理器應(yīng)用開發(fā)的準(zhǔn)備知識(shí)。第三部分包括第6、7章,介紹了LPC1100處理器的所有系統(tǒng)控制以及片上外設(shè),對(duì)每個(gè)模塊都詳細(xì)介紹其結(jié)構(gòu)、特點(diǎn)及功能,并提供了一個(gè)小的應(yīng)用實(shí)例。第四部分為第8章,介紹了兩個(gè)基于LPC1100處理器的綜合應(yīng)用實(shí)例。 本書既是使用MDK進(jìn)行LPC1100處理器應(yīng)用開發(fā)的指導(dǎo)書,還可作為L(zhǎng)PC1100處理器的開發(fā)參考手冊(cè)。另外,還可以作為ARM Cortex-MO的編程入門指南。
書籍目錄
第1章 Cortex-M0處理器簡(jiǎn)介 1.1 Cortex-M0處理器的特點(diǎn) 1.2 Cortex-M0處理器的基本結(jié)構(gòu) 1.3 LPC 1100系列處理器第2章 Cortex-M0處理器編程模型 2.1 處理器核寄存器組 2.2 處理器工作模式及堆棧使用 2.3 存儲(chǔ)系統(tǒng)組織 2.4 異常處理 2.5 功耗管理 2.6 指令集第3章 Cortex-M0核外設(shè) 3.1 內(nèi)嵌向量中斷控制器NVIC 3.2 系統(tǒng)控制塊 3.3 系統(tǒng)定時(shí)器SysTick 3.4 調(diào)試系統(tǒng)第4章 LPC1110處理器基礎(chǔ) 4.1 系統(tǒng)控制模塊 4.2 處理器引腳及I/O功能配置 4.3 通用I/O端口 4.4 處理器片內(nèi)Flash及其編程第5章 快速啟用LPC1100 5.1 EM-LPC1100LK開發(fā)套件 5.2 MDK的安裝與配置 5.3 μVision 4.0 IDE 5.4 CMSIS標(biāo)準(zhǔn) 5.5 第一個(gè)LPC1100應(yīng)用程序Blinky第6章 LPC1110處理器基本接口第7章 LPC1110處理器通信接口第8章 綜合應(yīng)用參考文獻(xiàn)
章節(jié)摘錄
插圖:1.進(jìn)入睡眠模式進(jìn)入睡眠模式的方式有以下幾種:等待中斷指令wFI,使處理器立即進(jìn)入睡眠模式;當(dāng)處理器執(zhí)行一條WFI指令時(shí),它停止執(zhí)行指令并進(jìn)入睡眠模式。等待事件指令wFE,根據(jù)條件讓處理器進(jìn)入睡眠模式,這里的條件是根據(jù)1位事件寄存器的值。當(dāng)處理器執(zhí)行一條wFE指令時(shí),它將檢查事件寄存器的值:如果是0,則處理器停止執(zhí)行指令,進(jìn)人睡眠模式;如果是處理器將寄存器該位的值置為1,并繼續(xù)執(zhí)行指令,則不進(jìn)入睡眠模式。如果事件寄存器的值為1,表明處理器在執(zhí)行wFE指令時(shí)不能進(jìn)入睡眠模式。典型的情況:這是由于一個(gè)外部事件信號(hào)的要求,或在多處理器系統(tǒng)中的另一個(gè)處理器執(zhí)行了一條SEV指令。異常退出時(shí)睡眠(sleep-on-exit),如果SCR寄存器的SLEEPONEXIT位置1,則當(dāng)處理器完成執(zhí)行一個(gè)異常處理并返回Thread模式時(shí),處理器立即進(jìn)入睡眠狀態(tài),這一機(jī)制用于僅僅需要處理器在中斷發(fā)生時(shí)才運(yùn)行的應(yīng)用中。系統(tǒng)可能產(chǎn)生偽喚醒事件,例如,一個(gè)調(diào)試操作可喚醒處理器。因此軟件在此事件后,必須能重新讓處理器進(jìn)入睡眠模式。為了把處理器置回睡眠模式,程序可能需要一個(gè)空閑循環(huán)。
編輯推薦
《基于MDK的LPC1100處理器開發(fā)應(yīng)用》:ARM RealView MDK系列叢書
圖書封面
評(píng)論、評(píng)分、閱讀與下載
基于MDK的LPC1100處理器開發(fā)應(yīng)用 PDF格式下載