STM32中AHB總線、APB2總線、APB1總線這些是什么?
一直不明白有STM32中AHB總線、APB2總線、APB1總線這些是是什么??
所謂地址映射,就是將芯片上的存儲器 甚至I/O等資源與地址建立一一對應的關系。如果某地址
對應著某寄存器,我們就可以運用C語言的指針來尋址并修改這個地址上的內(nèi)容,從而實現(xiàn)修改該寄存器的內(nèi)容。
正是因為
程序中方便地使用P2^0 =0xFF; TMOD =0xFF等賦值句子對寄存器進行配置,從而控制單片機。
其實地址總線就是就是用來存放地址的,Cortex-M3的地址映射也是類似的,Cortex-M3有32根地址線,所以它的尋址空間大小為2^32
bit=4GB。(這里什么32跟地址線不需要去糾結(jié)了,只要知道配置成了4G的地址就行)
然后APB2總線就是指特定的一段地址,如:0x4001 0000—XXXX
具體的解釋見\STM32 神舟\神舟III號\第5集 流水燈實驗 \LED流水燈實驗.pdf上的詳解
拓展:
計算機硬件設備有傳輸數(shù)據(jù)和地址的線路,有的計算機數(shù)據(jù)線和地址線是公用的,就要采用分時處理的方式,有的計算機實際地址線路數(shù)少于集成電路的地址線路數(shù),就要采用分段尋址的方式。
因為要共用,所以叫總線(bus)有數(shù)據(jù)總線和地址總線。
總線有控制總線,數(shù)據(jù)總線和地址總線,控制總線是發(fā)送控制信號的,地址總線是傳送地址信號的,CPU要訪問內(nèi)存,必須首先在地址總線上給出內(nèi)存的地址,所謂32位的地址總線是指根CPU相連的地址線有32條,每一條可以給出兩個不同的符號(0和1)那么就可以訪問2的32次方的空間的內(nèi)存。數(shù)據(jù)總線是傳輸數(shù)據(jù)的,CPU要從內(nèi)存或者緩存中讀取數(shù)據(jù),必須通過數(shù)據(jù)總線進行,32位的數(shù)據(jù)總線對應的是跟CPU相連的32根數(shù)據(jù)線。一條數(shù)據(jù)線傳送一個二進制數(shù),32位數(shù)據(jù)總線一次就可以傳送2個字節(jié)的數(shù)據(jù)。
CPU中的位指的是CPU運算一次處理數(shù)據(jù)量的能力,32位CPU一次可以處理32位的數(shù)據(jù),64位CPU一次可以處理64位的數(shù)據(jù)。
64位CPU不一定對應64位數(shù)據(jù)總線和地址總線,如果是32位的總線,可以采取分兩次傳送的措施,一般總線的位數(shù)大于等于CPU的位數(shù)
總結(jié):學習單片機還得腳踏實地 打好基礎 搞清楚
編輯:admin 最后修改時間:2018-05-18