请教一下嵌入式Linux下SRAM驱动的开发
现在要做一个项目FPGA和ARM-linux通讯。中间的缓存芯片是SRAM。通过这个SRAM,FPGA和ARM进行数据交互。哪位坛友有这方面的开发经验或者思路呢? FPGA 需要做个总线仲裁吧。 浮华一生 发表于 2019-4-1 17:29
FPGA 需要做个总线仲裁吧。
这个不是问题,fpga这边只要做好分时复用就行了。主要是arm这边不知道如何来挂载sram和驱动。 chun2495 发表于 2019-4-1 17:33
这个不是问题,fpga这边只要做好分时复用就行了。主要是arm这边不知道如何来挂载sram和驱动。 ...
这个就是属于协议层了吧。比如 Magic Number让FPGA确定 ARM这边已经可以正常读写SRAM了之类得。 浮华一生 发表于 2019-4-1 17:50
这个就是属于协议层了吧。比如 Magic Number让FPGA确定 ARM这边已经可以正常读写SRAM了之类得。...
可能我表达的不清楚,其实可以描述成“linux下sram驱动的开发和应用”这个问题。 chun2495 发表于 2019-4-1 18:10
可能我表达的不清楚,其实可以描述成“linux下sram驱动的开发和应用”这个问题。 ...
Sram属于arm硬件资源,有的话直接配置下寄存器,直接就可以用地址访问数据了,很简单。如果芯片不支持sram的话,怎么折腾也没用,io模拟不现实! hongfadg 发表于 2019-4-1 18:22
Sram属于arm硬件资源,有的话直接配置下寄存器,直接就可以用地址访问数据了,很简单。如果芯片不支持sra ...
对得, 配置一下就是访问地址得事情 C 一个指针搞定啊 哈哈 hongfadg 发表于 2019-4-1 18:22
Sram属于arm硬件资源,有的话直接配置下寄存器,直接就可以用地址访问数据了,很简单。如果芯片不支持sra ...
不是用sram当Linux内存的,是用来做通讯数据的,也可以这样配置吗? SRAM是FPGA驱动的,FPGA实现双端口ram,arm通过FPGA写SRAM,如果缓存大小和数据流匹配,可以做成实时写入,否则加busy信号 chun2495 发表于 2019-4-1 19:44
不是用sram当Linux内存的,是用来做通讯数据的,也可以这样配置吗?
sram没有驱动这一说啊。
它是挂在你的单片机的外部总线上吧?就表现为一块正常的sram吧?也就是除了你正常的系统主ram之外,这里还有一小块特殊的双口ram,它也是有地址的。
那么在应用程序里面直接用mmap把这一片地址映射过来就行了,然后它的表现就跟你程序里别的内存没区别,随便用个指针指过去读写就可以了。
为了跟fpga可以通迅,一般来说在fpga里面还得做几个寄存器,对吧。但是,在linux里面看来这几个控制寄存器的操作还是跟那一块ram没区别,无非是地址不同 两者之间应该弱耦合,避免大量数据在两这之间转移 chun2495 发表于 2019-4-1 19:44
不是用sram当Linux内存的,是用来做通讯数据的,也可以这样配置吗?
Stm32fsmclcd驱动楼主研究下,这个研究明白了,你就全明白了! hongfadg 发表于 2019-4-1 20:39
Stm32fsmclcd驱动楼主研究下,这个研究明白了,你就全明白了!
这个裸机的搞过。就是Linux下的没弄过。网上也说是字符设备。当究竟怎样操作 还是一头雾水…… redroof 发表于 2019-4-1 19:55
sram没有驱动这一说啊。
它是挂在你的单片机的外部总线上吧?就表现为一块正常的sram吧?也就是除了你正 ...
有没有这一块的例程?第一次玩这个有点无从下手。 楼主应该断了这个方式念头,sram要很多引脚,你没办法连接到你芯片。难道你与linux原来自带DDR存储共用地址数据吗? chun2495 发表于 2019-4-1 21:49
有没有这一块的例程?第一次玩这个有点无从下手。
在用户看来就是没有驱动。内存无需驱动。
如果非要说驱动,其实是由你cpu的外部总线控制器来驱动它。取决于你cpu的型号,或许你得正确的初始化总线控制器,按硬件设计师接的地址来初始化,比如设定用哪个片选,读写周期多少之类。不过一般来说你的bsp里面应该自带这些的。
这些做好后,它就是普通的物理内存而已,打开de/mem文件,用mmap映射一下就可以读写了 NJ8888 发表于 2019-4-1 22:06
楼主应该断了这个方式念头,sram要很多引脚,你没办法连接到你芯片。难道你与linux原来自带DDR存储共用地址 ...
难道不是简单的挂在cpu的外总线上吗?有那么麻烦嘛。很多cpu的ddr内存接口是单独的,然后另有一个普通的外总线接口,随便你挂什么东西,比如外置网卡,外置usb控制器之类 NJ8888 发表于 2019-4-1 22:06
楼主应该断了这个方式念头,sram要很多引脚,你没办法连接到你芯片。难道你与linux原来自带DDR存储共用地址 ...
那如果用iic或者spi来通讯的话,是否可以满足需求(大概一次200000byte数据) chun2495 发表于 2019-4-2 18:28
那如果用iic或者spi来通讯的话,是否可以满足需求(大概一次200000byte数据) ...
spi快些,你一次需要多少时间传输完成?linux写spi访问如果用通常驱动方式,效率不高。要mmap写寄存器 chun2495 发表于 2019-4-2 18:28
那如果用iic或者spi来通讯的话,是否可以满足需求(大概一次200000byte数据) ...
你先给岀你的arm的型号,看它有没有单独的外总线。用共享ram来跟fpga通迅当然是性能最好的,只是比较费引脚。。。。 很多项目都是arm和fpga配合,当做sram来操作,这样速度和难度都还可以,当成sram并不是接到ddr2接口上,像ti fsl这些芯片都有专门的外部总线接口,复用下就可以了,还可以用zynq这样的一体芯片,非常方便,刚用zynq做了个8轴控制器的项目,比分开的方便太多了,通讯带宽也非常高。 redroof 发表于 2019-4-2 18:59
你先给岀你的arm的型号,看它有没有单独的外总线。用共享ram来跟fpga通迅当然是性能最好的,只是比较费引 ...
itop-4412这块板子 三星的exynos4412 NJ8888 发表于 2019-4-2 18:46
spi快些,你一次需要多少时间传输完成?linux写spi访问如果用通常驱动方式,效率不高。要mmap写寄存器 ...
实时图像 500*400 ,大概每秒10帧吧 boyiee 发表于 2019-4-2 19:20
很多项目都是arm和fpga配合,当做sram来操作,这样速度和难度都还可以,当成sram并不是接到ddr2接口上,像t ...
我这个主要是跑界面,上安卓的,问过他们,说目前不能跑安卓。 boyiee 发表于 2019-4-2 19:20
很多项目都是arm和fpga配合,当做sram来操作,这样速度和难度都还可以,当成sram并不是接到ddr2接口上,像t ...
难道不是fpga—sram—linux这种硬件结构吗? pbwy123123 发表于 2019-7-29 17:19
楼主这其实是FPGA驱动,数据流是SRAM->FPGA->ARM LINUX, FPGA是挂在arm的总线接口的,需要初始化总线接口及 ...
是这个思路,现在项目选用IMX6Q+FPGA方案。
IMX6Q通过EIM总线进行读写FPGA操作。
FPGA分析EIM时序,对SRAM进行读写,完成通讯。 chun2495 发表于 2019-8-12 08:38
是这个思路,现在项目选用IMX6Q+FPGA方案。
IMX6Q通过EIM总线进行读写FPGA操作。
FPGA分析EIM时序,对SRA ...
你们还没做完啊 浮华一生 发表于 2019-8-12 08:47
你们还没做完啊
已经完了
页:
[1]