你好,我的dsp开发板中有例程访问外部存储器的。它是通过定义io变量 port8000 ,然后对其赋值,然后外部存储器就映射到了对应的数据空间的0x8000之后的空间。我有2个问题:
1、ioport变量的port8000中的8000为什么是8000,我只知道这个8000对应的是io空间的地址0x8000,我的理解是这个变量控制了几个io输出的电平高低,从而对外部存储器进行了片选和高地址位的选择,不知道我这么理解是否有问题?我不理解为什么是port8000而不是别的值,例如port5000之类的,我的dsp是tms320vc5416。
2、如果我定义了一个全局数组SRC「」,并且在程序开头用#pragma伪指令将它定位在.src段,.src段又被定位在存储器0x8000开始处。那么当我改变外部存储器(改为存储器B)的时候,调用该数组时,是不是内容已经变为存储器B低地址为0x8000处的内容了?在cmd文件中,可否对外部存储器进行分别的定位?即,存储器A定位在某个高于16未的地址,存储器B定位于另一个地址,然后对他们再进行sections的段分配,从而实现虽然低16位相同(例如段的起始地址都是0x8000),但是可以用不同的数组去分别表示?
期待你的答复,谢谢^_^