嵌入式系統(tǒng)原理與應(yīng)用 課件全套 王忠民 第1-9章 ARM嵌入式系統(tǒng)概述-中斷_第1頁(yè)
嵌入式系統(tǒng)原理與應(yīng)用 課件全套 王忠民 第1-9章 ARM嵌入式系統(tǒng)概述-中斷_第2頁(yè)
嵌入式系統(tǒng)原理與應(yīng)用 課件全套 王忠民 第1-9章 ARM嵌入式系統(tǒng)概述-中斷_第3頁(yè)
嵌入式系統(tǒng)原理與應(yīng)用 課件全套 王忠民 第1-9章 ARM嵌入式系統(tǒng)概述-中斷_第4頁(yè)
嵌入式系統(tǒng)原理與應(yīng)用 課件全套 王忠民 第1-9章 ARM嵌入式系統(tǒng)概述-中斷_第5頁(yè)
已閱讀5頁(yè),還剩642頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式系統(tǒng)設(shè)計(jì)嵌入式系統(tǒng)基礎(chǔ)及Cortex-M3處理器體系結(jié)構(gòu):掌握ARM公司提供的Cortex-M3處理器IP核的結(jié)構(gòu)、工作原理以及從開(kāi)發(fā)人員角度IP核內(nèi)的可用資源(ARM公司提供,對(duì)應(yīng)原理部分)。Cortex-M3指令集和匯編程序設(shè)計(jì):掌握Thrumb-2匯編語(yǔ)言指令系統(tǒng),并能進(jìn)行匯編程序、混合程序的開(kāi)發(fā);STM32F103系列微控制器片上外設(shè)的原理與編程技術(shù):掌握ARMCortex-M3核的STM32F103微控制器芯片(意法半導(dǎo)體公司生產(chǎn))。了解意法半導(dǎo)體公司基于ARM公司的Cortex-M3核推出的STM32F103微控制器芯片的片內(nèi)資源;課程概述—課程目標(biāo)

Cortex-M3內(nèi)核ARM公司意法半導(dǎo)體(ST)公司ST評(píng)估板、第三方電子公司提供的二次開(kāi)發(fā)板或Proteus仿真STM32系列微控制器芯片各種類型的最小系統(tǒng)開(kāi)發(fā)板內(nèi)核篇(IP核原理):1、IP核(CPU)工作原理2、指令系統(tǒng)(匯編)3、程序設(shè)計(jì)片內(nèi)外設(shè)篇:1、GPIO2、定時(shí)器3、UART。。。嵌入式系統(tǒng)開(kāi)發(fā)1、開(kāi)發(fā)工具(宿主環(huán)境)Keil_MDK5ADS1.2(ARM公司)2、嵌入式操作系統(tǒng)3、應(yīng)用程序開(kāi)發(fā)。。。課程概述—課程學(xué)習(xí)內(nèi)容課程概述—推薦教材授課教材:嵌入式系統(tǒng)原理與應(yīng)用.西安電子科技大學(xué)出版社,2025.6參考資料(電子版):1、Cortex-M3權(quán)威指南(中文版)ARM公司提供2、STM32中文參考手冊(cè)_V10意法半導(dǎo)體公司提供2、STM32固件庫(kù)使用手冊(cè)(中文版)意法半導(dǎo)體公司提供京東平臺(tái)淘寶平臺(tái)單位:西安郵電大學(xué)納稅人識(shí)別碼:12610000437205105J課程概述—考核辦法

課程安排總學(xué)時(shí)數(shù):48H講課學(xué)時(shí):24h項(xiàng)目實(shí)驗(yàn)學(xué)時(shí):24h考核方式項(xiàng)目設(shè)計(jì)(占50%)筆試(50%)課程概述—課程教學(xué)安排

授課學(xué)時(shí)(次數(shù))24H(上課8次)+24H(實(shí)驗(yàn)開(kāi)發(fā)—課堂匯報(bào)或課下開(kāi)發(fā))

第1章嵌入式系統(tǒng)概述(1次)第一篇內(nèi)核篇(

基于ARM-Cortex-M3核)第2章ARM-Cortex-M3微處理器體系結(jié)構(gòu)(1次)第3章ARM-Cortex-M3指令系統(tǒng)(1)第4章基于ARM-Cortex-M3核的程序設(shè)計(jì)(2)第二篇片內(nèi)外設(shè)篇(基于STM32F103芯片)

第5章STM32微控制器(1次)第6章基于STM32F103微控制器的嵌入式系統(tǒng)開(kāi)發(fā)基礎(chǔ)(1)第7-12章STM32F103片內(nèi)資源(GPIO,定時(shí)器,中斷,UART,ADC,DMA等)(1次)每組學(xué)生講各自的IO(8次)第三篇系統(tǒng)篇(基于Keil開(kāi)發(fā)平臺(tái))第13章嵌入式系統(tǒng)開(kāi)發(fā)(0次)項(xiàng)目名稱基于眼電的意圖識(shí)別基于stm32的智慧小車仿真基于STM32室內(nèi)外溫度差檢測(cè)系統(tǒng)基于STM32的電動(dòng)車防盜報(bào)警系統(tǒng)基于STM32的機(jī)房環(huán)境監(jiān)測(cè)系統(tǒng)基于STM32養(yǎng)殖環(huán)境系統(tǒng)監(jiān)測(cè)系統(tǒng)飲水機(jī)系統(tǒng)的設(shè)計(jì)與仿真課程概述—往屆項(xiàng)目名稱(2024)

指紋打卡系統(tǒng)基于stm32的教室照明智能控制系統(tǒng)proteus仿真智能浴室系統(tǒng)可設(shè)閾值的溫度采集報(bào)警系統(tǒng)基于STM32單片機(jī)的交通燈Proteus仿真基于STM32的煙霧報(bào)警系統(tǒng)基于STM32的脈搏檢測(cè)系統(tǒng)課程概述—往屆項(xiàng)目名稱(2022)

基于stm32的鋰電池充放電管理系統(tǒng)基于stm32的直流無(wú)刷電機(jī)控制系統(tǒng)設(shè)計(jì)基于stm32的眼電信號(hào)意圖識(shí)別系統(tǒng)基于stm32的智能行車碼表基于stm32的機(jī)器人定位避障實(shí)現(xiàn)基于stm32的多通道脈搏測(cè)量實(shí)時(shí)顯示系統(tǒng)基于stm32的智能臺(tái)燈系統(tǒng)課程概述—往屆項(xiàng)目名稱(2021)

基于語(yǔ)音特征識(shí)別的兒童語(yǔ)言學(xué)習(xí)智能機(jī)器人基于STM32的自行車?yán)锍瘫碓O(shè)計(jì)基于STM32的溫度檢測(cè)報(bào)警系統(tǒng)基于STM32的脈搏采樣器基于stm32的飛行器信息傳輸系統(tǒng)基于stm32的和FreeRTOS的智能快遞柜基于stm32的智能電動(dòng)車充電樁管理系統(tǒng)設(shè)計(jì)基于STM32的陪護(hù)機(jī)器人基于眼電的stm32字符輸入系統(tǒng)課程概述—往屆項(xiàng)目名稱(2020)

中醫(yī)脈象輔助診斷系統(tǒng)廁所蹲位剩余個(gè)數(shù)的統(tǒng)計(jì)與顯示基于STM32的室內(nèi)導(dǎo)航系統(tǒng)基于STM32的室內(nèi)照明系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于STM32的智能巡邏小車基于STM32的老人跌倒自動(dòng)報(bào)警系統(tǒng)基于STM32單片機(jī)遠(yuǎn)程智能花盆GSM短信澆水補(bǔ)光設(shè)計(jì)意念控制智能小車系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于STM32的圖像采集系統(tǒng)課程概述—往屆項(xiàng)目名稱(2019)

陪護(hù)機(jī)器人(基于視頻的移動(dòng)目標(biāo)跟蹤)運(yùn)動(dòng)康復(fù)系統(tǒng)(測(cè)出步距,傳手機(jī),根據(jù)步距控制音樂(lè)聲音大小,后臺(tái)醫(yī)生了解病人運(yùn)動(dòng)情況)人體生理參數(shù)(心電、血壓、脈搏、血氧)測(cè)試與監(jiān)控系統(tǒng)基于可穿戴式傳感器的人體行為識(shí)別系統(tǒng)(加速度傳感器,智能鞋墊—-壓力傳感器)課程概述—往屆項(xiàng)目名稱(2018)

基于嵌入式的圖像采集及實(shí)時(shí)監(jiān)控系統(tǒng)基于可穿戴式傳感器的跌倒檢測(cè)系統(tǒng)人體生理參數(shù)測(cè)試與監(jiān)控系統(tǒng)運(yùn)動(dòng)康復(fù)系統(tǒng)基于嵌入式的移動(dòng)跟蹤機(jī)器人

課程概述—往屆項(xiàng)目名稱(2017)

本學(xué)期項(xiàng)目???

世界機(jī)器人大賽-BCI腦控機(jī)器人大賽(中國(guó)腦機(jī)接口比賽)技術(shù)賽BCI腦控機(jī)器人大賽/cn/about/54.html大家根據(jù)往年的競(jìng)賽,參考上面相關(guān)題目,上網(wǎng)查詢可買(mǎi)到的EEG電極,考慮自己做啥?若到時(shí)由嵌入式相關(guān)系統(tǒng)要做,也可以以上都不行,也可以自己考慮項(xiàng)目名稱,既可以通過(guò)開(kāi)發(fā)板,也可以Proteus仿真。2-3人一組STM32(Cortexm3)開(kāi)發(fā)板提供商:廣州市星翼電子科技有限公司推出的正點(diǎn)原子開(kāi)發(fā)板東莞野火電子技術(shù)有限公司推出的野火、秉火開(kāi)發(fā)板第1章ARM嵌入式系統(tǒng)概述—知識(shí)點(diǎn)與能力要求

第1章嵌入式系統(tǒng)概述—授課內(nèi)容

