不过一根筋的我还是硬着头皮坚持使用IAR5.20,直到遇到IAR的杀招:系统从慢时钟想快时钟切换时就跑飞了,都是死在lowlevelinit()中的这一句上:AT91C_BASE_PMC->MC_MCKR |= AT91C_PMC_CSS_PLLA_CLK;然后将这一句放在主程序中,照死不误。使用过程中,总弹出一个警告,大致意思就是说:IAR安装目录下,bin文件夹下的armlibsupport.dll may be missing or corrupt.重新装后还是老样子。在LED闪烁程序上折腾一个多月未果后,才痛下决心转向KEIL。
刚才说的是,为啥要REMAP,接下来说怎么REMAP。开始的时候我就不清楚,都说REMAP,那怎么才能完成REMAP呢?都是手册看得少呀,其实上面说的已经很清楚了,我们用的at91sam9260更是简单,有专门的寄存器可以配置,MATRIX_MRCR—Master Remap Control Register,向这个寄存器相应位写1就可以了。网上还看到Samsung的某些ARM可以通过编程相应Bank寄存器改变其起始地址,来实现REMAP。