现在需要在BBB的基础上增加SRAM来存储一些重要的数据,想把SRAM接在GPMC上,datasheet说是可以接的,但是看u-boot的源代码,没有看到SRAM相关的部分。如果要支持SRAM,软件需要做哪些设定?另外SRAM会采用电池单独供电,是否可行?
Jian Zhou:
GPMC本来就是可以连接SRAM的,如果要在U-boot下添加驱动,可以参考NAND部分的代码。
henghsi tsao:
回复 Jian Zhou:
Dear Jian Zhou:
谢谢你的comments。如果在GPMC接SRAM,是否只需要把IC的pinmux设置正确即可然后就可以通过片内地址0x0000000(看SPEC是0x0开始的5128M,不过,我们只需要用512K or 1M)来读写?因为没有找到参考代码,还需要帮忙指点。thanks
Ternence_Hsu:
回复 henghsi tsao:
SRAM 例子:https://e2e.ti.com/support/arm/sitara_arm/f/791/t/315716 希望可以帮到你!
leo chen:
回复 henghsi tsao:
pinmux只是引脚功能定义
还需要配置gpmc的相关控制寄存器
henghsi tsao:
回复 leo chen:
Hi, leo.
是否有GPMC相关控制器设定的参考代码?
另外,am3358的datasheet讲GPMC支持的最小memory是16M,但是我们用sram会是512K。不知道是否有问题
Steven Liu1:
回复 henghsi tsao:
我这里有个关于地址区域划分的介绍:http://www.deyisupport.com/files/m/sitara_arm/11905.aspx
对于时序配置,还是要根据你的sram的需求来。
另外,针对于你说的这个问题,不会有影响。你只是需要低512K的数据空间,对应到自己的sram就可以了。
henghsi tsao:
回复 Steven Liu1:
Steven:
谢谢你的信息。还有2个问题请教一下
1.对于每次一读写都需要2个片选的SRAM是否就没有办法支持?(比如 AS6C1616。 一个低,一个高)
2.如果接16BIT不复用的SRAM (比如AS6C1616),是不是地址要从A1开始(AM335x ARM® Cortex™-A8 Microprocessors Reference_Manual_1.pdf 中讲A0 not use)?
henghsi tsao:
回复 henghsi tsao:
https://e2e.ti.com/support/arm/sitara_arm/f/791/t/251339
A0是被跳过了,在16 bit里
Jian Zhou:
回复 henghsi tsao:
一般带2个CS的SRAM,在Linux下可以映射成两个不同的设备。
henghsi tsao:
回复 Jian Zhou:
目前这颗SRAM我datasheet不能映射成2段来用,因为他每一次读写都需要用到2个CS,1高1低。
另外请教下,需要从/proc/iomem中看到映射的部分,是不是只需要devicetree配置正确即可?无关hardware?
因为我的板子sram还没有接线好,我想先在BBB上看看。目前我在u-boot和dts中都配置了pinmux和register,
但是从/proc/iomem中只能看到gpmc@500000000,看不到我映射的sram 0x10000000的部分,cs选的0。