1.1嵌入式系統(tǒng)概述1.2ARM處理器發(fā)展歷程1.3ARMCortex處理器1.4STM32微控制器1.5KeilMDK5嵌入式系統(tǒng)集成開(kāi)發(fā)工具1.6嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)引子:計(jì)算機(jī)系統(tǒng)的三大領(lǐng)域?qū)<翌A(yù)言:大機(jī)時(shí)代→PC時(shí)代→后PC時(shí)代(嵌入式時(shí)代)第1章ARM嵌入式系統(tǒng)概述—嵌入式系統(tǒng)概述

第1章ARM嵌入式系統(tǒng)概述—嵌入式系統(tǒng)概述

計(jì)算機(jī)的發(fā)展歷程電子管計(jì)算機(jī)時(shí)代:20世紀(jì)40年代,電子管技術(shù)的發(fā)展引領(lǐng)了現(xiàn)代計(jì)算機(jī)的誕生。世界上第一臺(tái)電子管計(jì)算機(jī)是由美國(guó)賓夕法尼亞大學(xué)的艾克特和莫奇利制造的ENIAC,它是一臺(tái)巨大而笨重的機(jī)器,用于解決科學(xué)和軍事計(jì)算問(wèn)題。晶體管計(jì)算機(jī)時(shí)代:1950年代,晶體管的發(fā)明取代了電子管,使計(jì)算機(jī)更小、更可靠、更快速。IBM公司的IBM7090和DEC公司的PDP-8是當(dāng)時(shí)最著名的晶體管計(jì)算機(jī)。集成電路計(jì)算機(jī)時(shí)代:1960年代末,集成電路技術(shù)的發(fā)展將大量的電子元件集成到一塊芯片上,進(jìn)一步使計(jì)算機(jī)更小、更強(qiáng)大。這一時(shí)期出現(xiàn)了IBM的System/360系列和DEC的PDP-11系列等計(jì)算機(jī)。大規(guī)模、超大規(guī)模集成電路時(shí)代:1970年代末以來(lái),隨著大規(guī)模、超大規(guī)模集成電路的出現(xiàn),使得個(gè)人計(jì)算機(jī)(PC)的出現(xiàn)成為了可能。經(jīng)過(guò)40多年的發(fā)展,個(gè)人計(jì)算機(jī)從早期的蘋(píng)果公司的AppleII(8位機(jī))、IBM的IBMPC(16位機(jī)),到后來(lái)的32位機(jī)和64位機(jī),個(gè)人計(jì)算機(jī)得到了快速的普及和廣泛的應(yīng)用?!昂驪C時(shí)代”計(jì)算機(jī)的發(fā)展趨勢(shì)

隨著物聯(lián)網(wǎng)技術(shù)、云計(jì)算技術(shù)、人工智能技術(shù)在智能制造、無(wú)人駕駛、智慧城市等產(chǎn)業(yè)領(lǐng)域的快速推廣和應(yīng)用,基于端邊云的新型計(jì)算架構(gòu)得到快速發(fā)展。端邊云(“端”是指邊緣側(cè)的端設(shè)備,“邊”是指邊緣側(cè)的邊緣計(jì)算設(shè)備,“云”是指云端的云服務(wù)器)架構(gòu)是指將計(jì)算和數(shù)據(jù)處理分布在設(shè)備的邊緣(如智能手機(jī)、物聯(lián)網(wǎng)設(shè)備)和云端之間的一種架構(gòu)。按照端邊云架構(gòu)的思路,可以將計(jì)算機(jī)分為三大類:端設(shè)備(EdgeDevices):它們是部署在網(wǎng)絡(luò)邊緣側(cè)的設(shè)備,通常擁有較小的尺寸和相對(duì)較弱的計(jì)算能力,如智能手機(jī)、平板電腦、傳感器等。它們相對(duì)于其他計(jì)算機(jī)更接近數(shù)據(jù)源和終端用戶,主要負(fù)責(zé)采集數(shù)據(jù)、處理本地任務(wù)以及與云端進(jìn)行通信。邊緣計(jì)算設(shè)備(EdgeComputingDevices):它們是在網(wǎng)絡(luò)邊緣提供計(jì)算資源和服務(wù)的設(shè)備,通常擁有比端設(shè)備更強(qiáng)大的計(jì)算能力和儲(chǔ)存容量,例如工業(yè)網(wǎng)關(guān)、邊緣服務(wù)器等。邊緣計(jì)算設(shè)備主要用于處理端設(shè)備產(chǎn)生的數(shù)據(jù),同時(shí)將處理結(jié)果傳輸?shù)皆贫嘶蚱渌吘壴O(shè)備上。云計(jì)算設(shè)備(CloudComputingDevices):它們是集中在云端提供計(jì)算資源和服務(wù)的設(shè)備,通常具有高度的可伸縮性、安全性和穩(wěn)定性。云計(jì)算設(shè)備主要負(fù)責(zé)存儲(chǔ)和處理海量數(shù)據(jù),同時(shí)為用戶提供各種應(yīng)用和服務(wù),包括存儲(chǔ)、計(jì)算、分析、人工智能等。第1章ARM嵌入式系統(tǒng)概述—嵌入式系統(tǒng)概述

嵌入式系統(tǒng)的發(fā)展歷程初期階段(70年代-80年代初):這個(gè)階段是我國(guó)嵌入式系統(tǒng)發(fā)展的起點(diǎn)。當(dāng)時(shí),我國(guó)高校開(kāi)始開(kāi)設(shè)計(jì)算機(jī)課程,并引進(jìn)了一些國(guó)外的計(jì)算機(jī)設(shè)備和技術(shù)。在這個(gè)階段,嵌入式系統(tǒng)的應(yīng)用主要集中在科研、軍工和儀器儀表等領(lǐng)域。由于國(guó)內(nèi)技術(shù)和資源的限制,嵌入式系統(tǒng)的發(fā)展相對(duì)較慢。單板機(jī)時(shí)代(70年代中后期-90年代初):這個(gè)階段,Zilog公司1976年推出Z80CPU,北京工業(yè)大學(xué)基于該CPU開(kāi)發(fā)出圖1.2所示的TP801單板機(jī),成為當(dāng)時(shí)我國(guó)最具影響力的計(jì)算機(jī)產(chǎn)品之一。單片機(jī)時(shí)代(70年代后期至今):隨著技術(shù)的發(fā)展和工業(yè)控制領(lǐng)域的需要,Intel公司先后在1976年推出8位的8048單片機(jī),1980年推出8位的8051單片機(jī),1983年推出了16位Intel8096單片機(jī)。ARM時(shí)代(2000年代中期至今):本世紀(jì)以來(lái),以ARM架構(gòu)為基礎(chǔ),不同半導(dǎo)體廠家推出了各種ARM嵌入式微控制器,特別是以ARM7TDMI和CortexM3微處理器核為基礎(chǔ)推出的各種ARM嵌入式微控制器得到了廣泛應(yīng)用。Zilog公司的Z80CPU與用其開(kāi)發(fā)的TP801單板機(jī)Intel51單片機(jī)與單片機(jī)開(kāi)發(fā)板(a)STM32F103微控制器(b)嵌入式開(kāi)發(fā)板硬件(微控制器)開(kāi)創(chuàng)歷史的Intel4004(1971年)永遠(yuǎn)經(jīng)典的8051(1978年)獨(dú)步當(dāng)時(shí)的TMS320C10(1982年)--德州儀器TI的DSP芯片流行當(dāng)代的ARM(1996年)12mm24bitarchitecture2,250transistorsClock:108kHz第1章ARM嵌入式系統(tǒng)概述—發(fā)展歷史

軟件(嵌入式操作系統(tǒng))無(wú)操作系統(tǒng)時(shí)代(20世紀(jì)70年代)初期,受硬件條件限制追求時(shí)空效率采用匯編語(yǔ)言直接控制系統(tǒng)后來(lái),逐步采用高級(jí)語(yǔ)言和匯編語(yǔ)言相結(jié)合開(kāi)發(fā)嵌入式應(yīng)用軟件簡(jiǎn)單嵌入式操作系統(tǒng)時(shí)代(20世紀(jì)80年代)出現(xiàn)了控制系統(tǒng)負(fù)載和監(jiān)視應(yīng)用程序運(yùn)行的簡(jiǎn)單嵌入式操作系統(tǒng)簡(jiǎn)單而經(jīng)典的嵌入式操作系統(tǒng)uCos內(nèi)核大小只有幾K嵌入式實(shí)時(shí)操作系統(tǒng)時(shí)代(20世紀(jì)90年代至今)嵌入式操作系統(tǒng)的實(shí)時(shí)性得到很大提高嵌入式操作系統(tǒng)的功能日益完善使嵌入式應(yīng)用軟件開(kāi)發(fā)更加簡(jiǎn)單文件系統(tǒng)網(wǎng)絡(luò)協(xié)議棧圖形用戶接口多任務(wù)、設(shè)備管理、應(yīng)用程序接口、…第1章ARM嵌入式系統(tǒng)概述—發(fā)展歷史

嵌入式系統(tǒng)的定義從廣義的角度:

嵌入式系統(tǒng)是一切非PC和大型機(jī)的計(jì)算機(jī)系統(tǒng)

goReaderInterneteBookSamsungAnyWebInternetScreenPhoneTektronixTDS7000DigitalOscilloscopesNixvueDigitalAlbumDigitalPhotoAlbum第1章ARM嵌入式系統(tǒng)概述—嵌入式系統(tǒng)的定義

嵌入式系統(tǒng)的定義從應(yīng)用的角度:

devicesusedtocontrol,monitororassisttheoperationofequipment,machineryorplants.

嵌入式系統(tǒng)是控制、監(jiān)視或輔助設(shè)備、機(jī)器和車間運(yùn)行的裝置。IEEE(國(guó)際電氣和電子工程師協(xié)會(huì))定義第1章ARM嵌入式系統(tǒng)概述—嵌入式系統(tǒng)的定義

嵌入式系統(tǒng)的定義從系統(tǒng)的角度:

嵌入式系統(tǒng)是設(shè)計(jì)完成復(fù)雜功能的硬件和軟件,并

