pom.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /** @file pom.h
  2. * @brief POM Driver Definition File
  3. * @date 29.May.2013
  4. * @version 03.05.02
  5. *
  6. */
  7. /* (c) Texas Instruments 2009-2013, All rights reserved. */
  8. #ifndef __POM_H__
  9. #define __POM_H__
  10. #include "reg_pom.h"
  11. /* USER CODE BEGIN (0) */
  12. /* USER CODE END */
  13. /** @enum pom_region_size
  14. * @brief Alias names for pom region size
  15. * This enumeration is used to provide alias names for POM region size:
  16. */
  17. enum pom_region_size
  18. {
  19. SIZE_32BYTES = 0U,
  20. SIZE_64BYTES = 1U,
  21. SIZE_128BYTES = 2U,
  22. SIZE_256BYTES = 3U,
  23. SIZE_512BYTES = 4U,
  24. SIZE_1KB = 5U,
  25. SIZE_2KB = 6U,
  26. SIZE_4KB = 7U,
  27. SIZE_8KB = 8U,
  28. SIZE_16KB = 9U,
  29. SIZE_32KB = 10U,
  30. SIZE_64KB = 11U,
  31. SIZE_128KB = 12U,
  32. SIZE_256KB = 13U
  33. };
  34. /** @def INTERNAL_RAM
  35. * @brief Alias name for Internal RAM
  36. */
  37. #define INTERNAL_RAM 0x08000000U
  38. /** @def SDRAM
  39. * @brief Alias name for SD RAM
  40. */
  41. #define SDRAM 0x80000000U
  42. /** @def ASYNC_MEMORY
  43. * @brief Alias name for Async RAM
  44. */
  45. #define ASYNC_MEMORY 0x60000000U
  46. typedef uint32 REGION_t;
  47. /** @struct REGION_CONFIG_ST
  48. * @brief POM region configuration
  49. */
  50. typedef struct
  51. {
  52. uint32 Prog_Reg_Sta_Addr;
  53. uint32 Ovly_Reg_Sta_Addr;
  54. uint32 Reg_Size;
  55. }REGION_CONFIG_t;
  56. /* USER CODE BEGIN (1) */
  57. /* USER CODE END */
  58. /**
  59. * @defgroup POM POM
  60. * @brief Parameter Overlay Module.
  61. *
  62. * The POM provides a mechanism to redirect accesses to non-volatile memory into a volatile memory
  63. * internal or external to the device. The data requested by the CPU will be fetched from the overlay memory
  64. * instead of the main non-volatile memory.
  65. *
  66. * Related Files
  67. * - reg_pom.h
  68. * - pom.h
  69. * - pom.c
  70. * @addtogroup POM
  71. * @{
  72. */
  73. /* POM Interface Functions */
  74. void POM_Region_Config(REGION_CONFIG_t *Reg_Config_Ptr,REGION_t Region_Num);
  75. void POM_Reset(void);
  76. void POM_Init(void);
  77. void POM_Disable(void);
  78. /**@}*/
  79. #endif /* __POM_H_*/