S3C2440A学习笔记
2010-12-17—root
使用TQ2440开发板,RAM地址为0x30000000~0x34000000共64MB,调试环境为JlinkV8和MDK_V4.0。
在RAM中调试的方法:
将下面的代码保存为tq2440.ini文件
_WWORD(0x53000000, 0x00000000) ; /* disable Watch-dog */
_WWORD(0x4A000008, 0xFFFFFFFF); /* disable interrupt */
_WWORD(0x4A00001C, 0x00007FFF);
_WWORD(0x48000000, 0x2212D110);
_WWORD(0x48000004, 0x00000F40);
_WWORD(0x48000008, 0x00002E50);
_WWORD(0x4800000C, 0x00002E50);
_WWORD(0x48000010, 0x00002E50);
_WWORD(0x48000014, 0x00002E50);
_WWORD(0x48000018, 0x00002E50);
_WWORD(0x4800001C, 0x00018005);
_WWORD(0x48000020, 0x00018005);
_WWORD(0x48000024, 0x00960542);
_WWORD(0x48000028, 0x00000032);
_WWORD(0x4800002C, 0x00000030);
_WWORD(0x48000030, 0x00000030);
然后在下图的initialization file处加入tq2440.ini文件
在Utility选项不要选下载,按图选就可以了
UART中断调试
1. 在rUCONn里设置收发模式为Interrupt request or polling mode
2. 在rINTMSK取消UART中断屏蔽位
3. 在rINTSUBMASK取消UART发送或接收的中断屏蔽位
4. 在中断服务程序里要读取rURXHn寄存器,否则即使清除了中断标示位,下次收到数据也不会再进中断(不读取rURXHn只能产生一次中断)
5. 在rSRCPND和rSRCSUBPND清除相应的中断源标示位
6. 在rINTPND清除中断标示位
开cache和不开cache程序的执行时间有明显的区别,开cache明显快了很多,用LED的亮灭可以证明这一点