使其緊密耦合在一起的計(jì)算機(jī)系統(tǒng),是更大系統(tǒng)的一個(gè)

完整的子系統(tǒng)。第1章ARM嵌入式系統(tǒng)概述—嵌入式系統(tǒng)的定義

嵌入式系統(tǒng)的定義從技術(shù)的角度:

嵌入式系統(tǒng)是一個(gè)以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),

并融合微電子技術(shù)、通信技術(shù)和自動(dòng)控制技術(shù),而且軟硬件

可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗

和應(yīng)用環(huán)境有特殊要求的專用計(jì)算機(jī)系統(tǒng)。第1章ARM嵌入式系統(tǒng)概述—嵌入式系統(tǒng)的定義

第1章ARM嵌入式系統(tǒng)概述嵌入式系統(tǒng)與桌面通用系統(tǒng)比較

嵌入式系統(tǒng)與桌面通用系統(tǒng)比較形態(tài):“嵌入”于不同設(shè)備Vs基本雷同的標(biāo)準(zhǔn)形態(tài)獨(dú)立存在價(jià)值:“嵌入”的不同設(shè)備Vs通用指標(biāo)(計(jì)算能力、存儲(chǔ)能力)功耗:幾mW-幾WVs幾百W功能:專用單一Vs通用復(fù)雜資源:夠用就行Vs大而全實(shí)時(shí):系統(tǒng)最壞情況下的行為Vs系統(tǒng)平均響應(yīng)時(shí)間和用戶方便可靠:惡劣環(huán)境無(wú)人值守長(zhǎng)時(shí)間Vs一般環(huán)境開(kāi)發(fā):交叉開(kāi)發(fā)在線仿真固化存儲(chǔ)Vs編程環(huán)境與運(yùn)行環(huán)境一致生命:8-10年Vs18個(gè)月競(jìng)爭(zhēng):百家爭(zhēng)鳴Vs巨頭壟斷哈佛體系結(jié)構(gòu)

指令與數(shù)據(jù)分開(kāi)存儲(chǔ)在不同的存儲(chǔ)空間,使得指令讀取和數(shù)據(jù)訪問(wèn)可以并行處理,顯著提高了系統(tǒng)性能,但需要較多數(shù)量的總線。大多數(shù)嵌入式處理器都采用哈佛結(jié)構(gòu)。第1章ARM嵌入式系統(tǒng)概述嵌入式系統(tǒng)的組成

馮諾依曼體系結(jié)構(gòu)指令和數(shù)據(jù)不加以區(qū)分,都通過(guò)數(shù)據(jù)總線進(jìn)行傳輸。因此,指令讀取和數(shù)據(jù)訪問(wèn)不能同時(shí)進(jìn)行,數(shù)據(jù)吞吐量低,但總線數(shù)量相對(duì)較少且管理統(tǒng)一。大多數(shù)通用計(jì)算機(jī)的處理器(如IntelX86)和嵌入式系統(tǒng)中的ARM7處理器均采用馮諾依曼結(jié)構(gòu)。第1章ARM嵌入式系統(tǒng)概述嵌入式系統(tǒng)的組成

第1章嵌入式系統(tǒng)概述—授課內(nèi)容

1.1嵌入式系統(tǒng)概述1.2ARM處理器發(fā)展歷程1.3ARMCortex處理器1.4STM32微控制器1.5KeilMDK5嵌入式系統(tǒng)集成開(kāi)發(fā)工具1.6嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)將技術(shù)授權(quán)給其它芯片制造廠商形成各具特色的ARM芯片...1.5元/塊7.5元/塊第1章嵌入式系統(tǒng)概述—ARM產(chǎn)業(yè)生態(tài)

第1章ARM嵌入式系統(tǒng)概述—ARM處理器發(fā)展歷程

ARM公司發(fā)展歷程ARM(AdvancedRISCMachines)公司是一家總部位于英國(guó)的半導(dǎo)體公司,其核心業(yè)務(wù)是設(shè)計(jì)和許可處理器架構(gòu),而不是制造芯片,其盈利主要來(lái)自于處理器授權(quán)和芯片版稅兩個(gè)方面,因此被稱為“IP(IntellectualProperty)公司”。ARM公司的發(fā)展歷程可以分為以下幾個(gè)階段:創(chuàng)業(yè)期(1978-1985):1978年,物理學(xué)家赫爾曼·豪澤(HermannHauser)和工程師ChrisCurry在英國(guó)劍橋創(chuàng)辦了CPU公司(CambridgeProcessingUnit),主要業(yè)務(wù)是為當(dāng)?shù)厥袌?chǎng)供應(yīng)電子設(shè)備。1979年,CPU公司改名為Acorn計(jì)算機(jī)公司。1985年,RogerWilson和SteveFurber設(shè)計(jì)了他們的第一代32位、6MHz的處理器,用它做出了一臺(tái)RISC指令集的計(jì)算機(jī),這就是第一代ARM處理器ARM1。分拆與獨(dú)立發(fā)展期(1990-1994):1990年,Acorn公司財(cái)務(wù)危機(jī),由蘋(píng)果投入資金,VLSITechnology提供設(shè)備,Acorn加入十多位工程師,分割出獨(dú)立子公司AdvancedRISCMachines(ARM)。1992年,ARM發(fā)布了第一版ARM6處理器,這些處理器在早期的消費(fèi)電子產(chǎn)品中得到廣泛應(yīng)用,包括AcornArchimedes個(gè)人電腦和蘋(píng)果公司的NewtonMessagePad??焖侔l(fā)展期(1994-2000):在20世紀(jì)90年代末到21世紀(jì)初的時(shí)期,ARM處理器開(kāi)始大量應(yīng)用于移動(dòng)設(shè)備。這個(gè)階段推出了許多經(jīng)典的產(chǎn)品,如ARM7、ARM9等。這些產(chǎn)品在性能、功耗和成本等方面取得了很好的平衡,因此在消費(fèi)電子、移動(dòng)通信等領(lǐng)域得到了廣泛應(yīng)用。技術(shù)創(chuàng)新期(2000-至今):隨著移動(dòng)互聯(lián)網(wǎng)的興起,ARM處理器的應(yīng)用領(lǐng)域進(jìn)一步擴(kuò)大。在這個(gè)階段,ARM推出了許多新的技術(shù)和產(chǎn)品,如Cortex系列處理器、NEON多媒體處理技術(shù)、TrustZone安全技術(shù)等。這些新技術(shù)使得ARM處理器在性能、功耗和安全性等方面得到了進(jìn)一步的提升,為各種應(yīng)用提供了更好的支持。2016年7月,日本軟銀集團(tuán)以234億英鎊(約合310億美元)的價(jià)格收購(gòu)了ARM公司。集成開(kāi)發(fā)工具:ARMADS:ARM公司推出其處理器的同時(shí),提供了一系列的集成開(kāi)發(fā)工具。在1990年代末期開(kāi)始,ARM先后推出了ARMADS(ARMDeveloperSuite)集成開(kāi)發(fā)工具ADS1.0、ADS2.0、ADS2.1、ADS2.2、ADS2.5等版本,國(guó)內(nèi)高校在早期引入ARM嵌入式課程教學(xué)時(shí)大多使用的就是ARMADS開(kāi)發(fā)工具。KeilMDK:2005年ARM公司收購(gòu)了長(zhǎng)期從事嵌入式集成開(kāi)發(fā)工具研發(fā)的KeilSoftware公司(早期從事Intel8051系列單片機(jī)開(kāi)發(fā)的讀者對(duì)該公司的KeilC51單片機(jī)集成開(kāi)發(fā)環(huán)境并不陌生),Keil公司的MDK-ARM集成開(kāi)發(fā)環(huán)境就被整合到ARM生態(tài)系統(tǒng)中,推出了KeilMDK-ARM集成開(kāi)發(fā)工具。由于Keil公司的加盟以及技術(shù)的不斷進(jìn)步,2009年之后ARM公司就不再對(duì)早期的ARMADS開(kāi)發(fā)工具進(jìn)行維護(hù)了。本書(shū)在介紹ARMCortexM3嵌入式處理器及相關(guān)微控制器時(shí),就將使用ARMKeilMDK5集成開(kāi)發(fā)工具。第1章ARM嵌入式系統(tǒng)概述—ARM處理器發(fā)展歷程

ARM架構(gòu)及處理器發(fā)展歷程

