自己编了个小程序,在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用. 问题出在第三个读.
前两个没问题,在读最后一个时,报错!是个异常!好象是存储器访问中断!
不知道为什么!
难道,对于SDRAM和BOOTFLASH之外的存储器,在bsp里是不是有什么额外的设置,才能访问?
在VxWorks里应该能直接访问硬件吧.VxWorks不熟悉,没研究过,希望有高人指点!
另外, 在bsp 里的config.h里,对存储器的设置,是不是影响vxworks对存储器的操作?
如果,我有两个独立的SDRAM,一个cs1,一个cs2,那么在config.h里应该怎么设置? 是不是local_mem这里的大小是二者之和,地址要连续?
要是有两个独立的FLASH,是不是也是这样操作?只不过是在rom那个地方改?
现在的情况是,我有两个flash,在rom_size那里设成两个的和,读是没问题的.
但是,我要是有两个sdram,那是不是应该改local_mem那里?
因为系统之前做好了,没想到有这样的问题.现在要修改local_mem,挺麻烦,要改很多地方!
|