中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
ARM Cortex-M0與Cortex-M0+權(quán)威指南-(第2版)

包郵 ARM Cortex-M0與Cortex-M0+權(quán)威指南-(第2版)

出版社:清華大學(xué)出版社出版時間:2018-01-01
開本: 32開 頁數(shù): 608
中 圖 價:¥84.5(6.6折) 定價  ¥128.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

ARM Cortex-M0與Cortex-M0+權(quán)威指南-(第2版) 版權(quán)信息

ARM Cortex-M0與Cortex-M0+權(quán)威指南-(第2版) 本書特色

本書是ARM公司微控制器系統(tǒng)級設(shè)計專家Joseph Yiu的作品。本書全面系統(tǒng)論述Cortex-M0與Cortex-M0 的內(nèi)核、體系結(jié)構(gòu)、指令集、編譯器、程序設(shè)計及軟件移植。全書共23章,近700頁。深度剖析系統(tǒng)模型、指令集以及中斷處理,以利于理解ARM Cortex-M0與Cortex-M0 的工作方式;綜合運(yùn)用匯編語言和C語言實現(xiàn)的豐富的ARM Cortex-M0與Cortex-M0 編程案例,有助于快速動手實踐;系統(tǒng)論述軟件的開發(fā)流程,并以常用軟件開發(fā)工具為例,介紹程序設(shè)計的實例及如何定位程序代碼問題和軟件移植等方面的知識;全面揭秘從其他架構(gòu)處理器進(jìn)行軟件移植的方法,包括ARM7TDMI、ARM Cortex-M3以及8051微控制器移植的實例;深入解析Cortex-M0和Cortex-M0 處理器架構(gòu)特性的差異(如非特權(quán)執(zhí)行等級、向量表重定位);細(xì)致分析了Cortex-M0 處理器的優(yōu)勢,比如新的單周期I/O接口、更優(yōu)的能耗效率、更高的性能以及微跟蹤緩沖(MTB)特性;詳盡介紹了軟件開發(fā)工具方面的新內(nèi)容,如Keil MDK版本5、IAR Embedded Workbench for ARM、ARM gcc、CooCox及mbed的實例。另外,為便于讀者學(xué)習(xí),全書提供了完整的案例源代碼!

ARM Cortex-M0與Cortex-M0+權(quán)威指南-(第2版) 內(nèi)容簡介

本書是系統(tǒng)論述ARM Cortex-M0與Cortex-M0 處理器及其編程的圖書,作者Joseph Yiu是英國ARM公司的主管工程師,著有久負(fù)盛名的暢銷圖書《ARM Cortex-M3與Cortex-M4權(quán)威指南(第3版)》(清華大學(xué)出版社)。本書適合的讀者對象包括:嵌入式產(chǎn)品設(shè)計工程師、嵌入式軟件開發(fā)人員、電子愛好者以及學(xué)習(xí)嵌入式系統(tǒng)課程(ARM Cortex-M0與Cortex-M0 )的高年級本科生及研究生等。作者提供了詳實的配書工程源文件(見封面下載地址)。l 深度剖析系統(tǒng)模型、指令集以及中斷處理,以利于理解ARM Cortex-M0與Cortex-M0 的工作方式;l 綜合運(yùn)用匯編語言和C語言實現(xiàn)的豐富的ARM Cortex-M0與Cortex-M0 編程案例,有助于快速動手實踐;l 系統(tǒng)論述軟件的開發(fā)流程,并以常用軟件開發(fā)工具為例,介紹程序設(shè)計的實例及如何定位程序代碼問題和軟件移植等方面的知識;l 全面揭秘從其他架構(gòu)處理器進(jìn)行軟件移植的方法,包括ARM7TDMI、ARM Cortex-M3以及8051微控制器移植的實例;l 深入解析Cortex-M0和Cortex-M0 處理器架構(gòu)特性的差異(如非特權(quán)執(zhí)行等級、向量表重定位);l 細(xì)致分析了Cortex-M0 處理器的優(yōu)勢,比如新的單周期I/O接口、更優(yōu)的能耗效率、更高的性能以及微跟蹤緩沖(MTB)特性;l 詳盡介紹了軟件開發(fā)工具方面的新內(nèi)容,如Keil MDK版本5、IAR Embedded Workbench for ARM、ARM gcc、CooCox及mbed使用示例;l 提供了基于CMSIS-RTOS API的Keil RTX實時操作系統(tǒng)的新實例;l 提供了Cortex-M0和Cortex-M0 微控制器使用實例,包括Freescale Freedom板(FRDM-KL25Z)、STM32F0 Discovery、STM32L0 Discovery和NXP LPC1114(DIP封裝)面包板等。

