这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 是否要做内存映射

共9条 1/1 1 跳转至

是否要做内存映射

菜鸟
2005-01-13 19:11:57     打赏

pci卡用程序找到输入输出地址是0xac00,找到内存地址是0xf5223000,我对以0xac00为基地址操作没有什么效果,我想问0x5223000是不是内存映射,我该怎么对它操作,

还有,当pciFindDevice()发现这个设备,并且得到内存地址0xf5223000,系统有没有把这个地址映射到内存空间,如果不调用memAdd()函数向usrConfig.c中的内存中添加,系统会自动映射吗?我对这个地址操作有没有意义?谢谢

[em04]



关键词: 是否     要做     内存     映射    

菜鸟
2005-01-13 19:20:00     打赏
2楼
必须要映射。在sysLib.c的内存映射表中添加。

菜鸟
2005-01-14 20:34:00     打赏
3楼

谢谢版主和上面的朋友的帮助,我这就去试一试,然后把结果帖出来,

arm0xffff朋友说的动态加入的方法是否就是调用sysMmuAdd()这个函数,我在调用时候总是不对,能否对他调用的位置给一些提示,谢谢


菜鸟
2005-01-17 06:07:00     打赏
4楼

飞沙孤雁 朋友

"你应该把地址改为到i386得实模式下"

我不懂这句话什么意思,具体怎么操作阿,你能再解释一下吗,谢谢你


菜鸟
2005-01-17 06:25:00     打赏
5楼

请问sysMmuMapAdd()这个函数如果映射成功,在sysLib.c中相应位置能否看到映射进去的结果,我在使用sysMmuMapAdd()这个函数时没有报错,但我用*(0xf500600+偏移)操作时还是显示“page fault”,而且我打开sysLib.c中的PHYS_MEM_DESC sysPhysMemDesc [] =

并没有看到映射的结果啊,难道我需要先手动加入再用函数映射吗?


菜鸟
2005-01-17 16:40:00     打赏
6楼
我想问一下,PHYS_MEM_DESC sysPhysMemDesc [] 数组里元素具体的含义,可以解释一下吗?或者风河的哪个文档中提到了这个问题,我自己看。谢谢!

菜鸟
2005-01-18 00:12:00     打赏
7楼

不需要考虑实模式,因为那个时候,扩展内存已经初始化了。

PHYS_MEM_DESC sysPhysMemDesc [] 需要手动修改。元素的含义:映射后的虚拟内存开始地址,物理地址开始地址(这二者一般是一样的),存储空间的大小,然后是这块存储空间的属性和特性。


菜鸟
2005-01-18 22:30:00     打赏
8楼

lbtianya 朋友,我如果要对pci卡上的sja1000寄存器进行操作,我现在基本在大家指点下已经映射成功,但对sja1000的寄存器操作好像没有什么效果,不是说sja1000是内存映射吗,是应该用*((UINT32*)0xf5223000+偏移)来操作sja1000寄存器还是用pciConfigInLong(0xf5223000)来操作它的寄存器 ,我有点糊涂,还是理解本身不对 ,谢谢大家指点


菜鸟
2005-01-19 18:22:00     打赏
9楼
lbtianya 朋友,什么叫“用到总线号,设备号和功能号进行标识”,这些信息在得到pci空间基地址和中断线的过程中用到过,但在访问sja1000基地址时怎么用啊,我现在卡在这里没有进展,你再指点一下吧,或者告诉我应该看点什么,告诉我怎么进行标识,我没有找到相关的论述,谢谢了[em01][em01][em01]

共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]