詳細(xì)開發(fā)-2.新唐單片機(jī)cortexm032位numicro cmsis_第1頁(yè)
詳細(xì)開發(fā)-2.新唐單片機(jī)cortexm032位numicro cmsis_第2頁(yè)
詳細(xì)開發(fā)-2.新唐單片機(jī)cortexm032位numicro cmsis_第3頁(yè)
詳細(xì)開發(fā)-2.新唐單片機(jī)cortexm032位numicro cmsis_第4頁(yè)
詳細(xì)開發(fā)-2.新唐單片機(jī)cortexm032位numicro cmsis_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Architecture,System,Tools,CMSIS 議題NuMicro?AFamilyofMCUPoweredbyARMCortex-NUC150General NUC150General USB HighdensityFlashUSBCAN12-bit MT530 MotorApplication Net Nano100 EthernetApplicationUltraLowPowerwithLCDNUC122 ASSPLowPowerUSBFSM051 Mini51 *:In8051 MiniFlashLPC **:Product

New32-bit Mini51

Motor

TouchUSB

MCUwithLCD

HighDensityEthernetControlMini51系列全部功能DebugARMCortex-M0功能方塊Debug442Cortex-Cortex-M0componentsCortex-M0processor NestedVectoredDebugAccessPortBusDebuggerWakeupCortex-M0ProcessorAHB-Liteinterface

