我用的芯片是2407,在外扩存储器时有几个问题搞不清楚,请各位帮我看看:
1. 假设我要外扩程序存储器,现在我将PS#跟存储器Flash的CE#连接(这里用#表示“反/非”的意思),要使Flash使能就必须使CE#为0,也就是要使PS#为0,那么怎么才能使PS#为0呢?
2. 如果我令MP/MC# = 0(从内部读取复位向量),那么能访问外部的存储器吗?如果能,那么假设我要读外部存储器0x0010地址处的值时,我应该用什么指令呢? 是 unsigned int getValue = 0; //定义一个内部变量 getValue = *(unsigned int*)0x0010; 还是 unsigned int getValue = 0; getValue = *(unsigned int*)(0x0010 + 0x8000);呢?
3. 如果我令MP/MC# = 1(从外部读取复位向量),那么怎么才能访问外部的存储器呢? 是 unsigned int getValue = 0; getValue = *(unsigned int*)0x0010; 还是 unsigned int getValue = 0; getValue = *(unsigned int*)(0x0010 + 0x8000);呢?
4. 接着第3个问题,此时还能访问内部的存储器吗?如果能的话怎么访问内部的存储器呢?如果不能的话,那么内部32K的Flash不是没用了吗;外扩的时候内部32K的Flash是不是始终都有用还是说外扩后就没用了?
|