3210|5

56

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ARM扩展的问题 [复制链接]

我想用ARM的外部总线RDATA[15:0]和RADDR[25:0]扩展FPGA,在有操作系统的情况下,应该如何操作呢?是否还要写一个针对FPGA的驱动?请高手指点。
我看了芯片手册,ARM共有6个SROM扩展区域,片选为nRCS[5:0],这些区域正处于WinCE的低2GB的用户区,若用这些区域中的一个扩展FPGA,在有操作系统情况下,这个区域是否会与操作系统的进程空间相冲突?应如何处理?
望各位大哥指教。
此帖出自ARM技术论坛

最新回复

基本就是这样。不过地址映射,不是在程序里做的,而是在编译开始时就设好,由编译器调用并分配好的。该映射表将会加载到MMU中去。 假设nRCS2物理地址0x10000000,映射到虚拟地址0x81000000,在程序里,只需要这样 DWORD data = *((volatile DWORD*)(0x81000000)); //从0x81000000读数据 *((volatile DWORD*)(0x81000000)) = data; //向0x81000000写数据 还有,nRCS2是一段地址空间的片选,而不是一个地址,所以只要是这个地址段的地址,都可以这样操作。  详情 回复 发表于 2008-5-22 21:34
点赞 关注
 

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
不懂,不过利用片选应该是可以把地址分开的啊.
此帖出自ARM技术论坛
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
如果要用到FPGA的功能,那么当然要专门针对FPGA写个驱动。

nCS的地址空间是物理地址,WINCE的0-4GB空间是虚拟地址,经过转换管理后,系统中nCS的对应的空间就肯定不是物理地址空间了,具体地址你该看内存映射表,WINCE里都有。
此帖出自ARM技术论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
多谢楼上指教,是否是应按SRAM的形式扩展FPGA呢?仿照芯片手册上给的扩展SRAM的示例.
如果我想片选nRCS2,驱动中应该如何写语句?是否是下面这样,把FPGA的端口连到nRCS2的地址上:
PHYSICAL_ADDRESS FPGA_1 = {0x10000000,0};
DWORD fpga1 = (DWORD)MmMapIoSpace(FPGA_1,65536,FALSE);
还需要哪些代码和寄存器设置才能实现从外部总线读数据呢?
此帖出自ARM技术论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

5
 

FPGA连接的是物理地址
外设和存储器是统一编址的
经过映射后,二者的地址就不一样了,不会冲突
此帖出自ARM技术论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 3 楼 FrankLee1985 的回复:
多谢楼上指教,是否是应按SRAM的形式扩展FPGA呢?仿照芯片手册上给的扩展SRAM的示例.
如果我想片选nRCS2,驱动中应该如何写语句?是否是下面这样,把FPGA的端口连到nRCS2的地址上:
PHYSICAL_ADDRESS FPGA_1 = {0x10000000,0};
DWORD fpga1 = (DWORD)MmMapIoSpace(FPGA_1,65536,FALSE);
还需要哪些代码和寄存器设置才能实现从外部总线读数据呢?


基本就是这样。不过地址映射,不是在程序里做的,而是在编译开始时就设好,由编译器调用并分配好的。该映射表将会加载到MMU中去。

假设nRCS2物理地址0x10000000,映射到虚拟地址0x81000000,在程序里,只需要这样

DWORD data = *((volatile DWORD*)(0x81000000)); //从0x81000000读数据
*((volatile DWORD*)(0x81000000)) = data; //向0x81000000写数据

还有,nRCS2是一段地址空间的片选,而不是一个地址,所以只要是这个地址段的地址,都可以这样操作。
此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表