<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于CMSIS標準的 Cortex-M3應用軟件開(kāi)發(fā)

基于CMSIS標準的 Cortex-M3應用軟件開(kāi)發(fā)

作者: 時(shí)間:2009-12-14 來(lái)源:網(wǎng)絡(luò ) 收藏

(4)數據類(lèi)型
對數據類(lèi)型的定義是在stdint.h中完成的,對核寄存器結構體的定義是在core_cm3.h中完成的,寄存器的訪(fǎng)問(wèn)權限是通過(guò)相應的標識來(lái)指示的。定義以下3種標識符來(lái)指定訪(fǎng)問(wèn)權限:_I(volatile const)、_O(volatile)和_IO(volatile)。其中_I用來(lái)指定只讀權限,_O指定只寫(xiě)權限,_IO指定讀寫(xiě)權限。
(5)調 試
嵌入式中的一個(gè)基本需求就是能通過(guò)終端來(lái)輸出調試信息,一般可通過(guò)2種方式實(shí)現:一種是使用串口線(xiàn)連接板上的UART和PC上的COM口,通過(guò)PC上的超級終端來(lái)查看調試信息;另一種則是采用半主機機制,但有可能不被所用的工具鏈支持。-核的軟件調試突破了這樣的限制,-內核提供了一個(gè)ITM(Instrumentation Trace Macrocell)接口,通過(guò)SWV(Serial Wire Viewer)可調試由SWO引腳接收到的ITM數據。ITM實(shí)現了32個(gè)通用的數據通道,這樣的實(shí)現,規定用通道0作為終端來(lái)輸出調試信息,通道31用于操作系統的輸出調試(特權模式訪(fǎng)問(wèn))。在core_cm3.h中定義了ITM_SendChar()函數,因此可通過(guò)調用該函數來(lái)重寫(xiě)fputc,以在程序中通過(guò)printf打印調試信息,并可通過(guò)ITM Viewer查看這些調試信息。有了這樣的實(shí)現,嵌入式者就可以在不配置串口和使用終端調試軟件的情況下輸出調試信息,在一定程度上減少了工作量。
(6)安全機制
在嵌入式過(guò)程中,代碼的安全性和健壯性一直是開(kāi)發(fā)人員所關(guān)注的,因此CMSIS在這方面也作出了努力,所有的CMSIS代碼都MISRA-C2004(Motor Industry Software Reliability Association forthe C programming language)。MIRSA-C 2004制定了一系列安全機制用來(lái)保證驅動(dòng)層軟件的安全性,是嵌入式行業(yè)都應遵循的。對于不符合MISRA的,編譯器會(huì )提示錯誤或警告,這主要取決于開(kāi)發(fā)者所使用的工具鏈。

本文引用地址:http://dyxdggzs.com/article/163413.htm


3 基于CMSIS標準的代碼實(shí)現
CMSIS降低了代碼開(kāi)發(fā)的難度,為了更好地詮釋這一點(diǎn),下面以一個(gè)基于ST2微處理器的簡(jiǎn)單例子來(lái)說(shuō)明。代碼實(shí)現如下:


可以看到用戶(hù)程序中僅需短短的幾行代碼就實(shí)現了定時(shí)器的功能,每隔1 S報數1次,并可通過(guò)ITM窗口查看輸出的調試信息。其中SystemInit()用來(lái)初始化時(shí)鐘,SysTick_Config()用來(lái)配置系統定時(shí)器,而SysTick_Han-dler()用來(lái)處理系統時(shí)鐘異常,該異常每1 ms發(fā)生1次。由于重寫(xiě)了fputc(),所以可通過(guò)printf()函數將調試信息打印到ITM窗口上,輸出結果如圖4所示。

結 語(yǔ)
本文闡述了基于CMSIS標準的軟件架構、規范,并通過(guò)一個(gè)實(shí)例更加清晰地解讀了CMSIS作為一個(gè)新的基于-M核處理器系列的軟件開(kāi)發(fā)標準所具有的巨大潛力。它不僅降低了軟件開(kāi)發(fā)的難度,更減少了軟件開(kāi)發(fā)的成本。因此,工程師盡早掌握CMSIS標準,對進(jìn)行基于Cortex-M3處理器的軟件開(kāi)發(fā)會(huì )大有幫助。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>