海思3559av100 gpio操作

gpio操作就以一個點燈來舉例,本來不是很明白海思的說明,看了一些前輩的博文才明白:
海思芯片上GPIO操作步驟的整理

  • 原理圖
    在這裏插入圖片描述
    在這裏插入圖片描述
    在開發板上有個D8的led燈,需要點亮這個led,就需要控制LED_CONTROL1這個引腳,它對應的是3559av100芯片上的SHUB_GPIO3_6,這個引腳是可以複用的,所以對它的功能需要設置一下。

  • gpio設置說明
    下圖可以在 Hi3559AV100_PINOUT_CN.xlsx 找到。
    在這裏插入圖片描述
    在手冊中找到這個引腳說明,要把它複用爲gpio模式,需要對低四位寫00,但是它的默認值是0x1400,默認就是gpio,所以不需要配置也可。

    複用爲gpio功能已經沒問題了,再來看看gpio配置爲輸出模式:
    Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用戶指南.pdf
    在手冊中可以看到 SHUB GPIO3 的基地址爲 0x180D3000;
    Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用戶指南.pdf
    首先需要控制gpio方向,是輸出還是輸入,我這是點燈,需要輸出爲高電平,因此,在偏移0x400(0x180D3400)的地址寫1,表示輸出;
    在這裏插入圖片描述
    最後控制輸出。在這個地址偏移上需要好好理解下,圖中說PADDR[9:2]對應的就是data的偏移地址,
    我要控制的是shub gpio3_6,就是第三個gpio的第7位(GPIO_DATA[6]),那它對應的PADDR就是0b01_0000_0000,即爲0x100;就是在0x180D3100上寫0xff或者0x40。

  • 實驗
    利用海思提供的小工具 himm 進行測試,這個小工具可以直接操作寄存器:

    himm 0x018050078 0x1400
    himm 0x180D3400 0x40     //第7位置1,表示輸出模式,此處最好讀出來再去修改對應位
    himm 0x180D3100 0x00     //燈滅
    himm 0x180D3100 0xff     //燈;亮
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章