Target.c
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:1k
源码类别:

uCOS

开发平台:

C/C++

  1. /* 初始化mini2440目标板 
  2. 1. 设定系统运行时钟频率
  3. 2. 端口初始化
  4. 3. MMU初始化
  5. 4. 串口初始化
  6. 5. LED指示灯初始化
  7. */
  8. #include "config.h"
  9. extern void Lcd_N35_Init(void);
  10. void TargetInit(void)
  11. {
  12.     int i;
  13. U8 key;
  14. U32 mpll_val=0;
  15.     #if ADS10   
  16.     __rt_lib_init(0,0); //for ADS 1.0
  17.  
  18.     #endif
  19.     
  20. i = 2 ; //use 400M!
  21. switch ( i ) {
  22. case 0: //200
  23. key = 12;
  24. mpll_val = (92<<12)|(4<<4)|(1);
  25. break;
  26. case 1: //300
  27. key = 14;
  28. mpll_val = (67<<12)|(1<<4)|(1);
  29. break;
  30. case 2: //400
  31. key = 14;
  32. mpll_val = (92<<12)|(1<<4)|(1);
  33. break;
  34. case 3: //440!!!
  35. key = 14;
  36. mpll_val = (102<<12)|(1<<4)|(1);
  37. break;
  38. default:
  39. key = 14;
  40. mpll_val = (92<<12)|(1<<4)|(1);
  41. break;
  42. }
  43. //init FCLK=400M, so change MPLL first
  44. ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);
  45. ChangeClockDivider(key, 12);    
  46.     //MMU_EnableICache();
  47.     //MMU_EnableDCache();
  48.     
  49.     MMU_DisableICache();
  50.     MMU_DisableDCache();
  51.    Port_Init();
  52.     MMU_Init();
  53.     Delay(0);
  54.     Uart_Init(0,115200);
  55.     Uart_Select(0);
  56.     Uart_SendString("hello,FriendlyARMn");
  57.     /*若使用printf语句,将使目标代码增加很多*/
  58.     // Uart_Printf("hello,qq2440, printfn");
  59.     
  60.    rGPBCON = 0x00555555;
  61.    rGPBDAT = 0x0000;
  62. //   rGPBDAT = 0x07ff;
  63.  //  Delay(0);
  64.  
  65.  }