学习了QQ2440 ADS环境的使用,其实以前也使用过。但这次感觉一切都更清楚了。
还没有仔细分析这段代码每一句的意义,明天再做吧。该睡觉了。
学会了锁相环等的设置,虽然不是很清楚这个是什么。
学会了UART的使用,向串口发数据。
虽然一切都很初级,但我还是要把这段代码贴出来,因为这是我终于进入了ARM开发的大门了。
- #include "def.h"
- #include "option.h"
- #include "2440addr.h"
- #include "2440lib.h"
- #include "2440slib.h"
- void __rt_lib_init(void);
- void delay(U32 tt)
- {
- U32 i;
- for (;tt > 0; tt--)
- {
- for(i = 0; i < 10000; i++){}
- }
- }
- int Main(int ragc, char** argv)
- {
- int i;
- U8 key;
- U32 mpll_val = 0;
- char szUart[255];
- #if ADS10
- __rt_lib_init(); // for ads 1.0
- #endif
- i = 2;
- switch(i)
- {
- case 0: //200
- key = 12;
- mpll_val = (92<<12)|(4<<4)|(1);
- break;
- case 1: //300
- key = 13;
- mpll_val = (67<<12)|(1<<4)|(1);
- break;
- case 2: //400
- key = 14;
- mpll_val = (92<<12)|(1<<4)|(1);
- break;
- case 3:
- key = 14;
- mpll_val = (102<<12)|(1<<4)|(1);
- break;
- default:
- key = 14;
- mpll_val = (92<<12)|(1<<4)|(1);
- }
- //init FCLK = 400, so change MPLL first
- ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);
- ChangeClockDivider(key, 12);
- MMU_DisableICache();
- MMU_DisableDCache();
- Uart_Init(0, 115200);
- Uart_Select(0);
- i = 0;
- while(i < 10)
- {
- Uart_SendString("Hello, GuanMingtao!/n");
- i++;
- }
- return 0;
- }