这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 使用VxWorks时出现了问题,请教各位,给点儿建议!cpu是MPC862

共4条 1/1 1 跳转至

使用VxWorks时出现了问题,请教各位,给点儿建议!cpu是MPC862

菜鸟
2008-08-20 17:30:07     打赏

自己编了个小程序,在Tornador里结合VxWorks一起.

程序很简单,就是读存储器!
xd0 = *(unsigned int *)(SDRAM_ADR);

xd1 = *(unsigned int *)(BOOTFLASH_ADR);

xd2 = *(unsigned short int *)(FLASH_ADR);

我的存储器有三种,一个是SDRAM,32位;一个是BootFLASH,32位;另一个也是FLASH,16位;但不做boot用.
问题出在第三个读.

前两个没问题,在读最后一个时,报错!是个异常!好象是存储器访问中断!

不知道为什么!

难道变量定义?unsigned int 是32位吗?unsigned short int 是16位吗?

或者,对于SDRAM和BOOTFLASH之外的存储器,在bsp里是不是有什么额外的设置,才能访问?

在VxWorks里应该能直接访问硬件吧.VxWorks不熟悉,没研究过,希望有高人指点!

 




关键词: 使用     VxWorks     出现     问题     请教     各位     点儿    

菜鸟
2008-08-21 17:23:08     打赏
2楼
在bsp 里的config.h里,对存储器的设置,是不是影响vxworks对存储器的操作?

如果,我有两个独立的SDRAM,一个cs1,一个cs2,那么在config.h里应该怎么设置?
是不是local_mem这里的大小是二者之和,地址要连续?

要是有两个独立的FLASH,是不是也是这样操作?只不过是在rom那个地方改?


现在的情况是,我有两个flash,在rom_size那里设成两个的和,读是没问题的.

但是,我要是有两个sdram,那是不是应该改local_mem那里?


因为系统之前做好了,没想到有这样的问题.现在要修改local_mem,挺麻烦,要改很多地方!

菜鸟
2008-08-27 10:03:48     打赏
3楼
还是自己给个答案吧
最后还是修改了ROM_SIZE,使得ROM空间包含了我需要的除了bootflash之外的其他存储器.
这样,在vxworks里就可以访问了.
目前是这样解决的.

其实,我是在测试dsp hpi接口与mpc862的通信的.因为要把dsp的内存作为mpc862的外部存储器的一部分.

菜鸟
2008-09-03 10:21:38     打赏
4楼
还是分开吧,修改sysLib.c里的存储器映射关系,单独列一个映射就好了.

放在bootflash里,会影响boot的.

共4条 1/1 1 跳转至

回复

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