編寫mipsel mt7620 Led驅動(一)

1.看原理圖中知芯片上66引腳控制一個LEDui

 

2.在Datasheet中找出GPIO pin3d

image

3.在ProgrammingGuid  System Contrl中找到GPIO控制寄存器地址:blog

image

 

4.控制GPIO的寄存器偏移地址是image,起始地址是image,但這個起始地址是物理地址,所以還要肯定相應的虛擬地址(這個能夠根據mips手冊或者內核源代碼去查到),本屌絲在內核源代碼中查找到虛擬地址爲:0xb0000000;(注下圖爲內核源代碼rt_mmap.h中定義)ip

image

 

 

5.從分析get

image中知道此寄存器地址的每一位控制着不一樣的pin腳的GPIO模式,那麼本屌絲又去查看datasheet知:GPIO#68(即68引腳)對應GPIO控制寄存器的「RGMII2_GPIO_MODE」,以下圖:it

image

,所以查看」21. GPIOMODE: GPIO Purpose Select (offset: 0x0060)「知道該寄存器地址的第10位控制着」RGMII2_GPIO_MODE」,以下圖:io

image

從那麼有以上1~5這五可以肯定: 怎樣設置pin:68 GPIO模式.原理

 

6.那麼怎麼把數據輸送到pin68引腳呢?查看「ProgrammingGuid 中的PROGRAMMABLE I/O」 imagemap

  image知pin68對應的寄存器基地址Register Descriptions (base: 0x1000_0600)對應虛擬地址爲 #define RALINK_PIO_BASE         0xB0000600,偏移地址0x70im

查看image此寄存器地址對應的各位知:共32位每一位分別對應40~71引腳,那麼68引腳對應(68-40)即28

image

image

7.分析知還須要設置68引腳的方向:image

image

 

8.經過以上1~7卻定了:(1)怎麼設置pin68引腳爲GPIO MODE; (2)控制pin68的數據輸入輸出方向;(3)從哪一個地址位輸入數據到pin68

相關文章
相關標籤/搜索