main.c
Upload User: tym7xi
Upload Date: 2018-01-17
Package Size: 6975k
Code Size: 3k
Development Platform:

C/C++

  1. //*------------------------------------------------------------------------------------------------
  2. //* 文件名 : main.c
  3. //* 功能描述 : 系统入口函数文件
  4. //* 作者     : 焦海波
  5. //* 版本 : 0.1
  6. //* 建立日期、时间 : 2007/05/25 17:00
  7. //* 最近修改日期、时间 : 
  8. //* 修改原因 : 
  9. //*------------------------------------------------------------------------------------------------
  10. //*------------------------------------------ 头文件 -----------------------------------------------
  11. #include "/uCOS-II/ucos_ii.h"
  12. #include "/at91sam7x256/include/AT91SAM7X256.h"
  13. #include "/at91sam7x256/include/lib_AT91SAM7X256.h"
  14. //*-------------------------------------- 常量及宏定义 ---------------------------------------------
  15. //*================================================================================================
  16. //* 函 数 区
  17. //*================================================================================================
  18. //*------------------------------------------------------------------------------------------------
  19. //* 函数名称 : __SystemInitialization
  20. //* 功能描述 : 初始化内核调度定时器并加载动态函数库到指定RAM
  21. //* 入口参数 : 无
  22. //* 出口参数 : 无
  23. //*------------------------------------------------------------------------------------------------
  24. static void __SystemInitialization(void)
  25. {
  26. AT91F_AIC_ConfigureIt(AT91C_BASE_AIC, AT91C_ID_SYS, AT91C_AIC_PRIOR_HIGHEST, AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, OSTickISR);
  27.     AT91C_BASE_AIC->AIC_IECR = 0x01 << AT91C_ID_SYS;
  28. }
  29. //*------------------------------------------------------------------------------------------------
  30. //* 函数名称 : __SetupHardware
  31. //* 功能描述 : 根据应用目的,对系统硬件进行初始化设置,主要是针对系统外围,AIC等的设置。上电复位期间使系统
  32. //*  : 能够正常运行的最基本硬件设置在AT91F_LowLevelInit()函数完成。
  33. //* 入口参数 : 无
  34. //* 出口参数 : 无
  35. //*------------------------------------------------------------------------------------------------
  36. static void __SetupHardware(void)
  37. {
  38. AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOB);
  39. AT91F_PIO_CfgOutput(AT91C_BASE_PIOB, AT91C_PIO_PB19 | AT91C_PIO_PB20 | AT91C_PIO_PB21 | AT91C_PIO_PB22);
  40. }
  41. //*------------------------------------------------------------------------------------------------
  42. //* 函数名称 : main
  43. //* 功能描述 : 系统入口
  44. //* 入口参数 : 无
  45. //* 出口参数 : 无
  46. //*------------------------------------------------------------------------------------------------
  47. int CMain(void)
  48. {
  49. __SetupHardware();
  50.     __SystemInitialization();
  51.          
  52.     OSInit();
  53.     
  54.     //* 建立任务
  55.     
  56. OSStart();
  57.     return(0);
  58. }