ARM架構(gòu)是一系列基于RISC(ReducedInstructionSetComputing,精簡(jiǎn)指令集計(jì)算機(jī))原則的處理器架構(gòu)。ARM架構(gòu)是進(jìn)行ARM處理器設(shè)計(jì)開(kāi)發(fā)的基礎(chǔ)。自1985年ARM架構(gòu)V1版本發(fā)布以來(lái),已經(jīng)經(jīng)歷了多個(gè)版本的演進(jìn)和升級(jí)。對(duì)于每一架構(gòu)版本,ARM公司都會(huì)推出一系列的ARM處理器。比如,流行廣泛的ARM7TDMI是基于V4架構(gòu)的,CortexM3是基于V7架構(gòu)的。ARM架構(gòu)版本的推出時(shí)間、主要特點(diǎn)以及對(duì)應(yīng)的典型處理器簡(jiǎn)要介紹如下。ARMv1(1985年):ARMv1是最早的ARM指令集架構(gòu)版本。它是一個(gè)32位的精簡(jiǎn)指令集(RISC)架構(gòu),支持16位數(shù)據(jù)總線和8位地址總線,具有低功耗、低成本、小尺寸等特點(diǎn)。基于ARMv1架構(gòu)的處理器是ARM1。ARMv2(1986年):ARMv2支持32位數(shù)據(jù)總線和32位地址總線,支持多周期指令執(zhí)行,增加了協(xié)處理器接口,支持浮點(diǎn)數(shù)運(yùn)算?;贏RMv2架構(gòu)的處理器是ARM2。ARMv3(1992年):ARMv3是ARM架構(gòu)的重大升級(jí)。ARMv3架構(gòu)相對(duì)于之前的版本提供了更高的性能。它引入了指令流水線和乘法指令等新功能,提升了指令執(zhí)行效率。ARMv3架構(gòu)中的指令長(zhǎng)度可以是16位或32位,這使得指令集具有更高的代碼密度。但需要注意的是,ARMv3架構(gòu)并沒(méi)有引入Thumb指令集,這是在后續(xù)的ARMv4架構(gòu)中引入的?;贏RMv3架構(gòu)的處理器是ARM6。ARMv4(1994年):ARMv4是對(duì)ARMv3的改進(jìn)和增強(qiáng)。為了提高代碼的密度,首次引入16位的Thumb指令集,微處理器可以在ARM和Thumb兩種狀態(tài)進(jìn)行切換,ARMv4架構(gòu)的代表處理器是ARM7TDMI,它是第一個(gè)支持Thumb指令集的處理器。前些年我國(guó)高校嵌入式系統(tǒng)教材就是基于v4版本的ARM7TDMI處理器編寫(xiě)的,基于ARM7TDMI的微控制器有比較廣泛的應(yīng)用。ARMv5(1997年):ARMv5引入了SecureMode,提供了更加安全的執(zhí)行環(huán)境。增加了DSP指令集,提高了處理器在數(shù)字信號(hào)處理方面的性能。引入了增強(qiáng)的Thumb指令集(Thumb-2),提供了更好的性能和代碼密度?;贏RMv5架構(gòu)的處理器是ARM9。ARMv6(2002年):ARMv6是對(duì)ARMv5的改進(jìn)和升級(jí)。引入了支持亂序執(zhí)行的技術(shù)(Out-of-OrderExecution),提高了處理器性能?;贏RMv6架構(gòu)的處理器是ARM11。ARMv7(2005年):從v7版本開(kāi)始,ARM處理器的命名不再使用數(shù)字了。而根據(jù)應(yīng)用場(chǎng)景的不同分為Cortex-A(Application),Cortex-R(Real-time),Cortex-M(Microcontroller)三個(gè)系列。ARMv7架構(gòu)的典型處理器Cortex-A7、Cortex-R4和Cortex-M3等。本書(shū)就是基于ARM架構(gòu)v7版本的CortexM3處理器編寫(xiě)的。ARMv8(2011年):ARMv8是一個(gè)重大的架構(gòu)變革,引入了64位ARM處理器架構(gòu)(AArch64)。支持同時(shí)運(yùn)行32位和64位應(yīng)用程序,并提供了更大的尋址空間和更高的性能?;贏RMv8架構(gòu)的處理器有Cortex-A72,Cortex-R52,Cortex-M23等。ARMv9(2021年):ARMv9是基于Armv8增添了針對(duì)矢量處理的DSP、機(jī)器學(xué)習(xí)、安全等的技術(shù)支持。典型處理器有Cortex-A710,Cortex-A510等。ARMv9架構(gòu)的發(fā)布標(biāo)志著ARM繼續(xù)推動(dòng)處理器技術(shù)的演進(jìn)和創(chuàng)新。它為各種領(lǐng)域的應(yīng)用帶來(lái)了更加強(qiáng)大和安全的處理能力,并推動(dòng)了移動(dòng)設(shè)備、物聯(lián)網(wǎng)、邊緣計(jì)算、云計(jì)算等領(lǐng)域的發(fā)展。第1章嵌入式系統(tǒng)概述—授課內(nèi)容

1.1嵌入式系統(tǒng)概述1.2ARM處理器發(fā)展歷程1.3ARMCortex處理器1.4STM32微控制器1.5KeilMDK5嵌入式系統(tǒng)集成開(kāi)發(fā)工具1.6嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)第1章ARM嵌入式系統(tǒng)概述—ARMCortex處理器

Cortex-M3處理器

Cortex-M3是一款由ARM公司設(shè)計(jì)的32位嵌入式處理器,采用了ARMv7-M架構(gòu),它于2004年推出,是ARMCortex-M系列處理器中的第一款。本書(shū)將基于ARM公司的Cortex-M3處理器以及意法半導(dǎo)體公司基于Cortex-M3的STM32F103微控制器來(lái)進(jìn)行相關(guān)內(nèi)容的組織與介紹。Cortex‐M3是ARMv7架構(gòu)的掌上明珠,和曾經(jīng)在業(yè)界有廣泛影響的老一輩ARM7相比,Cortex-M3引入了許多新的技術(shù)和特色:Thumb-2指令集:Cortex-M3處理器采用了Thumb-2指令集。Thumb-2是Thumb的超集,它同時(shí)支持16位和32位指令,這樣就不需要像早期的處理器需要在Thumb和ARM兩種工作狀態(tài)(32位的ARM狀態(tài)和16位的Thumb狀態(tài))之間來(lái)回的切換了。有關(guān)Thumb-2指令集將在第3章詳細(xì)介紹。多級(jí)中斷優(yōu)先級(jí):引入了一個(gè)新的中斷架構(gòu),稱為嵌套向量中斷控制器(NestedVectoredInterruptController,NVIC),能夠?qū)崿F(xiàn)快速且低開(kāi)銷的中斷響應(yīng)和處理。有關(guān)中斷的詳細(xì)內(nèi)容將在第2章介紹。高性能總線接口:Cortex-M3處理器具有高性能的總線接口,可以與外部存儲(chǔ)器和外設(shè)進(jìn)行高速數(shù)據(jù)傳輸。這使得Cortex-M3處理器在處理大量數(shù)據(jù)和高速通信時(shí)表現(xiàn)出色。有關(guān)總線接口將在第2章介紹。內(nèi)存保護(hù):通過(guò)可選的內(nèi)存保護(hù)單元(MemoryProtectionUnit,MPU),Cortex-M3能夠支持操作系統(tǒng)的安全和穩(wěn)定運(yùn)行,通過(guò)分區(qū)保護(hù)來(lái)防止程序間的不當(dāng)訪問(wèn)。調(diào)試和開(kāi)發(fā):Cortex-M3支持廣泛的調(diào)試和軟件開(kāi)發(fā)工具,包括JTAG和SerialWireDebug(SWD)等接口,這些都大大方便了開(kāi)發(fā)過(guò)程。低功耗模式:Cortex-M3設(shè)計(jì)時(shí)考慮到了能效比,具有多種低功耗模式,包括睡眠模式和待機(jī)模式等。這些模式可以在系統(tǒng)空閑時(shí)降低功耗,延長(zhǎng)電池壽命,并提供更好的節(jié)能效果。這種節(jié)能設(shè)計(jì)對(duì)需要電池供電的便攜式設(shè)備尤其重要。

總之,Cortex-M3是一個(gè)高效、靈活的處理器解決方案,在ARMCortex-M系列中占據(jù)重要地位。它引入了Thumb-2指令集、先進(jìn)的嵌套向量中斷管理以及存儲(chǔ)器保護(hù)等新技術(shù),非常適合需要高性能、低功耗和緊湊代碼的嵌入式應(yīng)用。ARM(AdvancedRISCMachines)公司先后推出的IP核有: ARM7、ARM9、ARM9E、ARM10、ARM11和Cortex系列。

ARM7TDMI前一陣子比較流行的核,目前使用的也比較多。ARMCortex-A,-R,-M三種核Cortex-M3內(nèi)核是ARM公司于2004推出的,是專門(mén)針對(duì)微控制器應(yīng)用開(kāi)發(fā)的主流ARM處理器。Cortex-M3是一個(gè)32位的核。在工控領(lǐng)域,用戶要求具有更快的中斷速度,Cortex-M3采用了Tail-Chaining中斷技術(shù),完全基于硬件進(jìn)行中斷處理,最多可減少12個(gè)時(shí)鐘周期數(shù),在實(shí)際應(yīng)用中可減少70%中斷。Cortex的優(yōu)勢(shì)應(yīng)該在于低功耗、低成本、高性能3者的結(jié)合。第1章嵌入式系統(tǒng)概述—ARMCortex-M3微處理器

ARM處理器架構(gòu)進(jìn)化史1994年(ARM7TDMI)2004年(CortexM3)2004年ARMv7架構(gòu)2011年ARMv8架構(gòu)(64位指令集)--華為有授權(quán)(麒麟處理器)2022年6月ARMv9架構(gòu)發(fā)布(數(shù)據(jù)安全,AI)第1章嵌入式系統(tǒng)概述—ARMCortex-M3微處理器

ARM內(nèi)核發(fā)布時(shí)間(1)第1章嵌入式系統(tǒng)概述—ARMCortex-M3微處理器

ARM內(nèi)核發(fā)布時(shí)間(2)第1章嵌入式系統(tǒng)概述—ARMCortex-M3微處理器

ARM公司從2005年架構(gòu)v7開(kāi)始,微處理器的命名不再沿用傳統(tǒng)的數(shù)字命名。也就是說(shuō),ARM11之后處理器的命名開(kāi)始使用Cortex了。Cortex命名方式的引入,標(biāo)志著ARM處理器進(jìn)入了一個(gè)新的發(fā)展階段,ARM處理器已經(jīng)從傳統(tǒng)的嵌入式領(lǐng)域擴(kuò)展到了移動(dòng)計(jì)算、服務(wù)器、物聯(lián)網(wǎng)等多個(gè)領(lǐng)域,具有更廣泛的應(yīng)用前景和商業(yè)潛力。目前,ARM的Cortex處理器系列包括以下幾種類型:Cortex-A系列處理器(ApplicationProcessor):這是ARM的高性能應(yīng)用處理器系列。其中包括Cortex-A77、Cortex-A76、Cortex-A75、Cortex-A73等型號(hào)。這些處理器主要用于智能手機(jī)、平板電腦、筆記本電腦和其他移動(dòng)計(jì)算設(shè)備,具有較高的性能和復(fù)雜的功能。Cortex-R系列處理器(Real-timeProcessor):這是ARM的實(shí)時(shí)應(yīng)用處理器系列。其中包括Cortex-R8、Cortex-R7、Cortex-R5等型號(hào)。這些處理器主要用于汽車電子、工業(yè)控制和嵌入式系統(tǒng),具有低延遲、高可靠性和實(shí)時(shí)性的特點(diǎn)。Cortex-M系列處理器(MicrocontrollerProcessor):這是ARM的微控制器處理器系列。其中包括Cortex-M7、Cortex-M4、Cortex-M3等型號(hào)。這些處理器主要用于物聯(lián)網(wǎng)設(shè)備、傳感器和嵌入式系統(tǒng),具有較小的尺寸、低功耗和高效的能力。第1章嵌入式系統(tǒng)概述—ARMCortex核的三種類型

