意法半導體STM32系列專(zhuān)為要求高性能、低成本、低功耗的嵌入式應用設計的ARM Cortex®-M0,M0+,M3, M4和M7內核的32位MCU。意法半導體的STM32基本型系列、增強型系列、USB基本型系列、互補型系列;沿用增強型系列的72兆赫茲處理頻率。內存包括64KB到256KB閃存和 20KB到64KB嵌入式SRAM。采用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結合STM32平臺的設計理念,開(kāi)發(fā)人員通過(guò)選擇產(chǎn)品可重新優(yōu)化功能、存儲器、性能和引腳數量,以最小的硬件變化來(lái)滿(mǎn)足個(gè)性化的應用需求。 下面主要介紹關(guān)于STM32常見(jiàn)問(wèn)題。 1、AHB系統總線(xiàn)分為APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速設備 2、Stm32f10x.h相當于reg52.h(里面有基本的位操作定義),另一個(gè)為stm32f10x_conf.h專(zhuān)門(mén)控制外圍器件的配置,也就是開(kāi)關(guān)頭文件的作用 3、HSE Osc(High Speed External Oscillator)高速外部晶振,一般為8MHz,HSI RC(High Speed InternalRC)高速內部RC,8MHz 4、LSE Osc(Low Speed External Oscillator)低速外部晶振,一般為32.768KHz,LSI RC(Low Speed InternalRC)低速內部晶振,大概為40KHz左右,提供看門(mén)狗時(shí)鐘和自動(dòng)喚醒單元時(shí)鐘源 5、SYSCLK時(shí)鐘源有三個(gè)來(lái)源:HSI RC、HSE OSC、PLL 6、MCO[2:0]可以提供4源不同的時(shí)鐘同步信號,PA8 7、GPIO口貌似有兩個(gè)反向串聯(lián)的二極管用作鉗位二極管 8、總線(xiàn)矩陣采用輪換算法對系統總線(xiàn)和DMA進(jìn)行仲裁 9、ICode總線(xiàn),DCode總線(xiàn)、系統總線(xiàn)、DMA總線(xiàn)、總線(xiàn)矩陣、AHB/APB橋 10、在使用一個(gè)外設之前,必須設置寄存器RCC_AHBENR來(lái)打開(kāi)該外設的時(shí)鐘。 11、數據字節以小端存儲形式保存在存儲器中。 12、內存映射區分為8個(gè)大塊,每個(gè)塊為512MB 13、FLASH的一頁(yè)為1K(小容量和中容量),大容量是2K 14、系統存儲區(SystemMemory)為ST公司出廠(chǎng)配置鎖死,用戶(hù)無(wú)法編輯,用于對FLASH區域進(jìn)行重新編程。所以我們燒寫(xiě)程序務(wù)必選擇BOOT1 = 0,這樣通過(guò)內嵌的自舉程序對FLASH進(jìn)行燒寫(xiě),比如中斷向量表和代碼。 15、STM32核心電壓為1.8V 16、STM32復位有三種:系統復位、上電復位、備份區域復位。其中系統復位除了RCC_CSR中的復位標志和BKP中的數值不復位之外,其他的所有寄存器全部復位。觸發(fā)方式例如外部復位、看門(mén)狗復位、軟件復位等;電源復位由于外部電源的上電/掉電復位或者待機模式返回。復位除了BKP中的寄存器值不動(dòng),其他全部復位;備份區域復位的觸發(fā)源為軟件復位或者VDD和VBAT全部掉電時(shí)。 17、單片機復位后所有I/O口均為浮空輸入狀態(tài) 18、68個(gè)可屏蔽中斷通道,16個(gè)可編程優(yōu)先級,16個(gè)內核中斷,一共68+16=84個(gè)中斷。103系列只有60個(gè)中斷,107系列才有68個(gè)中斷 19、系統啟動(dòng)從0x00000004開(kāi)始,0x000 0000保留 20、(NestedVectored Interrupt Controller)NVIC嵌套向量中斷控制器,分為兩種:搶先式優(yōu)先級(可嵌套)和中斷優(yōu)先級(副優(yōu)先級,不能嵌套)。兩種優(yōu)先級由4位二進(jìn)制位決定。分配下來(lái)有十六種情況: 21、0號搶先優(yōu)先級的中斷,可以打斷任何中斷搶先優(yōu)先級為非0號的中斷;1號搶先優(yōu)先級的中斷,可以打斷任何中斷搶先優(yōu)先級為2、3、4號的中斷;……;構成中斷嵌套。如果兩個(gè)中斷的搶先優(yōu)先級相同,誰(shuí)先出現,就先響應誰(shuí),不構成嵌套。如果一起出現(或掛在那里等待),就看它們2個(gè)誰(shuí)的子優(yōu)先級高了,如果子優(yōu)先級也相同,就看它們的中斷向量位置了。原來(lái)中斷向量的位置是最后的決定因素 22、上電初始化后AIRC初始化為0,為16個(gè)搶先式優(yōu)先級,但是由于所有的外部通道中斷優(yōu)先級控制字PRI_n為0,所以搶先式優(yōu)先級相同,此時(shí)就不能嵌套了。 STM32通過(guò)其產(chǎn)品能力,向市場(chǎng)證明了一件事:Cortex-M系列MCU市場(chǎng)用量巨大。由于MCU供需失衡,這種不平衡導致MCU有10~15%的價(jià)格上漲是合理的,這種結果和生產(chǎn)線(xiàn)的停產(chǎn),以及連續的產(chǎn)線(xiàn)開(kāi)關(guān)相比影響將是有限的。國產(chǎn)靈動(dòng)微MM32單片機可兼容替換STM32系列,英尚微電子支持提供產(chǎn)品技術(shù)支持及應用解決方案。 |