ARM處理器支持16個(gè)協(xié)處理器。在程序執(zhí)行過(guò)程中,每個(gè)協(xié)處理器忽略屬于ARM處理器和其他協(xié)處理器的指令。當(dāng)一個(gè)協(xié)處理器硬件不能執(zhí)行屬于它的協(xié)處理器指令時(shí),將產(chǎn)生一個(gè)未定義指令異常中斷,在該異常中斷處理程序中,可以通過(guò)軟件模擬該硬件操作。比如,如果系統(tǒng)不包含向量浮點(diǎn)運(yùn)算器,則可以選擇浮點(diǎn)運(yùn)算軟件模擬包來(lái)支持向量浮點(diǎn)運(yùn)算。
當(dāng)?shù)谝淮鶵ISC微處理器剛出現(xiàn)時(shí),標(biāo)準(zhǔn)存儲(chǔ)器元件的速度比當(dāng)時(shí)微處理器的速度快。很快,半導(dǎo)體工藝技術(shù)的進(jìn)展被用來(lái)提高微處理器的速度。標(biāo)準(zhǔn)DRAM部件雖然也快了一些,但其發(fā)展的主要精力則放在提高存儲(chǔ)容量上。
編譯器通常將C語(yǔ)言中的Switch語(yǔ)句編譯一個(gè)查找表(Table Lookup)以便跳轉(zhuǎn)到合適的入口處。
編譯器一項(xiàng)很重要的優(yōu)化功能就是對(duì)寄存器的分配。與分配在寄存器中的變量相比,分配到內(nèi)存的變量訪問(wèn)要慢得多。所以如何將盡可能多的變量分配到寄存器,是編程時(shí)應(yīng)該重點(diǎn)考慮的問(wèn)題。
ARM C編譯器支持基本的數(shù)據(jù)類型:char、short、int、long long、float和double。表14.2說(shuō)明了armcc對(duì)C語(yǔ)言所使用的數(shù)據(jù)類型的映射。
函數(shù)設(shè)計(jì)的基本原則是使其函數(shù)體盡量的小。這樣編譯器可以對(duì)函數(shù)做更多的優(yōu)化。
大多數(shù)的ARM處理器硬件上并不支持浮點(diǎn)運(yùn)算。但ARM上提供了以下幾個(gè)選項(xiàng)來(lái)實(shí)現(xiàn)浮點(diǎn)運(yùn)算。
當(dāng)對(duì)源代碼使用不同的編譯器時(shí),可能會(huì)出現(xiàn)一些移植上的問(wèn)題,這時(shí)可以宏將一些ARM特有的關(guān)鍵字“打包”。
一些嵌入式系統(tǒng)使用多任務(wù)的操作和控制。這些系統(tǒng)必須提供一種機(jī)制來(lái)保證正在運(yùn)行的任務(wù)不破壞其他任務(wù)的操作。即要防止系統(tǒng)資源和其他一些任務(wù)不受非法訪問(wèn)。要達(dá)到這一目的通常有軟件保護(hù)和硬件保護(hù)兩種途徑。這里軟件保護(hù)是指僅靠軟件來(lái)保護(hù)系統(tǒng)資源。系統(tǒng)中無(wú)保護(hù)硬件或硬件沒(méi)啟動(dòng)。在多任務(wù)的系統(tǒng)中,通常要運(yùn)行操作系統(tǒng)來(lái)達(dá)到任務(wù)間同步與通信。
如果微處理器要達(dá)到最佳性能,那么采用片上存儲(chǔ)器是必需的。通常ARM處理器的主頻為幾十MHz到200MHz。而一般的主存儲(chǔ)器采用動(dòng)態(tài)存儲(chǔ)器(ROM),其存儲(chǔ)周期僅為100ns~200ns。這樣指令和數(shù)據(jù)都存放在主存儲(chǔ)器中,主存儲(chǔ)器的速度將會(huì)嚴(yán)重制約整個(gè)系統(tǒng)的性能。在當(dāng)前的時(shí)鐘速度下,只有片上存儲(chǔ)器能支持零等待狀態(tài)訪問(wèn)速度。
隨著片上系統(tǒng)設(shè)計(jì)變得更加精密、復(fù)雜,ARM處理器已成為包含多個(gè)處理部件和子系統(tǒng)的系統(tǒng)核心處理器。每個(gè)ARM處理器都有一個(gè)特定的指令集架構(gòu)ISA,ISA隨著嵌入式市場(chǎng)的需求而發(fā)展。每一個(gè)ISA的發(fā)布都是相后兼容的,這使得在較早的架構(gòu)版本上編寫的代碼也可以在后續(xù)版本上執(zhí)行。
為了滿足目前無(wú)線網(wǎng)絡(luò)、汽車電子和消費(fèi)類電子產(chǎn)品不斷增長(zhǎng)的市場(chǎng)需要,ARM公司在ARMv6中引入新的技術(shù)和結(jié)構(gòu)組成,包括增強(qiáng)的DSP支持和對(duì)多處理器環(huán)境的支持。
在ARM匯編語(yǔ)言程序里,有一些特殊指令助記符,這些助記符與指令系統(tǒng)的助記符不同,沒(méi)有相對(duì)應(yīng)的操作碼,通常稱這些特殊指令助記符為偽操作標(biāo)識(shí)符(directive),它們所完成的操作稱為偽操作。偽操作在源程序中的作用是為完成匯編程序作各種準(zhǔn)備工作的,這些偽操作僅在匯編過(guò)程中起作用,一旦匯編結(jié)束,偽操作的使命就完成。
隨著科學(xué)技術(shù)發(fā)展,物聯(lián)網(wǎng)設(shè)備已經(jīng)變得越來(lái)越智能。ARM想要通過(guò)提供芯片和硬件基礎(chǔ)設(shè)施,讓所有事物的工作更加無(wú)縫化。
Arm今日宣布收購(gòu)物聯(lián)網(wǎng)連接管理技術(shù)公司Stream Technologies。該公司專注于物聯(lián)網(wǎng)連接管理技術(shù),為企業(yè)提供“一次構(gòu)建(BuildOnce)”方案,部署任何物聯(lián)網(wǎng)設(shè)備,有助于企業(yè)減少物聯(lián)網(wǎng)設(shè)備連接的時(shí)間和成本,加速物聯(lián)網(wǎng)部署。通過(guò)此次收購(gòu), Arm Mbed 物聯(lián)網(wǎng)設(shè)備管理平臺(tái)將幫助客戶專注于從連接設(shè)備中獲取有效數(shù)據(jù),加快物聯(lián)網(wǎng)布局。
另一方面,在國(guó)人關(guān)注中興事件的同時(shí),ARM公司也走出了具有發(fā)展意義的一步:ARM中國(guó)合資公司已于4月底投入運(yùn)營(yíng),并接管ARM在中國(guó)市場(chǎng)的業(yè)務(wù)。
采用無(wú)線網(wǎng)絡(luò)技術(shù)的視頻監(jiān)控系統(tǒng)依靠其更低廉的價(jià)格、更加靈活的部署方式得到廣大視頻監(jiān)控用戶的青睞,逐漸成為視頻監(jiān)控技術(shù)的發(fā)展方向之一。在此結(jié)合嵌入式技術(shù)和無(wú)線視頻監(jiān)控技術(shù),本文提出了一種基于嵌入式ARM技術(shù)的無(wú)線智能視頻監(jiān)控系統(tǒng)的解決方案。
嵌入式點(diǎn)唱機(jī)的硬件和軟件系統(tǒng)完全根據(jù)KTV的實(shí)際需要而開發(fā),屏蔽了電腦繁瑣而無(wú)用的部分,拋棄了PC主板,采用硬件解碼和播放,從原理上克服了死機(jī)的問(wèn)題,做到了真正的高可靠。
本文重點(diǎn)針對(duì)激光焊接應(yīng)用中的激光電源控制系統(tǒng)進(jìn)行功能擴(kuò)展設(shè)計(jì),利用ARM控制激光電源的系統(tǒng)設(shè)置,包括開關(guān)控制、激光參數(shù)設(shè)置、光柵控制、光閥控制、溫度控制等,有效地解決了激光器在焊接過(guò)程中的準(zhǔn)確、穩(wěn)定和可靠性問(wèn)題,同時(shí)增設(shè)人機(jī)界面(HMI)顯示控制的友好界面,使用起來(lái)更加方便。
本文接下來(lái)將就Cortex-M3/M4微控制器(MCU)的一些更有趣的(但經(jīng)常遭到忽視的)特性展開詳細(xì)的論述。