ARM Cortex-M0與Cortex-M0+權(quán)威指南-(第2版) 目錄

目錄 譯者序1 推薦序3 前言5 致謝7 術(shù)語和縮寫9 本書約定13 第1章概論 1.1歡迎來到嵌入式處理器的世界 1.1.1處理器有什么作用 1.1.2處理器、CPU、內(nèi)核、微控制器及其命名 1.1.3嵌入式系統(tǒng)的編程 1.1.4學(xué)習(xí)微控制器需要了解什么 1.2理解處理器的類型 1.2.1處理器為什么有很多種類 1.2.2ARM處理器家族概述 1.2.3模糊邊界 1.2.4ARM CortexM處理器系列 1.2.5ARM CortexM0和CortexM0 處理器簡介 1.2.6從CortexM0處理器到CortexM0 處理器 1.2.7CortexM0和CortexM0 處理器的應(yīng)用 1.3微控制器內(nèi)部有什么 1.3.1微控制器內(nèi)常見部件 1.3.2微控制器應(yīng)用的處理器的特點 1.3.3硅片技術(shù) 1.4ARM介紹 1.4.1ARM生產(chǎn)芯片嗎 1.4.2ARM的產(chǎn)品是什么 1.4.3芯片廠商為什么不設(shè)計自己的處理器 1.4.4ARM生態(tài)系統(tǒng)有什么特殊之處 1.5ARM處理器和ARM微控制器方面的資源 1.5.1ARM主頁 1.5.2微控制器廠商提供的資源 1.5.3工具廠商提供的資源 1.5.4其他資源 第2章技術(shù)綜述 2.1CortexM0和CortexM0 處理器 2.2模塊框圖 2.3典型系統(tǒng) 2.4什么是ARMv6M架構(gòu) 2.5CortexM處理器間的軟件可移植性 2.6ARM CortexM0和CortexM0 處理器的優(yōu)勢 2.6.1低功耗和能耗效率 2.6.2高代碼密度 2.6.3低中斷等待和確定行為 2.6.4易于使用 2.6.5系統(tǒng)級特性和OS支持特性 2.6.6調(diào)試特性 2.6.7可配置性、靈活性和可擴(kuò)展性 2.6.8軟件可移植性和可重用性 2.6.9產(chǎn)品選擇的多樣性 2.6.10生態(tài)系統(tǒng)支持 2.7CortexM0和CortexM0 處理器的應(yīng)用 2.7.1微控制器 2.7.2傳感器 2.7.3傳感器集線器 2.7.4電源管理IC 2.7.5ASSP和ASIC 2.7.6片上系統(tǒng)中的子系統(tǒng) 2.8為什么要在微控制器應(yīng)用中使用32位處理器 2.8.1性能 2.8.2代碼密度 2.8.3ARM架構(gòu)的其他優(yōu)勢 2.8.4軟件可重用性 第3章嵌入式軟件開發(fā)介紹 3.1歡迎進(jìn)入嵌入式系統(tǒng)編程 3.2基本概念 3.2.1復(fù)位 3.2.2時鐘 3.2.3電壓 3.2.4輸入和輸出 3.2.5嵌入式軟件程序流程介紹 3.2.6編程語言選擇 3.3ARM CortexM編程介紹 3.3.1C編程數(shù)據(jù)類型 3.3.2用C訪問外設(shè) 3.3.3程序映像內(nèi)有什么 3.3.4SRAM中的數(shù)據(jù) 3.3.5微控制器啟動時會發(fā)生什么 3.4軟件開發(fā)流程 3.5Cortex微控制器軟件接口標(biāo)準(zhǔn) 3.5.1CMSIS介紹 3.5.2CMSISCORE所做的標(biāo)準(zhǔn)化 3.5.3CMSISCORE的組織 3.5.4使用CMSISCORE 3.5.5CMSIS的優(yōu)勢 3.6軟件開發(fā)的其他信息 第4章架構(gòu) 4.1ARMv6M架構(gòu)綜述 4.1.1架構(gòu)的含義 4.1.2ARMv6M架構(gòu)背景 4.2編程模型 4.2.1操作模式和狀態(tài) 4.2.2寄存器和特殊寄存器 4.2.3APSR的行為 4.3存儲器系統(tǒng) 4.3.1概述 4.3.2單周期I/O接口 4.3.3存儲器保護(hù)單元 4.4棧存儲操作 4.5異常和中斷 4.6嵌套向量中斷控制器 4.6.1靈活的中斷管理 4.6.2嵌套中斷支持 4.6.3向量異常入口 4.6.4中斷屏蔽 4.7系統(tǒng)控制塊 4.8調(diào)試系統(tǒng) 4.9程序映像和啟動流程 第5章指令集 5.1指令集是什么 5.2ARM和Thumb指令集背景 5.3匯編基礎(chǔ) 5.3.1匯編語法一覽 5.3.2后綴的使用 5.3.3統(tǒng)一匯編語言(UAL) 5.4指令列表 5.4.1處理器內(nèi)傳送數(shù)據(jù) 5.4.2存儲器訪問 5.4.3棧存儲訪問 5.4.4算術(shù)運(yùn)算 5.4.5邏輯運(yùn)算 5.4.6移位和循環(huán)移位運(yùn)算 5.4.7展開和順序反轉(zhuǎn)運(yùn)算 5.4.8程序流控制 5.4.9存儲器屏障指令 5.4.10異常相關(guān)指令 5.4.11休眠模式特性相關(guān)指令 5.4.12其他指令 5.5偽指令 第6章指令使用示例 6.1概述 6.2程序控制 6.2.1ifthenelse 6.2.2循環(huán) 6.2.3跳轉(zhuǎn)指令 6.2.4跳轉(zhuǎn)指令的典型用法 6.2.5函數(shù)調(diào)用和函數(shù)返回 6.2.6跳轉(zhuǎn)表 6.3數(shù)據(jù)訪問 6.3.1簡單數(shù)據(jù)訪問 6.3.2使用存儲器訪問指令的例子 6.4數(shù)據(jù)類型轉(zhuǎn)換 6.4.1數(shù)據(jù)大小的轉(zhuǎn)換 6.4.2大小端轉(zhuǎn)換 6.5數(shù)據(jù)處理 6.5.164位/128位加法 6.5.264位/128位減法 6.5.3整數(shù)除法 6.5.4無符號整數(shù)開方根 6.5.5位和位域計算 第7章存儲器系統(tǒng) 7.1微控制器中的存儲器系統(tǒng) 7.2CortexM0和CortexM0 處理器中的總線系統(tǒng) 7.3存儲器映射 7.3.1概述 7.3.2系統(tǒng)級設(shè)計 7.4程序存儲器、Bootloader和存儲器重映射 7.4.1程序存儲器和Bootloader 7.4.2存儲器映射 7.5數(shù)據(jù)存儲器 7.6小端和大端支持 7.7數(shù)據(jù)類型 7.8存儲器屬性和存儲器訪問權(quán)限 7.9硬件行為對編程的影響 7.9.1數(shù)據(jù)對齊 7.9.2訪問非法地址 7.9.3多加載和存儲指令的使用 7.9.4等待狀態(tài) 第8章異常和中斷 8.1異常和中斷的含義 8.2CortexM0和CortexM0 處理器內(nèi)的異常類型 8.2.1概述 8.2.2不可屏蔽中斷 8.2.3HardFault 8.2.4SVC 8.2.5可掛起的系統(tǒng)調(diào)用 8.2.6系統(tǒng)節(jié)拍 8.2.7中斷 8.3NVIC簡介 8.4異常優(yōu)先級定義 8.5向量表 8.6異常流程概述 8.6.1接受異常 8.6.2壓棧和出棧 8.6.3異常返回指令 8.6.4末尾連鎖 8.6.5延遲到達(dá) 8.7EXC_RETURN 8.8用于中斷控制的NVIC控制寄存器 8.8.1NVIC控制寄存器概述 8.8.2中斷使能和清除使能 8.8.3中斷掛起和清除掛起 8.8.4中斷優(yōu)先級 8.9異常屏蔽寄存器(PRIMASK) 8.10中斷輸入和掛起行為 8.10.1簡單中斷處理 8.10.2簡單的脈沖中斷處理 8.10.3中斷掛起狀態(tài)在得到服務(wù)前取消 8.10.4外設(shè)在確認(rèn)中斷請求時清除掛起狀態(tài) 8.10.5ISR完成后中斷請求保持為高 8.10.6進(jìn)入ISR前產(chǎn)生了多個中斷請求脈沖 8.10.7在ISR執(zhí)行期間產(chǎn)生了中斷請求脈沖 8.10.8已禁止中斷的中斷請求確認(rèn) 8.11異常入口流程 8.11.1壓棧 8.11.2取出向量并更新PC 8.11.3更新寄存器 8.12異常退出流程 8.12.1寄存器出棧 8.12.2從返回地址取指并執(zhí)行 8.13中斷等待 第9章系統(tǒng)控制和低功耗特性 9.1系統(tǒng)控制寄存器簡介 9.2SCB中的寄存器 9.2.1SCB中的寄存器列表 9.2.2CPU ID寄存器 9.2.3用于系統(tǒng)異常管理的控制寄存器 9.2.4向量表偏移寄存器 9.2.5應(yīng)用中斷和復(fù)位控制寄存器 9.2.6系統(tǒng)控制寄存器 9.2.7配置和控制寄存器 9.2.8系統(tǒng)處理控制和狀態(tài)寄存器 9.3使用自復(fù)位特性 9.4使用向量表重定位特性 9.5低功耗特性 9.5.1概述 9.5.2休眠模式 9.5.3等待事件和等待中斷 9.5.4喚醒條件 9.5.5退出時休眠特性 9.5.6喚醒中斷控制器 第10章操作系統(tǒng)支持特性 10.1支持OS的特性概述 10.2嵌入式系統(tǒng)的操作系統(tǒng)介紹 10.3SysTick定時器 10.3.1SysTick寄存器 10.3.2設(shè)置SysTick 10.3.3SysTick用于時間測量 10.3.4將SysTick用作單發(fā)定時器 10.4進(jìn)程棧和PSP 10.5SVCall異常 10.6PendSV 10.7高級話題: 在編程中使用SVC和PendSV 10.7.1使用SVC異常 10.7.2使用PendSV異常 10.8高級話題: 實際的上下文切換 第11章錯誤處理 11.1錯誤異常概述 11.2錯誤是如何產(chǎn)生的 11.3分析錯誤 11.4意外切換至ARM狀態(tài) 11.5實際應(yīng)用中的錯誤處理 11.6軟件開發(fā)期間的錯誤處理 11.7鎖定 11.7.1鎖定的原因 11.7.2鎖定期間發(fā)生了什么 11.8避免鎖定 11.9和ARMv7M架構(gòu)中錯誤處理的對比 第12章存儲器保護(hù)單元 12.1MPU是什么 12.2MPU適用的情形 12.3技術(shù)介紹 12.4MPU寄存器 12.4.1MPU類型寄存器 12.4.2MPU控制寄存器 12.4.3MPU區(qū)域編號寄存器 12.4.4MPU區(qū)域基地址寄存器 12.4.5MPU區(qū)域基本屬性和大小寄存器 12.5設(shè)置MPU 12.6存儲器屏障和MPU配置 12.7使用子區(qū)域禁止 12.7.1允許高效的存儲器劃分 12.7.2減少所需的區(qū)域總數(shù) 12.8使用MPU時的注意事項 12.8.1程序代碼 12.8.2數(shù)據(jù)存儲器 12.9和CortexM3/M4/M7處理器的MPU間的差異 第13章調(diào)試特性 13.1軟件開發(fā)和調(diào)試特性 13.2調(diào)試接口 13.2.1JTAG和串行線調(diào)試通信協(xié)議 13.2.2CortexM處理器和CoreSight調(diào)試架構(gòu) 13.2.3調(diào)試接口的設(shè)計考慮 13.3調(diào)試特性一覽 13.4調(diào)試系統(tǒng) 13.5暫停模式和調(diào)試事件 13.6利用MTB實現(xiàn)指令跟蹤 第14章Keil微控制器開發(fā)套件入門 14.1Keil微控制器開發(fā)套件介紹 14.1.1概述 14.1.2工具 14.1.3Keil MDK的優(yōu)勢 14.1.4安裝 14.2典型的程序編譯流程 14.3硬件介紹 14.3.1Freescale Freedom開發(fā)板(FRDMKL25Z) 14.3.2STMicroelectronics STM32L0 Discovery 14.3.3STMicroelectronics STM32F0 Discovery 14.3.4NXP LPC1114FN28 14.4μVision IDE入門 14.4.1如何開始 14.4.2啟動Keil MDK 14.4.3Freescale FRDMKL25Z工程設(shè)置步驟 14.4.4STMicroelectronics STM32L0 Discovery工程設(shè)置步驟 14.4.5STMicroelectronice STM32F0 Discovery工程設(shè)置步驟 14.4.6NXP LPC1114FN28工程設(shè)置步驟 14.5使用IDE和調(diào)試器 14.6底層內(nèi)容 14.6.1CMSIS文件 14.6.2時鐘設(shè)置 14.6.3棧和堆的設(shè)置 14.6.4編譯 14.7工程環(huán)境的優(yōu)化 14.7.1目標(biāo)選項 14.7.2優(yōu)化選項 14.7.3運(yùn)行時環(huán)境選項 14.7.4工程管理 14.8使用模擬器 14.9在SRAM中執(zhí)行程序 14.10使用MTB指令跟蹤 第15章IAR embedded workbench for ARM入門 15.1IAR embedded workbench for ARM概述 15.2典型的程序編譯流程 15.3創(chuàng)建簡單的blinky工程 15.4工程選項 15.5在IAR EWARM中使用MTB指令跟蹤 15.6提示和要點 第16章GCC入門 16.1GCC工具鏈 16.2關(guān)于本章中的例子 16.3典型開發(fā)流程 16.4創(chuàng)建簡單的Blinky工程 16.5命令行選項概述 16.6Flash編程 16.7在Keil MDKARM中使用ARM嵌入式處理器GNU工具 16.8在CooCox IDE中使用ARM嵌入式處理器GNU工具 16.8.1概述和設(shè)置 16.8.2創(chuàng)建新的工程 16.8.3使用IDE和調(diào)試器 第17章mbed入門 17.1什么是mbed 17.2mbed系統(tǒng)是怎么工作的 17.3mbed的優(yōu)勢 17.4設(shè)置FRDMKL25Z板和mbed賬號 17.4.1檢查mbed Web網(wǎng)頁 17.4.2注冊mbed賬號 17.4.3個人計算機(jī)的設(shè)置 17.5創(chuàng)建blinky程序 17.5.1只開關(guān)紅色LED的簡單版本 17.5.2利用脈寬調(diào)試控制LED 17.6支持的常用外設(shè)對象 17.7使用printf 17.8應(yīng)用實例: 火車模型控制器 17.9中斷 17.10要點和提示 第18章編程實例 18.1利用通用異步收發(fā)器來產(chǎn)生輸出 18.1.1通用異步收發(fā)器通信概述 18.1.2微控制器上的UART配置概述 18.1.3配置FRDMKL25Z中的UART 18.1.4配置STM32L0 Discovery板中的UART 18.1.5配置STM32F0 Discovery板上的UART 18.1.6配置LPC1114FN28上的UART 18.2實現(xiàn)printf 18.2.1概述 18.2.2Keil MDK的重定向 18.2.3IAR EWARM的重定向 18.2.4GNU編譯器套件的重定向 18.2.5IAR EWARM的半主機(jī) 18.2.6CoIDE的半主機(jī) 18.3開發(fā)輸入和輸出函數(shù) 18.3.1為何要重新開發(fā) 18.3.2其他接口 18.3.3有關(guān)scanf的其他信息 18.4中斷編程實例 18.4.1中斷處理概述 18.4.2中斷控制函數(shù)概述 18.5應(yīng)用實例: 火車模型用的另一個控制器 18.6CMSISCORE的不同版本 第19章超低功耗設(shè)計 19.1超低功耗使用示例 19.1.1概述 19.1.2進(jìn)入休眠模式 19.1.3WFE與WFI 19.1.4利用退出時休眠特性 19.1.5利用掛起發(fā)送事件特性 19.1.6利用喚醒中斷控制器 19.1.7利用事件通信接口 19.2低功耗設(shè)計要求 19.3能量去哪里了 19.4開發(fā)低功耗應(yīng)用 19.4.1低功耗設(shè)計概述 19.4.2降低功耗的各種方法 19.4.3選擇正確的方法 19.5調(diào)試考慮 19.5.1調(diào)試和低功耗 19.5.2調(diào)試和Flash編程的“安全模式” 19.5.3低電壓引腳和調(diào)試接口 19.6低電壓設(shè)備的檢測 19.6.1ULPBench的背景 19.6.2ULPBenchCP概述 19.7Freescale KL25Z低功耗特性使用示例 19.7.1目標(biāo) 19.7.2測試設(shè)置 19.7.3KL25Z的低功耗模式 19.7.4時鐘設(shè)計 19.7.5測試設(shè)置 19.7.6測量結(jié)果 19.8LPC1114低功耗特性使用示例 19.8.1LPC1114FN28概述 19.8.2實驗1:使用12MHz內(nèi)部和外部晶振 19.8.3實驗2:使用降頻1MHz和100kHz 19.8.4其他改進(jìn) 19.8.5利用LPC1114的深度休眠 第20章嵌入式OS編程 20.1介紹 20.1.1背景 20.1.2嵌入式OS和RTOS 20.1.3為什么要使用嵌入式OS 20.1.4CMSISRTOS的作用 20.1.5關(guān)于Keil RTX Kernel 20.1.6在Keil MDK中構(gòu)建一個簡單RTX實例 20.2RTX Kernel概述 20.2.1線程 20.2.2RTX配置 20.2.3深入研究**個例子 20.2.4線程間通信概述 20.2.5信號事件通信 20.2.6互斥體(Mutex) 20.2.7信號量 20.2.8消息隊列 20.2.9郵件隊列 20.2.10內(nèi)存池管理特性 20.2.11通用等待函數(shù)和超時數(shù)值 20.2.12定時器特性 20.2.13給非特權(quán)線程增加SVC服務(wù) 20.3在應(yīng)用中使用RTX 20.4調(diào)試RTX應(yīng)用 20.5疑難解答 20.5.1棧大小需求 20.5.2優(yōu)先級 20.5.3利用OS錯誤報告 20.5.4OS特性配置 20.5.5其他問題 20.6其他要點和提示 20.6.1修改RTX_Config_CM.c 20.6.2線程優(yōu)先級 20.6.3縮短等待時間 20.6.4其他信息 第21章混合語言工程 21.1匯編在工程開發(fā)中的應(yīng)用 21.2匯編編程實踐和AAPCS 21.3匯編函數(shù)概述 21.3.1ARM工具鏈 21.3.2GCC工具鏈 21.3.3IAR Embedded Workbench for ARM 21.3.4匯編函數(shù)結(jié)構(gòu) 21.4內(nèi)聯(lián)匯編 21.4.1ARM工具鏈 21.4.2GNU編譯器組件 21.5嵌入?yún)R編特性(ARM工具鏈) 21.6混合語言工程 21.6.1概述 21.6.2在匯編代碼中調(diào)用C函數(shù) 21.6.3在C代碼中調(diào)用匯編函數(shù) 21.7在Keil MDKARM中創(chuàng)建匯編工程 21.7.1一個簡單的工程 21.7.2Hello World 21.7.3其他文本輸出函數(shù) 21.8用于中斷控制的通用匯編代碼 21.8.1使能和禁止中斷 21.8.2設(shè)置和清除中斷掛起狀態(tài) 21.8.3設(shè)置中斷優(yōu)先級 21.9匯編語言的其他編程技巧 21.9.1為變量分配數(shù)據(jù)空間 21.9.2復(fù)雜跳轉(zhuǎn)處理 21.10使用特殊指令 21.10.1CMSISCORE 21.10.2習(xí)語識別 第22章軟件移植 22.1概述 22.2從8位/16位微控制器向ARM CortexM移植軟件 22.2.1通用改動 22.2.2存儲器需求 22.2.38位或16位微控制器不再適用的優(yōu)化 22.2.4實例: 從8051移植到ARM CortexM0/CortexM0 22.3ARM7TDMI和CortexM0/M0 處理器間的差異 22.3.1經(jīng)典ARM處理器概述 22.3.2操作模式 22.3.3寄存器 22.3.4指令集 22.3.5中斷 22.4從ARM7TDMI向CortexM0/CortexM0 處理器移植軟件 22.4.1啟動代碼和向量表 22.4.2中斷 22.4.3C程序代碼 22.4.4匯編代碼 22.4.5原子訪問 22.4.6優(yōu)化 22.5各種CortexM處理器間的差異 22.5.1概述 22.5.2系統(tǒng)模型 22.5.3NVIC和異常 22.5.4指令集 22.5.5系統(tǒng)級特性 22.5.6調(diào)試和跟蹤特性 22.6在CortexM處理器間移植時的通用改動 22.7CortexM0/M0 和CortexM1間的軟件移植 22.8CortexM0/M0 和CortexM3間的軟件移植 22.9CortexM0/M0 和CortexM4/M7間的軟件移植 第23章高級話題 23.1C語言實現(xiàn)的位數(shù)據(jù)處理 23.2C實現(xiàn)的啟動代碼 23.3棧溢出檢測 23.3.1什么是棧溢出 23.3.2工具鏈的棧分析 23.3.3棧的測試分析 23.3.4利用存儲器保護(hù)單元對棧進(jìn)行限制 23.3.5OS上下文切換期間的棧檢測 23.4中斷服務(wù)程序重入 23.5信號量設(shè)計 23.6存儲器順序和存儲器屏障 附錄A指令集快速參考 附錄B異常類型快速參考 B.1異常類型 B.2異常壓棧后棧的內(nèi)容 附錄CCMSISCORE快速參考 C.1數(shù)據(jù)類型 C.2異常枚舉 C.3嵌套向量中斷控制器訪問函數(shù) C.4系統(tǒng)和SysTick操作函數(shù) C.5內(nèi)核寄存器操作函數(shù) C.6特殊指令操作函數(shù) 附錄DNVIC、SCB和SysTick寄存器快速參考 D.1NVIC寄存器一覽 D.2中斷設(shè)置使能寄存器(NVICISER) D.3中斷清除使能寄存器(NVICICER) D.4中斷設(shè)置掛起寄存器(NVICISPR) D.5中斷清除掛起寄存器(NVICICPR) D.6中斷優(yōu)先級寄存器(NVICIRQ[0]到NVICIRQ[7]) D.7SCB寄存器一覽 D.8CPU ID寄存器(SCBCPUID) D.9中斷控制狀態(tài)寄存器(SCBICSR) D.10向量表偏移寄存器(SCBVTOR,0xE000ED08) D.11應(yīng)用中斷和控制狀態(tài)寄存器(SCBAIRCR) D.12系統(tǒng)控制寄存器(SCBSCR) D.13配置控制寄存器(SCBCCR) D.14系統(tǒng)處理優(yōu)先級寄存器2(SCBSHR[0]) D.15系統(tǒng)處理優(yōu)先級寄存器3(SCBSHR[1]) D.16系統(tǒng)處理控制和狀態(tài)寄存器 D.17SysTick寄存器一覽 D.18SysTick控制和狀態(tài)寄存器(SysTickCTRL) D.19SysTick重裝載值寄存器(SysTickLOAD) D.20SysTick當(dāng)前值寄存器(SysTickVAL) D.21SysTick校準(zhǔn)值寄存器(SysTickCALIB) 附錄E調(diào)試寄存器快速參考 E.1內(nèi)核調(diào)試寄存器 E.2斷點單元 E.3數(shù)據(jù)監(jiān)視點單元 E.4ROM表寄存器 E.5微跟蹤緩沖 E.6POSITION寄存器 E.7MASTER寄存器 E.8FLOW寄存器 E.9BASE寄存器 E.10包格式 E.11實例 附錄F調(diào)試接頭分配 F.110針Cortex調(diào)試連接頭 F.220針Cortex調(diào)試 ETM接頭 F.3老式的20針I(yè)DC接頭排列 附錄G疑難解答 G.1程序不運(yùn)行/啟動 G.1.1向量表丟失或位置錯誤 G.1.2使用了錯誤的C啟動代碼 G.1.3復(fù)位向量中的值錯誤 G.1.4程序映像沒有被正確地編程到Flash中 G.1.5錯誤的工具鏈配置 G.1.6錯誤的棧指針初始值 G.1.7錯誤的大小端設(shè)置 G.2程序啟動,卻進(jìn)入了硬件錯誤 G.2.1非法存儲器訪問 G.2.2非對齊數(shù)據(jù)訪問 G.2.3存儲器訪問權(quán)限(只限于CortexM0 處理器) G.2.4從總線返回錯誤 G.2.5異常處理中的棧被破壞 G.2.6程序在某些C函數(shù)中崩潰 G.2.7意外地試圖切換至ARM狀態(tài) G.2.8在錯誤的優(yōu)先級上執(zhí)行SVC G.3休眠問題 G.3.1執(zhí)行WFE不進(jìn)入休眠 G.3.2退出時休眠過早地引起休眠 G.3.3中斷已經(jīng)在掛起態(tài)時SEVONPEND不工作 G.3.4由于休眠模式可能禁止了某些時鐘,處理器無法喚醒 G.3.5競態(tài) G.4中斷問題 G.4.1執(zhí)行了多余的中斷處理 G.4.2執(zhí)行了多余的SysTick處理 G.4.3在中斷處理中禁止中斷 G.4.4錯誤的中斷返回指令 G.4.5異常優(yōu)先級設(shè)置的數(shù)值 G.5其他問題 G.5.1錯誤的SVC參數(shù)傳遞方法 G.5.2調(diào)試連接受到I/O設(shè)置或低功耗模式的影響 G.5.3調(diào)試協(xié)議選擇/配置 G.5.4使用事件輸出作為脈沖I/O G.5.5向量表和代碼位置的設(shè)備實際需求 G.6其他可能的編程陷阱 G.6.1中斷優(yōu)先級 G.6.2同時使用主棧和進(jìn)程棧時的棧溢出 G.6.3數(shù)據(jù)對齊 G.6.4丟失volatile關(guān)鍵字 G.6.5函數(shù)指針 G.6.6讀修改寫 G.6.7中斷禁止 G.6.8SystemInit函數(shù) G.6.9斷點和內(nèi)聯(lián) 附錄HARM CortexM0微控制器面包板工程 H.1背景 H.2硬件設(shè)計 附錄I參考文檔
展開全部

