ARM學習之時鐘體系結構
今天在宿舍學習的是S3C2440的系統時鐘體系,這部分的難點不是很多,所以相對來說輕鬆點,但還是把感悟記錄下來吧。
1.S3C2440的的時鐘體系有哪些?它們分別有什麼作用?
答:以前一直有個小疑問,你說,這CPU執行那麼快,外部的裝置執行的就比較慢,那它們的時鐘源怎麼匹配呢?哦,今天算是差不多弄清楚了。因為它們有不同的時鐘源。就S3C2440來說,
它有三種時鐘源:
(1)FCLK:用於CPU核。
(2)HCLK:用於AHB匯流排上的裝置,比如CPU核儲存器控制器、中斷控制器、LCD控制器、DMA和USB主機模組等高效能的裝置。
(3)PCLK:用於APB匯流排上的裝置,比如WATCHDOG、IIS、I2C、PWM定時器、MMC介面、ADC、UART、GPIO、RTC和SPI等低速裝置。
產生這些時鐘源的簡要流程可以這樣描述:
(1)系統剛上電的時候,FCLK即等於外部輸入的時鐘。一般是12M或者24M的晶振。
(2)然後用軟體的方式開啟MPLL(鎖相環電路,用於提高系統時脈頻率),把12M或者24M的時脈頻率提高到100-400M(針對於S3C2440)。
(3)再然後,通過設定一些暫存器,可以改變FCLK、HCLK、PCLk的時脈頻率比例(比如說1:2:2)
這樣,其他的兩個時鐘源也就提高了。
要明白的是,系統在執行的時候,是三個時鐘源一起在工作,分別為不同的裝置提供不同的時脈頻率。當然,有些裝置對這些頻率還不是很“滿意”、它會自己進行一些倍頻或者分頻的工作。
2.本質上,定時器的工作原理是什麼?
答:定時器的工作原理簡要說起來其實也很簡單。就是利用系統給的時鐘(一般是PCLK)進行計數,當數計滿了,就會產生一次中斷。我們想要所長時間進行一次中斷,把這個數計算好就行了。
其他:在敲程式碼的過程中,發現一個小問題。書上說:就是在CPU在轉到中斷服務的時候,LR儲存的是前一個工作模式的的即將執行的地址,就中斷而言,是當前PC+4。可是給的程式碼例程裡計算返回地址的時候用的是SUB lr,lr,#4—–是lr-4,這不又回到需要中斷的指令了。有問題。
後來,查了一些資料才知道,可能是書上寫錯了,這是我摘自一篇部落格的話:
IRQ異常發生時,因為這個異常是在指令執行時候發生的,PC的值等於當前執行指令加8,然後將這個值儲存在LR中。但是LR暫存器中儲存的是PC+8,指向的是後面的第二條指令,如果不進行減4處理,將會漏執行一條指令,所以PC恢復的時候就需要LR減4,所以正常從子程式返回的時候會使用如:
SUBS PC, LR,#4 返回到當前指令的下一條指令
相關文章
- golang 學習之路之 struct 結構體GolangStruct結構體
- Oracle體系結構學習筆記Oracle筆記
- 如何系統學習C 語言(中)之 結構體篇結構體
- 結構體學習結構體
- PostgreSQL 資料庫學習 - 1.資料庫體系結構之儲存結構SQL資料庫
- Linux核心學習—— 1核心體系結構Linux
- Linux學習(三)之系統目錄結構Linux
- 資料結構學習之樹結構資料結構
- 學習Rust 結構體Rust結構體
- 系統時鐘與硬體時鐘
- InnoDB學習(七)之索引結構索引
- SpringBoot學習之資料結構Spring Boot資料結構
- GO 學習筆記->結構體Go筆記結構體
- Golang 學習——結構體 struct (一)Golang結構體Struct
- Golang 學習——結構體 struct (二)Golang結構體Struct
- go語言學習-結構體Go結構體
- 資料結構基礎學習之時間複雜度分析資料結構時間複雜度
- 資料結構學習之佇列資料結構佇列
- 影像分割中的深度學習:U-Net 體系結構深度學習
- 【學習】體系結構-001-例項與資料庫資料庫
- HBase學習之Hbase的邏輯結構和物理結構
- 10 分鐘搞定 Golang 結構體Golang結構體
- EXT4檔案系統學習(11)VFS之記憶體結構sb和inode記憶體
- JVM學習(一)——記憶體結構JVM記憶體
- struct 結構體 -Go 學習記錄Struct結構體Go
- Arm pwn學習
- Flutter學習之檢視體系Flutter
- Python學習手冊之控制結構(二)Python
- java資料結構學習之陣列Java資料結構陣列
- Spring Security系列之體系結構概述(一)Spring
- PostgreSQL-PG體系結構之WAL(五)SQL
- ARM嵌入式系統該如何學習
- 新基建如何構造精準時鐘同步(NTP網路授時)體系
- 關於結構體型別的學習結構體型別
- 搭建網路教學平臺時,所用到的體系結構(下)
- arm相關學習
- 資料結構基礎學習之緒論資料結構
- 【PG體系結構】PG體系結構簡單說明
- MySQL 體系結構MySql