SerialWireJTAGdebug 系統(tǒng)介Mini51MCU內(nèi)嵌Cortex-M04KB/8KB/16KB 區(qū)(DataFlash)2KBFlash 2KBSRAMISP(InSystemProgramming)by2ICPInCircuitProgramming)updatefromICE2SWDICE寬電壓范圍2.5V~I(xiàn)CP(InCircuitNuMicroICPNu-Nu-SWDNuMicroISP(InSystemM0-UpdateM0-UpdateUARTUART從LDROM啟NuMicroISPv.sICP不同PCAPCPUCPULDROM

系統(tǒng)內(nèi)存映CortexM0SystemAHBAPBISPLoaderProgramMemoryApplicationProgramMemory

電源管理靈活的系統(tǒng)時(shí)鐘源選所有外設(shè)的時(shí)鐘可以單獨(dú)關(guān)IDLECPU停止,外設(shè)可能還在運(yùn)行,由應(yīng)用程序控CPU&和大多外設(shè)都停止運(yùn)電源管SCB->SCR=CLK->PWRCON_BITS.PD_WK_IE=CLK->PWRCON_BITS.PD_EN=0; SCB->SCR=CLK->PWRCON_BITS.PD_WK_IE=CLK->PWRCON_BITS.PD_EN=1; 系統(tǒng)復(fù)硬件復(fù)軟件復(fù)CPU&flash1到CHIP_RST(IPRSTC1[0],1) 1到SYSRESETREQ(AIRCR[2],ApplicationInterrupt&Control “RSTSRC”“RSTSRC”寄存器可用于確 的復(fù)位RSTSRC(系統(tǒng)復(fù)位源寄存器系統(tǒng)復(fù)位源寄存 7

上電復(fù)/RESET引腳低電平復(fù)看門狗超時(shí)復(fù)低電壓檢測(cè)復(fù)系統(tǒng)復(fù)位源列ResetStatus765432100X00X011ResetPin0X00X010OutReset0X00X1000X01X0000X10X0000X00X0011X00X000外設(shè)復(fù)每個(gè)外設(shè)有相應(yīng)的復(fù)位“IPRSTC1&IPRSTC2IPRSTC2(外設(shè)復(fù)位控制寄存器ResetIPResetControlResister876543210bit“1”“0”Mini51系列時(shí)鐘發(fā)生

12MHzor32

12MHzor32

22.1184

22.1184內(nèi)部

10

10876543210Trimvaluecalculationisbasedonaveragedifferencein32KHzEnable/Disableauto-trimfunction,itwilltrimHIRCtoIRCTRIMIENIRCTRIMINT87654321032KHz32KHzclockerrorinterruptTrimfailureinterrupt87654321032KHzclock32KHzclockNuMicroMini51系列系統(tǒng)時(shí)鐘

SysTick時(shí)鐘STCLK_S12Mor12Mor÷÷÷ NuMicro整合在Cortex-M0內(nèi)核支持32個(gè)外部中支持NMI(不 “TailChaining&“LateCMSISCISR函數(shù)調(diào)中斷處理函系統(tǒng)外設(shè)中斷映射向量中斷(BitinInterrupt中斷名外中斷描0~---012外部中斷,來自P3.23外部中斷,來自P5.24外部中斷,來自P0[7:05],678定時(shí)器0中9定時(shí)器1中UART中SPI外部中斷,來自P5[5:0],系統(tǒng)外設(shè)中斷映射向量中斷(BitinInterrupt中斷名外中斷描I2C模擬比較器0和模擬比較器1中ADCARM&開發(fā)工具廠商(Keil,IAR..)CorePeripheralAccessLayerDevicePeripheralAccessLayer

結(jié)

CMSISchanges.htm

CMSIS_Core.htmCMSIS編碼規(guī)ANSIANSICstdint.h異常/中斷處理函數(shù)命名規(guī)缺省異常/中斷處理函數(shù)(weakdefinition)是一個(gè)死循Mini51CMSISIC廠商提供3個(gè)文 systemMini51.c(systemARM提供2個(gè)文typedefenum{typedefenum{ =-14, /*!<2NonMaskableInterrupt =-13, /*!<3Cortex-M0HardFaultInterrupt =-5, /*!<11Cortex-M0SVCallInterrupt =- /*!<14Cortex-M0PendSV =- /*!<15Cortex-M0SystemTick /******ARMIKMCUSwiftspecificInterruptNumbers}==================中斷號(hào)定義在“Mini51.h”startup_Mini51.s_Vectors

;Reset;NMI;HardFault;;;;;;;;SVCall;;;PendSV;SysTick

;External

startup_Mini51.s

這些中斷名字是固定的定義中斷處理函數(shù)的起始

876543210

ClockController typedefstruct{union IOuint32_tPWRCON;struct{ IOuint32_t IOuint32_t IOuint32_t IOuint32_t IOuint32_t IOuint32_t IOuint32_tPD_EN:1; IOuint32_tPD_32K_EN:1; }CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA_+GCR_BA+typedeftypedef{IOuint32_tPWRCON;IOuint32_tAHBCLK;IOuint32_tAPBCLK;IOuint32_tCLKSTATUS;IOuint32_tCLKSEL0;IOuint32_tCLKSEL1;IOuint32_tCLKDIV;IOuint32_tCLKSEL2;uint32_t IOIOuint32_t}以地址CLK_BA 址的一組寄存typedeftypedefstruct{union{ IOuint32_tstructIOuint32_tIOuint32_tIOuint32_tIOuint32_t}union IOuint32_tstruct IOuint32_t }

union IOstruct

IOuint32_t uint32_t IOuint32_t}CLK_BACLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA+CLK_BA_+GCR_BA+ IOuint32_tstructIOuint32_t}}寄存#defineCLK_BASE#define

(AHBPERIPH_BASE+0x00200)系統(tǒng)控制寄存時(shí)鐘控制寄存中斷復(fù)用控制寄GPIO控制寄存Flash器控制寄存CLK->PWRCON_BITS.XTLCLK_EN=0x1;//使能外部12MHz晶 Cortex-M0內(nèi)核寄存 函數(shù)定內(nèi)核寄存描voidenable_irqPRIMASK=(使用指令CPSIEvoiddisable_irqPRIMASK=全局中斷(使用指令CPSIDvoidset_PRIMASK(uint32_tPRIMASK=寫PriorityMask寄存器(使用指令uint32_t get_PRIMASKreturn讀PriorityMask寄存器的值(使用指令voidset_CONTROL(uint32_tCONTROL=(使用指令uint32_t get_CONTROLreturn取得控制寄存器的值(使用指令voidset_PSP(uint32_tPSP=uint32_t get_PSPreturn(使用指令voidset_MSP(uint32_tMSP=寫主堆棧指針寄存器(使用指令uint32_t get_MSPreturn(使用指令Cortex-M0指函數(shù)名描void WFIWaitforvoid WFEWaitforvoid SEVSetvoid ISBInstructionSynchronizationvoid DSBvoid DMBDataMemoryuint32_t uint32_t REV16(uint16_tReversebyteorderinunsignedsint32_t REVSH(sint16_tReversebyteorderinsignedshortvaluewithsignextensiontointeger.NVIC函數(shù)調(diào)函數(shù)參描PriorityGrouSetthePriorityGrou(GroupsIRQIRQnIRQIRQReturn1ifIRQnispendingelseIRQSetIRQnIRQClearIRQnPendinguint32_tpriority)IRQNumber,IRQnIRQIRQnuint32_tNVIC_EncodePriority(uint32_tuint32_tSubPriority)IRQNumber,PriorityGroup,PreemptivePriority,SubPriorityEncodepriorityforgiveng

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論