本次課內(nèi)容就介紹完了,同學(xué)們,再見(jiàn)!嵌入式系統(tǒng)設(shè)計(jì)西安郵電大學(xué)計(jì)算機(jī)學(xué)院王忠民第1章嵌入式系統(tǒng)概述—授課內(nèi)容

1.1嵌入式系統(tǒng)概述1.2ARM處理器發(fā)展歷程1.3ARMCortex處理器1.4STM32微控制器1.5KeilMDK5嵌入式系統(tǒng)集成開(kāi)發(fā)工具1.6嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)三、實(shí)際應(yīng)用舉例二傳輸網(wǎng)絡(luò)介紹基于Cortex-M3核生產(chǎn)ARM微控制器的廠家第1章嵌入式系統(tǒng)概述—STM32微控制器

目前基于Cortex-M3內(nèi)核生產(chǎn)芯片的廠商很多,主要有ST(意法半導(dǎo)體)、NXP(恩智浦半導(dǎo)體由Philips(飛利浦)創(chuàng)立)、TI(德州儀器)、ATMEL(愛(ài)特梅爾)、GigaDevice(兆易創(chuàng)新)等。每家公司都有自己的32位基于Cortex-M3內(nèi)核生產(chǎn)的系列芯片。ST(意法半導(dǎo)體—?dú)W洲):STM32F101/103/105/107系列。TI(德州儀器—美國(guó)):LM3S100/300/600/800;LM3S1000/2000/6000/8000;LM3S1000/3000/5000;NXP(恩智浦半導(dǎo)體—荷蘭):LPC1300/1700/1800系列處理器。ATMEL(愛(ài)特梅爾—美國(guó)):SAM3S系列GigaDevice(兆易創(chuàng)新—中國(guó)):GD32F103系列。SiliconLaboratories(芯科實(shí)驗(yàn)室有限公司—美國(guó)):Precision32SiM3L1xx系列。第1章嵌入式系統(tǒng)概述—基于Cortex-M3核生產(chǎn)ARM微控制器的廠

家三、實(shí)際應(yīng)用舉例二傳輸網(wǎng)絡(luò)介紹意法半導(dǎo)體公司簡(jiǎn)介第1章嵌入式系統(tǒng)概述—STM32微控制器

集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國(guó)THOMSON半導(dǎo)體公司合并而成。1998年5月,改名為意法半導(dǎo)體有限公司(意法半導(dǎo)體),是世界最大的半導(dǎo)體公司之一。從成立至今,意法半導(dǎo)體的增長(zhǎng)速度超過(guò)了半導(dǎo)體工業(yè)的整體增長(zhǎng)速度。自1999年起,意法半導(dǎo)體始終是世界十大半導(dǎo)體公司之一。據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場(chǎng)居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)校塊和車用集成電路領(lǐng)域居世界前列。

在諸多半導(dǎo)體制造商中,意法半導(dǎo)體是較早在市場(chǎng)上推出基于Cortex-M內(nèi)核的MCU產(chǎn)品的公司,其根據(jù)Cortex-M內(nèi)核設(shè)計(jì)生產(chǎn)的STM32微控制器充分發(fā)揮了低成本低功耗高性價(jià)比的優(yōu)勢(shì),以系列化的方式推出方便用戶選擇,受到了廣泛的好評(píng)。2009一2014年總出貨扯已超過(guò)10億片,在中國(guó)占據(jù)了大部分基于Cortcx-M內(nèi)核的MCU市場(chǎng)。

STM32系列微控制器適合的應(yīng)用:替代絕大部分8/16位MCU的應(yīng)用,替代目前常用的32位MCU(特別是ARM7)的應(yīng)用,小型操作系統(tǒng)相關(guān)的應(yīng)用以及簡(jiǎn)單圖形和語(yǔ)音相關(guān)的應(yīng)用等。第1章嵌入式系統(tǒng)概述—STM32微控制器產(chǎn)品線

第1章嵌入式系統(tǒng)概述—STM32微控制器命名規(guī)則F-有閃存W-無(wú)線系統(tǒng)L-低功耗STM32代表意法半導(dǎo)體公司基于ARMCortex-M系列內(nèi)核的32位MCU三、實(shí)際應(yīng)用舉例二傳輸網(wǎng)絡(luò)介紹STM32F103R6芯片引腳第1章嵌入式系統(tǒng)概述—STM32微控制器

STM32F1xx常用片內(nèi)I/O第1章嵌入式系統(tǒng)概述—授課內(nèi)容

1.1嵌入式系統(tǒng)概述1.2ARM處理器發(fā)展歷程1.3ARMCortex處理器1.4STM32微控制器1.5KeilMDK5嵌入式系統(tǒng)集成開(kāi)發(fā)工具1.6嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)第1章嵌入式系統(tǒng)概述—嵌入式系統(tǒng)開(kāi)發(fā)工具

ARM嵌入式系統(tǒng)開(kāi)發(fā)工具

ADS(ARMDeveloperSuite)--2002年后不再維護(hù)

KeilMDK(Microcontrollerdevelopmentkit)ARM嵌入式系統(tǒng)仿真工具Proteus交叉開(kāi)發(fā)可執(zhí)行文件可執(zhí)行文件(.hex)voidmain(){Init();while(1);}宿主機(jī)(Host)開(kāi)發(fā)軟件的平臺(tái)通常是普通臺(tái)式機(jī)目標(biāo)機(jī)(Target)運(yùn)行軟件的平臺(tái)通常是嵌入式系統(tǒng)嵌入式系統(tǒng)交叉開(kāi)發(fā)環(huán)境第1章嵌入式系統(tǒng)概述—嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境

意法半導(dǎo)體的STM32F103微控制器芯片二次開(kāi)發(fā)板二次開(kāi)發(fā)板Proteus仿真開(kāi)發(fā)板:1、廣州市星翼電子科技有限公司推出的正點(diǎn)原子開(kāi)發(fā)板2、東莞野火電子技術(shù)有限公司推出的野火、秉火開(kāi)發(fā)板交叉開(kāi)發(fā)可執(zhí)行文件可執(zhí)行文件(.hex)voidmain(){Init();while(1);}宿主機(jī)(Host)開(kāi)發(fā)軟件的平臺(tái)通常是普通臺(tái)式機(jī)目標(biāo)機(jī)(Target)運(yùn)行軟件的平臺(tái)通常是嵌入式系統(tǒng)宿主機(jī)用于開(kāi)發(fā)嵌入式系統(tǒng)的PC機(jī)嵌入式應(yīng)用軟件的開(kāi)發(fā)環(huán)境具備豐富的軟硬件資源為嵌入式應(yīng)用軟件開(kāi)發(fā)提供全過(guò)程支持目標(biāo)機(jī)嵌入式軟件的運(yùn)行環(huán)境軟硬件是為特定應(yīng)用定制在開(kāi)發(fā)過(guò)程中,目標(biāo)機(jī)需接收和執(zhí)行宿主機(jī)發(fā)出的各種命令如設(shè)置斷點(diǎn)、讀內(nèi)存、寫(xiě)內(nèi)存等,將結(jié)果返回給宿主機(jī),配合宿主機(jī)各方面的工作第1章嵌入式系統(tǒng)概述—嵌入式系統(tǒng)開(kāi)發(fā)工具

交叉開(kāi)發(fā)可執(zhí)行文件可執(zhí)行文件(.hex)voidmain(){Init();while(1);}宿主機(jī)(Host)開(kāi)發(fā)軟件的平臺(tái)通常是普通臺(tái)式機(jī)目標(biāo)機(jī)(Target)運(yùn)行軟件的平臺(tái)通常是嵌入式系統(tǒng)宿主機(jī)與目標(biāo)機(jī)的連接物理連接:宿主機(jī)與目標(biāo)機(jī)通過(guò)物理線路連接,是邏輯連接的基礎(chǔ)串口以太網(wǎng)口在線調(diào)試接口(如JTAG等)邏輯連接:宿主機(jī)與目標(biāo)機(jī)間按某種通信協(xié)議建立起來(lái)的通信連接;目前已逐步形成了一些通信協(xié)議的標(biāo)準(zhǔn)第1章嵌入式系統(tǒng)概述—嵌入式系統(tǒng)開(kāi)發(fā)工具

J-Link是一個(gè)USB到JTAG適配器,支持基于ARM7、ARM9、Cortex-M3處理器的設(shè)備,JTAG速度高達(dá)12MHz。它使用標(biāo)準(zhǔn)的20針或14針(可選)JTAG連接器與所有評(píng)估板和目標(biāo)硬件接口。第1章嵌入式系統(tǒng)概述—嵌入式系統(tǒng)開(kāi)發(fā)工具

JTAG是一種通用的測(cè)試和調(diào)試接口標(biāo)準(zhǔn)。它最初由美國(guó)電子工業(yè)協(xié)會(huì)的JointTestActionGroup組織制定,旨在提供一種標(biāo)準(zhǔn)化的方式來(lái)測(cè)試集成電路(ICs)和PCB(PrintedCircuitBoard)。JTAG協(xié)議在定義時(shí),由于當(dāng)時(shí)的計(jì)算機(jī)(PC機(jī))普遍帶有并口,因而在連接計(jì)算機(jī)端是定義使用的并口因此出現(xiàn)將并口轉(zhuǎn)換為USB與主機(jī)相連的下載調(diào)試器J-link(德國(guó)SEGGER公司)U-link(ARMKeil公司)ST-Link(意法半導(dǎo)體公司)交叉開(kāi)發(fā)可執(zhí)行文件可執(zhí)行文件(.hex)voidmain(){Init();while(1);}宿主機(jī)(Host)開(kāi)發(fā)軟件的平臺(tái)通常是普通臺(tái)式機(jī)目標(biāo)機(jī)(Target)運(yùn)行軟件的平臺(tái)通常是嵌入式系統(tǒng)嵌入式軟件開(kāi)發(fā)過(guò)程:首先,在宿主機(jī)(host)上建立開(kāi)發(fā)環(huán)境,進(jìn)行應(yīng)用程序編寫(xiě)和交叉編譯然后,在宿主機(jī)和目標(biāo)機(jī)(target)之間建立連接將應(yīng)用程序下載到目標(biāo)機(jī)上進(jìn)行交叉調(diào)試最后,將應(yīng)用程序固化到目標(biāo)機(jī)中實(shí)際運(yùn)行第1章嵌入式系統(tǒng)概述—嵌入式系統(tǒng)開(kāi)發(fā)工具

