常常有些人接觸單晶片或微處理機,可能都會先從8051下手,其實原因無他,就是外面的書籍較多,比較好學習,但有些人會問筆者,為什麼ARM相關的書籍很少,或都是對岸所出的,原因無他,就是因為在台灣寫書所得到的報酬已經非常少了,往往花了半年到1年的時間,只賣出幾百本,或是更慘,這可能就是專業書籍的宿命吧。 沒關係, 筆者旨在「交朋友」 不在乎報酬,只希望多給筆者一點掌聲即可。
但也希望如果內容那裡不清楚的,或是想了解更多的,筆者應該會盡可能的滿足大家的需求。
進入ARM的世界,一定要了解ARM的架構,不過在此就不多加介紹ARM了,因為對於做晶單片和微處理機的人來說,怎麼做IC不是重點,重點是要了解這顆單片和微處理機怎麼使用,所以這裡只有介紹ARM的匯流排架構(AMBA bus),現在在使用的cortex-M系列只有分AHB(Advanced
High-performance Bus)和APB(Advanced
Peripheral Bus)兩種,你可以想成AHB 就是高速公路,而APH就是一般的快速道路或是平面道路。至於到底這上面怎麼運作的,我想,就留給有興趣製作IC的人慢慢研究了,在此也不多加介紹。不過,我們只需要了解我們需要用的周邊功能,是被掛在那個匯流排上的,這樣就可以了。
High-performance Bus)和APB(Advanced
Peripheral Bus)兩種,你可以想成AHB 就是高速公路,而APH就是一般的快速道路或是平面道路。至於到底這上面怎麼運作的,我想,就留給有興趣製作IC的人慢慢研究了,在此也不多加介紹。不過,我們只需要了解我們需要用的周邊功能,是被掛在那個匯流排上的,這樣就可以了。
以下圖為例:
GPIO à AHB
USART1 à APB2
USART2 à APB1
硬體上APB1和APB2的差別就只在於最高的操作頻率不同而已,程式上記得要把相對應的匯流排打開,記得,預設值的匯流排基本上都是沒有打開的,開錯了,就很容易發現周邊不會動了。筆者也常常在這上面除錯,就只因為筆誤造成的錯誤,而找了半天(笑)。
下一篇:GPIO
沒有留言:
張貼留言