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

uCOS

开发平台:

C/C++

  1. /**************************************************************
  2.  NAME: option.h
  3.  DESC: To measuure the USB download speed, the WDT is used.
  4.        To measure up to large time, The WDT interrupt is used.
  5.  HISTORY:
  6.  Feb.20.2002:Shin, On Pil: Programming start
  7.  Mar.25.2002:purnnamu: S3C2400X profile.c is ported for S3C2440X.
  8.  Jan.E.2004:DonGo: Modified for S3C2440a.
  9.  **************************************************************/
  10.  
  11. #ifndef __OPTION_H__
  12. #define __OPTION_H__
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #include "Def1.h"
  17. #ifndef ADS10
  18. #define ADS10  TRUE
  19. #endif
  20. #define USE_MAIN FALSE  // change USE_MAIN value in option.a together  
  21. #define SEMIHOSTING FALSE
  22. //USE_MAIN & SEMIHOSTING are valid only if ADS10==TRUE.
  23. #if !ADS10
  24.     #undef USE_MAIN
  25.     #define USE_MAIN FALSE
  26. #endif
  27. #if !USE_MAIN
  28.     #undef SEMIHOSTING
  29.     #define SEMIHOSTING FALSE
  30. #endif
  31. #define MEGA (1000000)
  32. ///////////////////// clock select ///////////////////////////////////////////////
  33. #define CPU2440A TRUE // else CPU2440X
  34. #define FIN  (12000000)
  35. //#define FIN (16934400)
  36. // Main clock
  37. #if FIN==12000000
  38. //#define FCLK 304800000
  39. //#define FCLK 300000000
  40. //#define FCLK 304800000
  41. #define FCLK 400000000
  42. //#define FCLK 451200000
  43. //#define FCLK 532800000
  44. #if FCLK==271500000
  45. #define HCLK (FCLK/2)
  46. #define PCLK (HCLK/2)
  47. #elif FCLK==304800000
  48. #define HCLK (FCLK/3)
  49. #define PCLK (HCLK/2)
  50. #elif FCLK==300000000
  51. #define HCLK (FCLK/4)
  52. #define PCLK (HCLK/2)
  53. #elif FCLK==400000000
  54. #define HCLK (FCLK/4)
  55. #define PCLK (HCLK/2)
  56. #elif FCLK==451200000
  57. #define HCLK (FCLK/4)
  58. #define PCLK (HCLK/2)
  59. #elif FCLK==532800000
  60. #define HCLK (FCLK/4)
  61. #define PCLK (HCLK/2)
  62. #endif
  63. #else //FIN=16.9344MHz
  64. #define FCLK 296352000
  65. #if FCLK==266716800
  66. #define HCLK (FCLK/2)
  67. #define PCLK (HCLK/2)
  68. #elif FCLK==296352000
  69. #define HCLK (FCLK/3)
  70. #define PCLK (HCLK/2)
  71. #elif FCLK==399651840
  72. #define HCLK (FCLK/3)
  73. #define PCLK (HCLK/2)
  74. #elif FCLK==530611200
  75. #define HCLK (FCLK/4)
  76. #define PCLK (HCLK/2)
  77. #elif FCLK==541900800
  78. #define HCLK (FCLK/4)
  79. #define PCLK (HCLK/2)
  80. #endif
  81. #endif
  82. /////////////////////////////////////////////////////////////////////
  83. // USB clock
  84. #define UCLK 48000000
  85. // BUSWIDTH : 16,32
  86. #define BUSWIDTH    (32)
  87. //64MB
  88. // 0x30000000 ~ 0x30ffffff : Download Area (16MB) Cacheable
  89. // 0x31000000 ~ 0x33feffff : Non-Cacheable Area
  90. // 0x33ff0000 ~ 0x33ff47ff : Heap & RW Area
  91. // 0x33ff4800 ~ 0x33ff7fff : FIQ ~ User Stack Area
  92. // 0x33ff8000 ~ 0x33fffeff : Not Useed Area
  93. // 0x33ffff00 ~ 0x33ffffff : Exception & ISR Vector Table
  94. #define _RAM_STARTADDRESS  0x30000000
  95. #define _ISR_STARTADDRESS  0x33ffff00     
  96. #define _MMUTT_STARTADDRESS 0x33ff8000
  97. #define _STACK_BASEADDRESS 0x33ff8000
  98. #define _NONCACHE_STARTADDRESS 0x31000000
  99. #if !USE_MAIN
  100. #define HEAPEND    0x43ff0000     //obsolete if USE_MAIN is TRUE.
  101. #endif
  102. //USB Device Options
  103. #define USBDMA 1
  104. #define USBDMA_DEMAND  0 //the downloadFileSize should be (64*n)
  105. #define BULK_PKT_SIZE 64
  106. #define UPDATE_REFRESH(IN_HCLK) ( rREFRESH = (rREFRESH & ~(0x7ff)) | 2049-(U32)((float)IN_HCLK*7.8/1000000) )
  107. //CLKSEL0/1 Clock selection value define
  108. #define CLK_HCLK (3)
  109. #define CLK_PCLK (4)
  110. #define CLK_DCLK (5)
  111. #ifdef __cplusplus
  112. }
  113. #endif
  114. #endif /*__OPTION_H__*/