第1章嵌入式系統(tǒng)概述—ADS1.2開(kāi)發(fā)工具

ARM公司的ADS嵌入式開(kāi)發(fā)環(huán)境ARMADS全稱為ARMDeveloperSuite,是ARM公司為自己的IP核開(kāi)發(fā)的集成開(kāi)發(fā)環(huán)境。ADS1.2是ARM公司2007年前后推出的新一代ARM集成開(kāi)發(fā)工具。它取代了早期的ADS1.1和ADS1.0。目前ARM公司(2016年已被日本軟銀收購(gòu))不再維護(hù)該平臺(tái),該平臺(tái)不支持ARM11后新的IP核。ARMADS1.2集成開(kāi)發(fā)環(huán)境軟件,包括了四個(gè)模塊分別是:SIMULATOR;C編譯器;實(shí)時(shí)調(diào)試器;應(yīng)用函數(shù)庫(kù)。支持的硬件調(diào)試器有Multi-ICE以及兼容Multi-ICE的調(diào)試工具如FFT-ICE。第1章嵌入式系統(tǒng)概述—Keil開(kāi)發(fā)工具

Keil公司簡(jiǎn)介Keil公司是一家業(yè)界領(lǐng)先的微控制器(MCU)軟件開(kāi)發(fā)工具的獨(dú)立供應(yīng)商。Keil公司由兩家私人公司聯(lián)合運(yùn)營(yíng),分別是德國(guó)慕尼黑的KeilElektronikGmbH和美國(guó)德克薩斯的KeilSoftwareInc。Keil公司制造和銷售種類廣泛的開(kāi)發(fā)工具,包括ANSIC編譯器、宏匯編程序、調(diào)試器、連接器、庫(kù)管理器、固件和實(shí)時(shí)操作系統(tǒng)核心(real-timekernel)。有超過(guò)10萬(wàn)名微控制器開(kāi)發(fā)人員在使用這種得到業(yè)界認(rèn)可的解決方案。其KeilC51編譯器自1988年引入市場(chǎng)以來(lái)成為事實(shí)上的行業(yè)標(biāo)準(zhǔn),并支持超過(guò)500種8051變種。

Keil公司在2005年被ARM公司收購(gòu)(收購(gòu)當(dāng)時(shí),Keil公司有23名員工,總資產(chǎn)價(jià)值為460萬(wàn)美元)。

第1章嵌入式系統(tǒng)概述—Keil開(kāi)發(fā)工具

Keil公司2005年由ARM公司收購(gòu)。Keil公司首席執(zhí)行官ReinhardKeil表示:“作為ARMConnectedCommunity中的一員,Keil和ARM保持著長(zhǎng)期的良好關(guān)系。通過(guò)這次收購(gòu),我們將能更好地向高速發(fā)展的32位微控制器市場(chǎng)提供完整的解決方案,同時(shí)繼續(xù)在μVision環(huán)境下支持我們的8051和C16x編譯器。”而后ARMKeil推出基于μVision界面,用于調(diào)試ARM7,ARM9,ARM11,Cortex-M內(nèi)核的MDK-ARM開(kāi)發(fā)工具,用于為控制領(lǐng)域的開(kāi)發(fā)。

第1章嵌入式系統(tǒng)概述—Keil開(kāi)發(fā)工具

界面KeilμVision2:是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),使用接近于傳統(tǒng)C語(yǔ)言的語(yǔ)法來(lái)開(kāi)發(fā),與匯編相比,C語(yǔ)言易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開(kāi)發(fā)周期,

C51已被完全集成到μVision2的集成開(kāi)發(fā)環(huán)境中,這個(gè)集成開(kāi)發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。μVision2IDE可為它們提供單一而靈活的開(kāi)發(fā)環(huán)境。KeilμVision3:2006年1月30日ARM推出全新的針對(duì)各種嵌入式處理器的軟件開(kāi)發(fā)工具,集成KeilμVision3的RealViewMDK開(kāi)發(fā)環(huán)境。RealViewMDK開(kāi)發(fā)工具KeilμVision3源自Keil公司。RealViewMDK集成了業(yè)內(nèi)領(lǐng)先的技術(shù),包括KeilμVision3集成開(kāi)發(fā)環(huán)境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動(dòng)配置啟動(dòng)代碼,集成Flash燒寫(xiě)模塊,強(qiáng)大的Simulation設(shè)備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過(guò)20%。KeilμVision4:2009年2月發(fā)布KeilμVision4,KeilμVision4引入靈活的窗口管理系統(tǒng),使開(kāi)發(fā)人員能夠使用多臺(tái)監(jiān)視器,并提供了視覺(jué)上的表面對(duì)窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來(lái)開(kāi)發(fā)應(yīng)用程序。新版本支持更多最新的ARM芯片,還添加了一些其他新功能。2011年3月ARM公司發(fā)布最新集成開(kāi)發(fā)環(huán)境RealViewMDK開(kāi)發(fā)工具中集成了最新版本的KeilμVision4,其編譯器、調(diào)試工具實(shí)現(xiàn)與ARM器件的最完美匹配。KeilμVision5:2013年10月,Keil正式發(fā)布了KeilμVision5IDE。第1章嵌入式系統(tǒng)概述—Keil開(kāi)發(fā)工具

Keil公司推出的微控制器集成開(kāi)發(fā)工具M(jìn)DK(Microcontrollerdevelopmentkit)Keil公司被ARM收購(gòu)(2005年)后,Keil先后開(kāi)發(fā)的針對(duì)ARM核的μVision系列集成開(kāi)發(fā)工具(KeilμVision32006年

,KeilμVision42011年

,KeilμVision52013年)

,目前廣泛使用的為KeilμVision5。該版本2013年10月正式推出,是目前針對(duì)ARM微控制器,尤其是ARMCortex-M內(nèi)核微控制器最佳的一款集成開(kāi)發(fā)工具。

MDKv5向后兼容KeilMDK-ARMuVision4,以前的項(xiàng)目同樣可以在MDKv5上進(jìn)行開(kāi)發(fā),MDKv5同時(shí)加強(qiáng)了針對(duì)Cortex-M微控制器開(kāi)發(fā)的支持,并且對(duì)傳統(tǒng)的開(kāi)發(fā)模式和界面進(jìn)行升級(jí),將分成兩個(gè)部分,MDKCore和SoftwarePacks。其中,SoftwarePacks可以獨(dú)立于工具鏈進(jìn)行新芯片支持和中間庫(kù)的升級(jí)。

觀看微視頻KeilMDK5中構(gòu)建基于ARMCortexM3微處理器工程的操作.mp4第1章嵌入式系統(tǒng)概述—Keil開(kāi)發(fā)工具

MDK-ARM相比ADS1.2有什么優(yōu)勢(shì)?ADS是ARM的老版本的開(kāi)發(fā)工具,而MDK-ARM是ARM新的開(kāi)發(fā)工具,MDK與ADS相比較,從外觀、仿真流程以及內(nèi)部二進(jìn)制編譯鏈接工具上都有了不少改進(jìn),用法稍有不同。1)ADS模擬器只能模擬指令集,而MDK的模擬器能提供指令集、啟動(dòng)代碼、外設(shè)、中斷等整個(gè)MCU行為的模擬。

2)MDK提供性能分析器,而ADS沒(méi)有。

3)MDK提供啟動(dòng)代碼生成向?qū)?,輕松完成啟動(dòng)生成,而ADS沒(méi)有此功能。4)ADS不支持CM3,MDK支持。5)MDK的項(xiàng)目管理窗口、編譯窗口、調(diào)試窗口等都在同一個(gè)界面,操作方便,上手更易;而ADS的項(xiàng)目管理窗口、編譯窗口、調(diào)試窗口等需要在不同界面操作,相對(duì)不便。6)ADS不支持Flash燒寫(xiě),MDK支持。第1章嵌入式系統(tǒng)概述—Keil開(kāi)發(fā)工具使用

純匯編工程構(gòu)建(基于ARM的IP核)寄存器工程構(gòu)建(基于ST的微控制器芯片)標(biāo)準(zhǔn)外設(shè)庫(kù)工程構(gòu)建(基于ST的微控制器芯片)見(jiàn)1-100addcall純匯編工程HAL(HardwareAbstractionLayer)庫(kù)工程構(gòu)建(芯片)LL(Low-Level)庫(kù)工程構(gòu)建(芯片)第1章嵌入式系統(tǒng)概述—Proteus仿真工具

第1章嵌入式系統(tǒng)概述—嵌入式系統(tǒng)設(shè)計(jì)與仿真舉例

大家可以參考實(shí)例進(jìn)行片內(nèi)I/O的學(xué)習(xí)開(kāi)發(fā)板:1、廣州市星翼電子科技有限公司推出的正點(diǎn)原子開(kāi)發(fā)板2、東莞野火電子技術(shù)有限公司推出的野火、秉火開(kāi)發(fā)板嵌入式系統(tǒng)由硬件層、中間層(硬件抽象層)、系統(tǒng)軟件層和功能層(應(yīng)用程序)組成三、實(shí)際應(yīng)用舉例二傳輸網(wǎng)絡(luò)介紹使用STM32F103R6微控制器設(shè)計(jì)的定時(shí)中斷系統(tǒng)第1章嵌入式系統(tǒng)概述—STM32微控制器最小系統(tǒng)

