1,、在STM32內(nèi)部,,F(xiàn)SMC的一端通過內(nèi)部高速總線AHB連接到內(nèi)核Cortex-M3,另一端則是面向擴展存儲器的外部總線,。
內(nèi)核對外部存儲器的訪問信號發(fā)送到AHB總線后,,經(jīng)過FSMC轉(zhuǎn)換為符合外部存儲器通信規(guī)約的信號,送到外部存儲器的相應引腳,,實現(xiàn)內(nèi)核與外部存儲器之間的數(shù)據(jù)交互,。
2、FSMC中的DATASET和ADDSET的設置需要參看外部存儲器的時序圖來確定,。
一般而言,,DATASET指的是數(shù)據(jù)建立時間,也就是讀/寫信號開始到讀/寫信號停止(上升沿存儲數(shù)據(jù))的持續(xù)時間,。(一般來說寫比讀快?。?/p>
而ADDSET指的是地址建立時間,,指的是片選之后到讀/寫操作之前的時間,,這是針對SRAM來說的,如果操縱的是TFT,,不存在地址線,,所以此時的ADDSET就是讀/寫信號結束到RS電平的轉(zhuǎn)換時間。
5,、FSMC的三個配置寄存器:FSMC_BCRx(片選控制配置),、FSMC_BTRx(片選時序)、FSMC_BWTRx(片選寫時序),。
6,、RTC時鐘配置必須要用到BKP寄存器,BKP寄存器在單片機復位,、電源復位,、待機喚醒模式下是不會更改值的,他的供電由VDD供電,,VDD被切斷后自動切換至外部的VBAT供電,。
7,、要修改BKP寄存器的值,必須取消其寫保護的標志,。BKP寄存器在上電時自動寫保護,。
8、Stm32有三種省電模式:
三種省電模式中,,耗電量從上到下依次降低,,待機模式的電流僅為2uA。
9,、從待機模式中喚醒單片機等效于讓單片機復位,,但是電源寄存器的值會有一個標志位指示單片機是被喚醒的,不是被復位的,。
10,、ADC的時鐘不要超過14MHz,否則轉(zhuǎn)換精度會下降,。最大轉(zhuǎn)換速率為1MHz,,即轉(zhuǎn)換周期為1us(14MHz,采樣周期為1.5個ADC時鐘)
11、Tcovn=采樣時間+12.5個周期,。采樣時間盡量選長一點,,這樣精度高一些,但是轉(zhuǎn)換速率下降,,這也是有利必有弊,。
13、拿ARM7TDMI來說,,T代表Thumb指令集,,D是說支持JTAG調(diào)試(Debugging),M意指快速乘法器,,I則對應一個嵌入式ICE模塊,。
14、MMU作為嵌入式處理器與應用處理器的分水嶺標志à具有內(nèi)存管理單元的嵌入式處理器可以定位為應用處理器,。
這么說M系列和A系列的處理器的區(qū)別在于A系列的處理器具有MMU單元可以進行內(nèi)存模塊的管理,。
15、ARM處理器有兩種狀態(tài):ARM狀態(tài)和Thumb狀態(tài),。
16,、這張圖說明了一切:Thumb2指令集做了一件很偉大的事情:將16位和32位的指令集融為一體,兼容性非常強?。ㄟ@么說CM3不支持某些32位ARM指令集,??)
18,、MSP是系統(tǒng)復位后使用的堆棧指針,,PSP由用戶的代碼使用,。兩個堆棧指針為4字節(jié)對齊??!
19、在ARM編程領域中,,凡是打斷程序運行的事件,,統(tǒng)稱為異常(exception)。
20,、因為存在LR(鏈接寄存器),,所以可支持1級的子程序調(diào)用而不用壓棧到內(nèi)存,大大提高了運行速度,。---à這就是說,,我們在編程的時候,一級調(diào)用是不會耗費太多時間的,,除非是二級調(diào)用,!