飛凌課堂 I AM5718 GPMC驅(qū)動示例講解

原創(chuàng) 2020-03-07 18:05:00 AM5718 GPMC驅(qū)動

一、GPMC簡介

GPMC的全稱是 General-Purpose Memory Controller,即通用存儲控制器,是TI的arm芯片AM5718用來與外部存儲設(shè)備例如NOR FLASH、NAND FLASH、SRAM等等通信的一個接口。這個接口并不是AM5718特有的,在BeagleBone Black、AM35XX等芯片上也有類似接口。 

 

特點:

1.靈活的 8 位和 16 位異步存儲器接口

2.具有多達(dá)8個片選

3.支持NAND、NOR、復(fù)用NOR和SRAM

4.最大支持512MB的片外存儲器連續(xù)地址空間的訪問

 

二、GPMC的硬件連接方式

1.GPMC 與 16位的地址數(shù)據(jù)復(fù)用的外部存儲設(shè)備設(shè)備連接:

 

2.GPMC 與16位的非復(fù)用外部存儲設(shè)備連接

 

3.GPMC 與8位的非復(fù)用外部存儲設(shè)備連接

 

4.GPMC與8位的NAND FLASH連接:

  

三、OK5718-C GPMC 總線接口

OK5718-C 預(yù)留出 GPMC 總線接口,引出 GPMC_AD[15: 0]數(shù)據(jù)地址復(fù)用信號,可作為總線設(shè)備
連接測試使用。定義如下


此示例中OK5718把GPMC接口配置為異步模式并設(shè)置NOR FLASH、地址數(shù)據(jù)線復(fù)用的模式,實際只使用到了如下I/O口,信號方向如下圖所示。

GPMC_AD[15:0]:  16位地址/數(shù)據(jù)線

GPMC_CS0/ GPMC_CS3:      片選信號

GPMC_OEN_REN:      輸出使能信號

GPMC_WEN:         寫使能信號

GPMC_ADVN_ALE:     地址有效信號

 

 

四、配置設(shè)備樹

linux內(nèi)核有關(guān)gpmc的講解可參考內(nèi)核目錄的下列文件:

OK57xx-linux-kernel/Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 

OK57xx-linux-kernel/Documentation/devicetree/bindings/mtd/gpmc-nor.txt

OK57xx-linux-kernel/Documentation/devicetree/bindings/mtd/gpmc-nand.txt

我們需要Ok5718修改的設(shè)備樹文件為OK57xx-linux-kernel/arch/arm/boot/dts/ok5718-idk.dts


下面為已經(jīng)調(diào)試好的設(shè)備樹代碼

1.增加Gpmc引腳配置

  

2.增加GPMC結(jié)點

配置片選引腳為3、Base address為0x8000000 和 地址空間為0x1000000。

ranges = <3 0 0x08000000 0x1000000>;

配置的各項時序參數(shù)。

 

四、實驗結(jié)果

將測試程序代碼交叉編譯后,將可執(zhí)行文件app-fram 拷貝到5718開發(fā)板

執(zhí)行app-fram read 命令

抓取CS3 ADVN和OEn的波形如下, GPMC一次的讀取周期大概為112ns。


通道1為片選信號CS3,通道2為輸出使能信號OEn


通道1為片選信號advn,通道2為輸出使能信號OEn


通道1為片選信號advn,通道2為輸出使能信號AD2 信號。

 

 點擊此處進(jìn)入源代碼下載地址>>   提取碼為:j89C


相關(guān)產(chǎn)品 >

  • OK5718-C開發(fā)板

    TIAM57x系列 AM5718開發(fā)板基于ARM+DSP多核異構(gòu)AM571x處理器設(shè)計,包含ARM Cortex-A15、ARM Cortex-M4、DSP、PRU、GPU多種不同架構(gòu),適用于工業(yè)通信、人機界面、HMI、自動化控制、工廠自動化、樓宇自動化、機器視覺、醫(yī)療成像、
    測試與測量、汽車多媒體等領(lǐng)域。如您對ARM+DSP、ARM+PRU、ARM+M4感興趣歡迎致電AM5718廠家咨詢電話400-699-6866
    了解詳情
    OK5718-C開發(fā)板
  • OKMX8MP-C開發(fā)板

    內(nèi)置NPU、ISP,AI計算能力高達(dá)2.3TOPS|飛凌嵌入式i.MX8MP 系列-NXP iMX8M Plus 開發(fā)板 基于高性能低功耗工業(yè)級iMX8MP核心板設(shè)計,支持多種多種高速通信接口。iMX8MP開發(fā)板內(nèi)置NPU,AI計算能力2.3TOPS,支持4K,支持雙圖像信號處理器(ISP),是一款支持LinuxQT/android操作系統(tǒng)的iMX8MP開發(fā)板。

    了解詳情
    OKMX8MP-C開發(fā)板

推薦閱讀 換一批 換一批