見(jiàn)定時(shí)器中斷實(shí)驗(yàn)第1章嵌入式系統(tǒng)概述—授課內(nèi)容

1.1嵌入式系統(tǒng)概述1.2ARM處理器發(fā)展歷程1.3ARMCortex處理器1.4STM32微控制器1.5KeilMDK5嵌入式系統(tǒng)集成開(kāi)發(fā)工具1.6嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程第1步嵌入式系統(tǒng)需求分析第2步嵌入式系統(tǒng)設(shè)計(jì)第3步嵌入式系統(tǒng)實(shí)現(xiàn)第4步嵌入式系統(tǒng)測(cè)試第5步嵌入式系統(tǒng)發(fā)布前期中期后期產(chǎn)品崗設(shè)計(jì)崗測(cè)試崗銷售崗第1章ARM嵌入式系統(tǒng)概述—嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)

觀看網(wǎng)絡(luò)資源(國(guó)內(nèi)宏晶科技生產(chǎn)的雙排直插式基于51單片機(jī)核的片子STC12C5A60S2/video/BV1jf4y1a7Zz/?spm_id_from=333.1387.homepage.video_card.click&vd_source=0f12c26fcf92f97b99cd8b658208a0ad第1章ARM嵌入式系統(tǒng)概述—計(jì)算機(jī)發(fā)展歷史(了解芯片內(nèi)部結(jié)構(gòu))

課后作業(yè)

1、買(mǎi)書(shū)2、KeilMDK5嵌入式集成開(kāi)發(fā)環(huán)境安裝2、構(gòu)建工程,該工程包含下面兩個(gè)文件,完成X1變量中2個(gè)元素相加,結(jié)果存放在變量X2中。運(yùn)行調(diào)試該工程,熟悉嵌入式開(kāi)發(fā)環(huán)境MDK5的使用。

EXPORTmycode ;mycode.s AREA ADDCODE,CODE,READONLY mycode LDRR0,=X1 LDRR0,=X2 MOV R0,#1 MOV R1,#2 ADD R0,R0,R1,LSL#1 MOV R0,#0 deadloop B deadloop AREA MYDATA1,DATA,READONLY X1 DCD 1,2 AREA MYDATA2,DATA,READWRITEX2 DCD 0 END;startup.sSTACK_TOPEQU0x20005000;宏定義主堆棧指針STACK_TOP IMPORTmycode AREARESET, CODE ;代碼段的名字RESET名字必須是RESET DCD STACK_TOP ;向量表第一項(xiàng):堆棧指針值

DCD start ;向量表第二項(xiàng):主程序入口地址

ENTRY ;程序的入口Start LDRR0,=mycode BXR0Deadloop Bdeadloop ;在此死循環(huán),空等待

NOP END本次課內(nèi)容就介紹完了,同學(xué)們,再見(jiàn)!嵌入式系統(tǒng)設(shè)計(jì)西安郵電大學(xué)計(jì)算機(jī)學(xué)院王忠民第二章ARMCortex-M3微處理器體系結(jié)構(gòu)本章學(xué)習(xí)目的熟悉ARMCortexM3的主要組成部件和功能,了解微處理器的基本工作原理。準(zhǔn)確理解CortexM3處理器支持的兩種工作模式:處理器模式(Handlermode)和線程模式(Threadmode),支持的兩種特權(quán)級(jí)別:特權(quán)級(jí)(Privileged)和用戶級(jí)(User/Unprivileged),以及引入兩種工作模式和兩種特權(quán)級(jí)別在確保系統(tǒng)安全可靠運(yùn)行方面所起的作用。掌握寄存器的命名和使用方法,理解特殊功能寄存器的作用和使用方法。理解和掌握CortexM3存儲(chǔ)器映射、堆棧操作以及存儲(chǔ)器保護(hù)等。了解CortexM3處理器嵌套向量中斷控制器NVIC的功能;掌握CortexM3處理器中斷和異常處理機(jī)制;了解中斷(異常)向量表的結(jié)構(gòu)和作用;掌握系統(tǒng)啟動(dòng)(復(fù)位)的響應(yīng)過(guò)程。了解Cortex-M3核的硬件資源與工作原理,以便后續(xù)匯編語(yǔ)言程序設(shè)計(jì)和嵌入式系統(tǒng)開(kāi)發(fā)時(shí)能夠清楚如何使用這些資源第二章ARMCortex-M3微處理器體系結(jié)構(gòu)目錄ARMCortex體系結(jié)構(gòu)概述CortexM3的組成寄存器陣列存儲(chǔ)器系統(tǒng)中斷與異常第二章ARMCortex-M3微處理器體系結(jié)構(gòu)ARMCortexM3體系結(jié)構(gòu)基本概念A(yù)RM架構(gòu)(V1-V9)V7對(duì)應(yīng)指令系統(tǒng)CortexM3IP核對(duì)應(yīng)不同的軟核STM32F103系列微控制器芯片對(duì)應(yīng)不同的微控制器芯片ARMCortex-M3處理器初探單片機(jī)市場(chǎng)的規(guī)模可以用“巨無(wú)霸”來(lái)形容;ARM上一個(gè)久經(jīng)歲月的洗禮依舊光芒綻放的IP核為ARM7TDMI(1994年)--ARMV4架構(gòu);ARMCortex‐M3處理器(2004年,v7架構(gòu)),作為Cortex系列的處女作,為了讓32位處理器入主坐莊單片機(jī)市場(chǎng),轟轟烈烈地誕生了!由于采用了最新的設(shè)計(jì)技術(shù),它的門(mén)數(shù)更低,性能卻更強(qiáng)。許多曾經(jīng)只能求助于高級(jí)32位處理器或DSP的軟件,都能在CM3上跑得很快很歡。相信用不了多久,CM3就一定能在32位嵌入式處理器市場(chǎng)中脫穎而出,像當(dāng)年8051推動(dòng)整個(gè)業(yè)界那樣,再次放飛設(shè)計(jì)師的夢(mèng)想,實(shí)現(xiàn)多年的夙愿!CM3作為ARM7的后繼者,大刀闊斧地改革了設(shè)計(jì)架構(gòu),從而顯著地簡(jiǎn)化了編程和調(diào)試的復(fù)雜度,處理能力也更加強(qiáng)大。CM3還突破性地引入了很多時(shí)尚的甚至嶄新的技術(shù),專門(mén)滿足單片機(jī)應(yīng)用程序的需求。比如,服務(wù)于“使命‐關(guān)鍵”應(yīng)用的不可屏蔽中斷,極度敏捷并且擁有確定性的嵌套向量中斷系統(tǒng),原子性質(zhì)的位操作,還有一個(gè)可選的內(nèi)存保護(hù)單元。這些令人驚艷和振奮的新特性,讓老的ARM玩家們?cè)俅握业健俺鯌佟睍r(shí)烈焰迸發(fā)的感覺(jué),也使萍水相逢就有激爽觸電般的體驗(yàn)!相信讀者一旦有機(jī)會(huì)用到了它,就會(huì)為它的秀外慧中而贊嘆,愛(ài)不釋手!第二章ARMCortex-M3微處理器體系結(jié)構(gòu)ARMCortexM3體系結(jié)構(gòu)基本概念最近的幾年,基于從ARMv6開(kāi)始的新設(shè)計(jì)理念,ARM進(jìn)一步擴(kuò)展了它的CPU設(shè)計(jì),成果就是ARMv7架構(gòu)(2004年)的閃亮登場(chǎng)。在這個(gè)版本中,內(nèi)核架構(gòu)首次從單一款式變成3種款式。款式A(ApplicationProcessors):設(shè)計(jì)用于高性能的“開(kāi)放應(yīng)用平臺(tái)”——越來(lái)越接近電腦了款式R(Real-timeProcessors):用于高端的嵌入式系統(tǒng),尤其是那些帶有實(shí)時(shí)要求的——又要快又要實(shí)時(shí)。款式M(MicrocontrollerProcessors):用于深度嵌入的,單片機(jī)風(fēng)格的系統(tǒng)中——本書(shū)的主角。第二章ARMCortex-M3IP核體系結(jié)構(gòu)ARM處理器架構(gòu)進(jìn)化史

ARM處理器架構(gòu)進(jìn)化史1994年(ARM7TDMI)2004年(CortexM3)

1、Cortex-A面向性能密集型系統(tǒng)的應(yīng)用處理器內(nèi)核ApplicationProcessors(應(yīng)用處理器)–面向移動(dòng)計(jì)算,智能手機(jī),服務(wù)器等市場(chǎng)的的高端處理器。這類處理器運(yùn)行在很高的時(shí)鐘頻率(超過(guò)1GHz),支持像Linux,Android,MSWindows和移動(dòng)操作系統(tǒng)等完整操作系統(tǒng)需要的內(nèi)存管理單元(MMU)。如果規(guī)劃開(kāi)發(fā)的產(chǎn)品需要運(yùn)行上述其中的一個(gè)操作系統(tǒng),你需要選擇ARM應(yīng)用處理器.2、Cortex-R面向?qū)崟r(shí)應(yīng)用的高性能內(nèi)核