ARM Cortex-M0與Cortex-M0+權(quán)威指南-(第2版) 作者簡介

Joseph Yiu 英國ARM公司資深專家,12年半導(dǎo)體行業(yè)從業(yè)經(jīng)歷(在ARM公司工作15年以上)。曾參與多個處理器設(shè)計項目,包括ARM Cortex-M3和Cortex-M0,并參與了多種ARM IP(知識產(chǎn)權(quán))產(chǎn)品的開發(fā)。Joseph Yiu為微控制器系統(tǒng)級設(shè)計專家,并涉獵了諸多相關(guān)領(lǐng)域,包括ARM Cortex-M系列微控制器軟件開發(fā)、微控制器市場以及片上系統(tǒng)設(shè)計技術(shù)。其他代表性著作有《The Definitive Guide to the ARM Cortex-M3, 2nd Edition》、《The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, 3rd Edition》(中文翻譯版均由清華大學(xué)出版社出版發(fā)行)。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 低粘度纤维素|混凝土灌浆料|有机硅憎水粉|聚羧酸减水剂-南京斯泰宝 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 西装定制/做厂家/公司_西装订做/制价格/费用-北京圣达信西装 | 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 南京试剂|化学试剂|分析试剂|实验试剂|cas号查询-专业60年试剂销售企业 | 微型气泵-真空-蠕动-水泵-厂家-深圳市品亚科技有限公司 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 雪花制冰机(实验室雪花制冰机)百科 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 新中天检测有限公司青岛分公司-山东|菏泽|济南|潍坊|泰安防雷检测验收 | 劳动法网-专业的劳动法和劳动争议仲裁服务网 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | WF2户外三防照明配电箱-BXD8050防爆防腐配电箱-浙江沃川防爆电气有限公司 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 匀胶机旋涂仪-声扫显微镜-工业水浸超声-安赛斯(北京)科技有限公司 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 工作服定制,工作服定做,工作服厂家-卡珀职业服装(苏州)有限公司 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 广州昊至泉水上乐园设备有限公司 | 美缝剂_美缝剂厂家_美缝剂加盟-地老板高端瓷砖美缝剂 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 电动高压冲洗车_价格-江苏速利达机车有限公司 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 纯水设备_苏州皙全超纯水设备水处理设备生产厂家 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 中式装修设计_室内中式装修_【云臻轩】中式设计机构 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 |