浅析AM335x GPMC模块地址区域的划分--TI--Sitara AM335x系列

news/2024/10/26 15:24:50/
        我们知道AM335x的GPMC模块作为一组并行的外部总线接口,使用的频率还是挺高的,在这上面可以挂NAND FLASH,NOR FLASH,FPGA,DM9000等等设备。
        使用的方式,从硬件方面来说,GPMC总线上挂的设备共享了数据线、地址线和一些控制线,然后由片选信号控制、使能对应的设备。这里需要提到一点,不同片选的地址空间配置、时序配置,都是分开的,参考TRM中关于GPMC_CONFIG1_i~GPMC_CONFIG7_i的配置说明,i的取值决定了写入的地址区间不同,对应的就是不同的片选。
软件配置上面,时序配置就不赘述了,主要有个问题容易引起大家疑惑,那个地址空间的配置是怎样的?下面就这个问题,简要解析一下:
        首先,GPMC是可以对每个片选上的设备进行地址区间的分配,配置起来也非常灵活。举个例子:对于片选0,我们把地址空间配置为0x0000_0000~0x0400_0000;对于片选1,地址空间配置成0x0600_0000~0x0A00_0000;这样完成配置了后,如果往0x0000_0004这个地址里写数据,由于它属于片选0的地址区间,所以这个时候CPU就会去使能片选0(拉低GPMC_CS0n),从而对片选0上的设备进行操作;如果写的是0x0600_0010地址空间,属于片选1的,就会去使能片选1(拉低GPMC_CS1n),操作片选1上的设备。通过这种方式,就实现对不同的设备操作。PS: 如果是对未分配的地址空间操作,则没有片选信号会拉低,操作无效;对于已经分配了的片选地址空间,一定要注意,不要交叠,以免发生冲突。
打开AM335x的TRM,第二章2.1 ARM Cortex-A8 Memory Map中可以看到,对GPMC的外部内存地址分配的空间为512MB,从0x0000_0000~0x1FFF_FFFF。这个意思就是说,GPMC给所有片选分配的地址空间都必须要在这个区域之内。每个片选的地址分布,是在GPMC_CONFIG7_i中定义的,可以参考TRM中详细的示例讲解,在这里时间有限,我就挑重点的说了。
        1. 首先要确定你是GPMC的device是NAND类型的,还是NOR类型的,在GPMC_CONFIG1中有定义,对于位宽的定义、同步、异步操作模式的定义也是在GPMIC_CONFIG1中定义的,不赘述。
        2. 时序,这一点根据你实际的NAND/NOR或者相关手册定义就好,配置到相应片选信号的GPMC_CONFIG中。
        3.地址,重点!GPMC_CONFIG7中:
        bit[6]明显是确定当前所在的片选信号是否可用,即为,当前的片选上是否挂有device需要使用。有就置为1即可。
        bit[11-8]这个mask address,其实是规划了当前片选地址空间的大小,注意最小为16MB。16MB的地址空间的跨度即为0~0x00FF_FFFF(低24位),所以在规划基地址的时候,只需要定义最高位即可,因为低位的地址,低24位都是可以由写入的地址区间来决定,只有基地址需要我们定义和片选相关联。
        bit[5-0]是base address,即为基地址的规划。上面提到过地址空间的最小规划为16MB地址空间跨度最小为为0~0x00FF_FFFF,对应的,这个基地址定义了高位上面的地址值(高8位),同时把这个地址与当前的片选相关联。举个例子,当前寄存器为GPMC_CONFIG7_0,当我的基地址规划为0x08,大小划归成16MB时,也就是说,我规划的片选0的地址空间为0x0800_0000 ~ 0x08FF_FFF;类似的,当我在寄存器中GPMC_CONFIG7_2的基地址定为0x0A,大小规划为128MB时,地址空间即为:起始地址:0x0A00_0000,结束地址为0x0A00_0000+0x08FF_FFFF=0x12FF_FFFF。
        最后强调两点:1.地址空间的分步,不要重叠;2.地址空间的区域要在0x0000_0000~0x1FFF_FFFF范围之内。

http://www.ppmy.cn/news/536894.html

相关文章

MIPI名称和参数

MIPI CSI DSI MIPI CSI DSI名称和参数1.pin 信号2.输出:3.VGA4.全局曝光5.VSYNC 模式三种: SOF(start of frame)信号后设置VSYNC拉高;6.两个内置的PLL 用于产生系统时钟。7.行消隐(HBlank)8.一个CLOCK几个lane是可以同时传输数据的…

MIPI简介

文章目录 1.MIPI来源2.MIPI联盟的显示规范标准 2.1 DSI/CSI分层 3.MIPI D-PHY 3.1 D-PHY配置3.2 D-PHY的工作模式 4.D-PHY两种模式的实现示意图 4.1 HS模式4.2 LP模式 5.D-PHY三种工作模式的数据传递示意图 5.1 时钟连续模式5.2 时钟普通模式(非连续时钟模式&#x…

1197. CMI

Description 给出一个1到n的排列,每次可以移动一个数到任意一个位置(第一个数前,最后一个数后或者两个数之间的位置)。问要达到状态1; 2; 3⋯⋯n至少移动多少次? Input 第一行一个正整数N。 第二行N个整数&#xff…

cmu15445 2023spring project01

Project #0 - C Primer 资源 课程主页 Bustub Github 在线测试网站 (Entry Code: 2KJRB5), 注意用外国大学以及gmail注册。 lab0资源 我的lab0实现,入门实现有困难的同学可以参考一下。 Backgroud 环境 我的是Ubuntu 9.4.0 vscode 语法 需要了解…

CMIP6入门 CMIP数据信息

CMIP6入门 最近学习CMIP6,一些有关CMIP6的入门资料在此分享。 1.相关文献 《第六次国际耦合模式比较计划(CMIP6)评述》周天军 链接: http://www.climatechange.cn/CN/10.12006/j.issn.1673-1719.2019.193 这篇文章介绍了CMIP的发展历程&…

CMU-15-445 lecture01

Database:对现实世界一些事物建模的、具有内部联系的数据。 Database Management System(DBMS):管理数据库的软件,早期的DBMS逻辑层和物理层高度耦合。 Data Model:描述数据库中数据形式的模型 Relational Model:SQLKey/Value、Graph、Doc…

苹果固件验证关闭服务器时间,大神展示苹果设备降级工具:恢复关闭验证固件...

iOS越狱开发者tihmstar宣布即将发布一款新的工具Prometheus(普罗米修斯,“偷火者”),他宣称这款工具支持苹果64位iOS设备升级或降级到任何固件,即使是关闭验证的固件版本。 如果这款工具正如他所说,那么这对越狱社区确实是大有用处…

iPAD越狱后下载破解版的pad软件方法总录

声明:本文所说的安装软件方法都不是原创,都是前人的经验,只不过为了方便大家,做一个整理。 一、事前的准备工作 1、还是先说越狱,网上越狱的方法不止一种,建议按照下文操作办法(在ipad上操作&am…