Real-timeProcessors(實(shí)時(shí)處理器)–面向?qū)崟r(shí)應(yīng)用的高性能處理器系列,例如硬盤(pán)控制器,汽車傳動(dòng)系統(tǒng)和無(wú)線通訊的基帶控制。多數(shù)實(shí)時(shí)處理器不支持MMU,不過(guò)通常具有MPU、Cache和其他針對(duì)工業(yè)應(yīng)用設(shè)計(jì)的存儲(chǔ)器功能。實(shí)時(shí)處理器運(yùn)行在比較高的時(shí)鐘頻率(例如200MHz到>1GHz),響應(yīng)延遲非常低。雖然實(shí)時(shí)處理器不能運(yùn)行完整版本的Linux和Windows操作系統(tǒng),但是支持大量的實(shí)時(shí)操作系統(tǒng)(RTOS)。3、Cortex-M面向各類嵌入式應(yīng)用的微控制器內(nèi)核MicrocontrollerProcessors(微控制器處理器)–微控制處理器通常設(shè)計(jì)成面積很小和能效比很高。通常這些處理器的流水線很短,最高時(shí)鐘頻率很低(雖然市場(chǎng)上有此類的處理器可以運(yùn)行在200Mhz之上)。并且,新的Cortex-M處理器家族設(shè)計(jì)的非常容易使用。因此,ARM微控制器處理器在單片機(jī)和深度嵌入式系統(tǒng)市場(chǎng)非常成功和受歡迎。ArchitectureV82011年推出華為獲授權(quán)ArchitectureV92021年3月推出64位安全、AIARM處理器家族和體系架構(gòu)對(duì)照表體系結(jié)構(gòu)典型內(nèi)核Cache(I/D)MMU特點(diǎn)和應(yīng)用ARMv4TARM7TDMI無(wú)無(wú)AppleiPod,LegoNXT,GBAARM720T均為8KB有3級(jí)流水線ARM9TDMI無(wú)無(wú)5級(jí)流水線ARM920T均為16KB有GarminNavigationDevicesARMv4StrongARMSA1均為16KB有HPJornadaPDAARMv5[E]ARM926EJ-S有有SonyEricssonMobilePhoneARM1020E均為32KB有6級(jí)流水線PXA270均為32KB有7級(jí)流水線,HTCPhoneARMv6ARM1136J-S有有8級(jí)流水線,NokiaN93ARMv6-MARMCortex-M0無(wú)無(wú)ApplePDAARMv7-MARMCortex-M3有有MPU高速公路ETC讀卡機(jī)ARMv7-RARMCortex-R4有有MPUBroadcomARMv7-AARMCortex-A7有有

ARMCortex-A8有有AppleiPad/iPhone/iPodTouchARMCortex-A9有有LGOptimus2XMobilePhoneARMCortex-A15有有

滿足不同應(yīng)用的ARM處理器高端基于虛擬內(nèi)存的復(fù)雜操作系統(tǒng)應(yīng)用(帶MMU)實(shí)時(shí)信號(hào)處理或控制應(yīng)用微控制器低成本低功耗應(yīng)用Cortex-M0Cortex-M3Cortex-M4取代傳統(tǒng)意義的單片機(jī)到了ARMv7時(shí)代,ARM改革了一度使用的,冗長(zhǎng)的需要“解碼”的數(shù)字命名法,轉(zhuǎn)到另一種看起來(lái)比較整齊的命名法。比如,ARMv7的三個(gè)款式都以Cortex作為主名。這不僅更加澄清并且“精裝”了所使用的ARM架構(gòu),也避免了新手對(duì)架構(gòu)號(hào)和系列號(hào)的混淆。例如,ARM7TDMI并不是一款A(yù)RMv7的產(chǎn)品,而是輝煌起點(diǎn)——v4T架構(gòu)的產(chǎn)品。第二章ARMCortex-M3IP核體系結(jié)構(gòu)處理器名字處理器名字指令集的詳細(xì)說(shuō)明:《ARMv7‐MArchitectureApplicationLevelReferenceManual(Ref2)》由于歷史原因(從ARM7TDMI開(kāi)始),ARM處理器一直支持兩種形式上相對(duì)獨(dú)立的指令集,它們分別是:32位的ARM指令集。對(duì)應(yīng)處理器狀態(tài):ARM狀態(tài)16位的Thumb指令集。對(duì)應(yīng)處理器狀態(tài):Thumb狀態(tài)這兩種指令集也對(duì)應(yīng)了兩種處理器執(zhí)行狀態(tài)。在程序的執(zhí)行過(guò)程中,處理器可以動(dòng)態(tài)地在兩種執(zhí)行狀態(tài)之中切換。實(shí)際上,Thumb指令集在功能上是ARM指令集的一個(gè)子集,但它能帶來(lái)更高的代碼密度,給目標(biāo)代碼減肥。這對(duì)于要勒緊褲腰帶的應(yīng)用還是很經(jīng)濟(jì)的。

但程序在兩種狀態(tài)之間的切換,花費(fèi)了大量的開(kāi)銷!第二章ARMCortex-M3IP核體系結(jié)構(gòu)架構(gòu)與指令集演進(jìn)Thumb-2指令集體系體系結(jié)構(gòu)Thumb‐2真不愧是一個(gè)突破性的指令集。它強(qiáng)大,它易用,它高效。Thumb‐2是16位Thumb指令集的一個(gè)超集,在Thumb‐2中,16位指令首次與32位指令并存,結(jié)果在Thumb狀態(tài)下可以做的事情一下子豐富了許多,同樣工作需要的指令周期數(shù)也明顯下降。在支持了both16位和32位指令之后,就無(wú)需煩心地把處理器狀態(tài)在Thumb和ARM之間來(lái)回的切換了;但這也意味著Cortex‐M3作為新生代處理器,不是向后兼容的。因此,為ARM7寫(xiě)的ARM匯編語(yǔ)言程序不能直接移植到CM3上來(lái)。第二章ARMCortex-M3IP核體系結(jié)構(gòu)架構(gòu)與指令集演進(jìn)第二章ARMCortex-M3IP核體系結(jié)構(gòu)ARMCortexM3體系結(jié)構(gòu)基本概念CPU地址數(shù)據(jù)程序計(jì)數(shù)器(PC)存儲(chǔ)器馮諾依曼體系結(jié)構(gòu)CPU程序存儲(chǔ)器地址數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器地址數(shù)據(jù)程序計(jì)數(shù)器(PC)哈佛體系結(jié)構(gòu)第二章ARMCortex-M3IP核體系結(jié)構(gòu)ARMCortexM3體系結(jié)構(gòu)基本概念指令集類別CISCRISC指令數(shù)目指令數(shù)量很多較少,通常少于100條執(zhí)行時(shí)間有些指令的執(zhí)行時(shí)間很長(zhǎng),如需要訪問(wèn)存儲(chǔ)器來(lái)獲得操作數(shù)的指令執(zhí)行時(shí)間通常較長(zhǎng)所有運(yùn)算所涉及的操作數(shù)都直接從寄存器獲得,指令的執(zhí)行時(shí)間短,且較固定。編碼長(zhǎng)度指令的編碼長(zhǎng)度可變,1~15字節(jié)指令的編碼長(zhǎng)度固定,通常為4個(gè)字節(jié)尋址方式尋址方式復(fù)雜,增加了硬件實(shí)現(xiàn)的復(fù)雜度尋址方式簡(jiǎn)單操作可對(duì)存儲(chǔ)器操作數(shù)和寄存器操作數(shù)進(jìn)行算術(shù)和邏輯操作只能對(duì)寄存器操作數(shù)進(jìn)行算術(shù)和邏輯操作,Load/Store體系結(jié)構(gòu)編譯難以用優(yōu)化編譯器生成高效的目標(biāo)代碼程序采用優(yōu)化編譯技術(shù),可生成高效的目標(biāo)代碼程序復(fù)雜指令系統(tǒng)CISC與精簡(jiǎn)指令系統(tǒng)RISC比較第二章ARMCortex-M3IP核體系結(jié)構(gòu)ARMCortexM3體系結(jié)構(gòu)基本概念復(fù)雜指令系統(tǒng)CISC與精簡(jiǎn)指令系統(tǒng)RISC比較X86復(fù)雜指令系統(tǒng)指令編碼(1-6字節(jié)不等)Thumb-2精簡(jiǎn)指令系統(tǒng)指令編碼(4字節(jié)或2字節(jié))第二章ARMCortex-M3IP核體系結(jié)構(gòu)ARMCortexM3體系結(jié)構(gòu)基本概念操作模式和特權(quán)級(jí)別操作模式實(shí)際上就是指Cortex-M3核當(dāng)前的運(yùn)行模式,有線程模式和處理器模式兩種。若Cortex-M3核正在運(yùn)行的是用戶的應(yīng)用程序,那么當(dāng)前的操作模式就是線程模式;若Cortex-M3核正在運(yùn)行的是異常(中斷)服務(wù)程序,那么當(dāng)前的操作模式就是處理器模式。特權(quán)級(jí)別是指在當(dāng)前操作模式下,程序代碼對(duì)系統(tǒng)硬件資源訪問(wèn)和使用的優(yōu)先級(jí)別,包括用戶級(jí)和特權(quán)級(jí)兩種。特權(quán)級(jí)能夠使用所有的指令訪問(wèn)所有的資源。用戶級(jí)不能執(zhí)行特權(quán)級(jí)指令(如MSR/MRS),有限制的訪問(wèn)存儲(chǔ)器和外圍模塊。引入用戶級(jí)和特權(quán)級(jí)兩級(jí)特權(quán)級(jí)別的目的,是為了提供一種存儲(chǔ)器訪問(wèn)的保護(hù)機(jī)制,使得普通的用戶程序代碼不能意外地,甚至是惡意地執(zhí)行涉及到要害的操作。

特權(quán)級(jí)別CortexM3核運(yùn)行的代碼特權(quán)級(jí)用戶級(jí)異常(中斷)服務(wù)程序代碼(處理器模式)合法非法用戶應(yīng)用程序代碼(線程模式)合法合法第二章ARMCortex-M3IP核體系結(jié)構(gòu)ARMCortex-M3處理器特權(quán)級(jí)別CortexM3處理器模式與優(yōu)先級(jí)切換狀態(tài)圖實(shí)現(xiàn)嵌入式系統(tǒng)安全穩(wěn)定運(yùn)行的保護(hù)機(jī)制本次課內(nèi)容就介紹完了,同學(xué)們,再見(jiàn)!第2次作業(yè)1、查閱資料,總結(jié)Intelx86系列微機(jī)、80C51單片機(jī)、SRTM32F103系列嵌入式系統(tǒng)的啟動(dòng)過(guò)程。2、查閱資料,總結(jié)Intelx86系列微機(jī)、80C51單片機(jī)、SRM32F103系列嵌入式系統(tǒng)的中斷處理機(jī)制。3、熟悉一個(gè)純匯編工程,理解異常向量表

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論