第一个ARM程序板子上运行了,程序节选如下<br />Keil MDK3.04环境下, LPC2104,11.0592MHz晶振<br /><br />#define _LED (1<<10)<br /><br />void Delay( INT32U m_sec ){<br /> INT32U i;<br /> while(m_sec--){<br /> for( i=2765; i; --i ); // 特别说明, 2765这个常数是在Keil环境下软件仿真得到的, 仿真前设置晶振11.0592MHz<br /> }<br />}<br /><br />int main( void ){<br /> ...<br /><br /> for(;;){<br /> IOSET = _LED1;<br /> delay(500); // 延时500ms<br /> IOCLR = _LED1;<br /> delay(500); // 延时500ms<br /> }<br />}<br /><br />以上程序在FLASH中运行时(禁止MAM),LED闪烁速度明显的慢,放到RAM中运行则速度比较正常。在Keil的Startup.s文件中允许MAM模块,再放到FLASH中运行则速度也比较正常了。<br /><br />Keil的Startup.s文件中默认是关闭PLL的,也就是说我的主频应该就是晶振的频率11.0592MHz,但按照手册上说20MHz以下可以不用开MAM模块,哪我到底是要不要开MAM呢?! |
|