中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 基于CMSIS標(biāo)準(zhǔn)的 Cortex-M3應(yīng)用軟件開發(fā)

        基于CMSIS標(biāo)準(zhǔn)的 Cortex-M3應(yīng)用軟件開發(fā)

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

        2 規(guī)范
        (1)文件結(jié)構(gòu)
        的文件結(jié)構(gòu)如圖3所示(以ST2為例)。其中stdint.h包括對8位、16位、32位等類型指示符的定義,主要用來屏蔽不同編譯器之前的差異。core_cm3.h和core_cm3.C中包括_核的全局變量聲明和定義,并定義一些靜態(tài)功能函數(shù)。system_device>.h和system_device>.c(即圖3中的system_stm32.h和system_stm32.c)是不同芯片廠商定義的系統(tǒng)初始化函數(shù)SystemInit(),以及一些指示時(shí)鐘的變量(如SystemFre-quency)。device>.h(即圖3中的stm32.h)是提供給程序的頭文件,它包含core_cm3.h和system_device>.h,定義了與特定芯片廠商相關(guān)的寄存器以及各中斷異常號,并可定制核中的特殊設(shè)備,如MCU、中斷優(yōu)先級位數(shù)以及SysTick時(shí)鐘配置。雖然提供的文件很多,但在程序中只需包含device.>h。

        本文引用地址:http://www.antipu.com.cn/article/163413.htm

        (2)工具鏈
        CMSIS支持目前嵌入式開發(fā)的三大主流工具鏈,即ARM ReakView(armcc)、IAR EWARM(iccarm)以及GNU工具鏈(gcc)。通過在core_cm3.C中的如下定義,來屏蔽一些編譯器內(nèi)置關(guān)鍵字的差異。


        這樣,CPAL中的功能函數(shù)就可以被定義成靜態(tài)內(nèi)聯(lián)類型(static_INLINE),實(shí)現(xiàn)編譯優(yōu)化。
        (3)中斷異常
        CMSIS對異常和中斷標(biāo)識符、中斷處理函數(shù)名以及中斷向量異常號都有嚴(yán)格的要求。異常和中斷標(biāo)識符需加后綴_IRQn,系統(tǒng)異常向量號必須為負(fù)值,而設(shè)備的中斷向量號是從0開始遞增,具體的定義如下所示(以STM32為例):


        CMSIS對系統(tǒng)異常處理函數(shù)以及普通的中斷處理函數(shù)名的定義也有所不同。系統(tǒng)異常處理函數(shù)名需加后綴_Handler,而普通中斷處理函數(shù)名則加后綴_IRQHandler。這些異常中斷處理函數(shù)被定義為weak屬性,以便在其他的文件中重新實(shí)現(xiàn)時(shí)不出現(xiàn)重復(fù)定義的錯(cuò)誤。這些處理函數(shù)的地址用來填充中斷異常向量表,并在啟動代碼中給以聲明,例如:NMI_Handler、MemManage_Handler、SysTick_Handler、WWDG_IRQHandler等。



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