關(guān)于底層ECU控制的寄存器入口地址等概念入門

明確相關(guān)基本概念
1)計算機系統(tǒng)包括硬件和軟件,硬件層面上僅僅包括兩類:CPU核和"外設"。

2)任何ARM處理器(例如三星的S5P6818)內(nèi)部包括兩部分:CPU核和各種硬件外設控制器。

例如:具體參見S5P6818芯片手冊SEC_S5P6818X完整版.pdf的P34

結(jié)論:S5P6818內(nèi)部包含了8個CPU核和各種硬件外設的控制器(LCD顯示屏控制器,Nandflash控制器,DDR內(nèi)存控制器,SD卡/TF卡/EMMC控制器,UART串口控制器等)

將來CPU核要想訪問某個外設,CPU必須通過對應的控制器來訪問具體的外設。

外設的控制器類似橋梁,控制器幫助CPU核間接訪問外設。

參見bt.bmp,根據(jù)此圖得到結(jié)論:

1.明確CPU核不允許直接訪問BT

2.CPU首先訪問UART控制器

3.UART控制器在訪問BT

3)CPU核功能:僅僅做數(shù)據(jù)運算,數(shù)據(jù)來自外設(例如BT或者內(nèi)存條)數(shù)據(jù)經(jīng)過CPU核的運算最終還是要回歸到外設。

"外設":提供數(shù)據(jù),除了CPU核以外的任何硬件,包括肉眼看得到的硬件(例如EMMC,內(nèi)存條)還包括肉眼看不到的硬件(各種處理器內(nèi)部集成的控制器)

結(jié)論:只要以上電,CPU核就和外設玩命時時刻刻的進行數(shù)據(jù)的交互 。

4)ARM處理器內(nèi)部集成的各種外設的控制器內(nèi)部同樣集成了一大堆的寄存器

“寄存器”:能夠暫存數(shù)據(jù)的硬件,掉電數(shù)據(jù)丟失,和內(nèi)存一模一樣。

并且這些一大堆的寄存器都有自己的物理地址。

注意:寄存器同樣也是外設

5)切記:CPU核訪問外設都是以地址指針的形式訪問

CPU核要想訪問某個外設,必須先獲取到這個外設的起始地址

6)CPU核訪問外設的具體流程

以CPU核給BT藍牙發(fā)送數(shù)據(jù)為例:

1.CPU核軟件上以地址指針的形式訪問UART控制器內(nèi)部的一大堆寄存器,本質(zhì)就是CPU核通過控制器內(nèi)部的寄存器間接給控制器發(fā)送控制命令

例如:某個UART控制器中寄存器的基地址為0xC002C000,寄存器的大小為4字節(jié)目標是向這個寄存器寫入命令數(shù)據(jù)0x55555555

*(unsigned long *)0xC002C000 = 0x55555555;

2.UART控制器一旦接收到CPU發(fā)送來的控制命令,UART控制器硬件上自動的操作處理器和BT之間的硬件連接線。

3.硬件連接線將來在自動影響外設BT

總結(jié):CPU核訪問外設的基本流程:

1.CPU核軟件上以地址指針的形式訪問外設對應的控制器內(nèi)部的寄存器,其實就是CPU核給控制器發(fā)送控制命令。

2.控制器一旦接收到了CPU核發(fā)送來的控制命令,控制器會自動操作之間的硬件連接信號線。

3.硬件連接信號線將來在自動影響操作外設。

切記:計算機中,CPU核和外設的硬件通信方式常見的有以下幾種:

GPIO通信方式/UART串口通信/I2C總線通信方式/SPI總線通信方式/1-Wire總線通信方式等。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容