3030
3131#define FSL_MEM_M33_TCM_OFFSET 0x200000U
3232#elif (__CORTEX_M == 7U )
33- /* The CM7 subsystem local TCM start address, refer to Reference Manual for detailed information */
34- #define FSL_MEM_M7_TCM_BEGIN 0x20000000U
35- /* The CM7 subsystem local TCM end address, refer to Reference Manual for detailed information */
36- #define FSL_MEM_M7_TCM_END 0x2007FFFFU
33+ /* The CM7 subsystem local ITCM start address, refer to Reference Manual for detailed information */
34+ #define FSL_MEM_M7_ITCM_BEGIN 0x00000000U
35+ /* The CM7 subsystem local ITCM end address, refer to Reference Manual for detailed information */
36+ #define FSL_MEM_M7_ITCM_END 0x0003FFFFU
3737
38- #define FSL_MEM_M7_TCM_OFFSET 0x400000U
38+ #define FSL_MEM_M7_ITCM_OFFSET 0x203C0000U
39+
40+ /* The CM7 subsystem local DTCM start address, refer to Reference Manual for detailed information */
41+ #define FSL_MEM_M7_DTCM_BEGIN 0x20000000U
42+ /* The CM7 subsystem local DTCM end address, refer to Reference Manual for detailed information */
43+ #define FSL_MEM_M7_DTCM_END 0x2007FFFFU
44+
45+ #define FSL_MEM_M7_DTCM_OFFSET 0x400000U
3946#else
4047#error "Device is not supported by this driver!"
4148#endif
@@ -76,9 +83,12 @@ static inline uint32_t MEMORY_ConvertMemoryMapAddress(uint32_t addr, mem_directi
7683 dest = addr + FSL_MEM_M33_TCM_OFFSET ;
7784 }
7885#elif (__CORTEX_M == 7U )
79- if ((addr >= FSL_MEM_M7_TCM_BEGIN ) && (addr <= FSL_MEM_M7_TCM_END ))
86+ if ((addr >= FSL_MEM_M7_ITCM_BEGIN ) && (addr <= FSL_MEM_M7_ITCM_END ))
87+ {
88+ dest = addr + FSL_MEM_M7_ITCM_OFFSET ;
89+ } else if ((addr >= FSL_MEM_M7_DTCM_BEGIN ) && (addr <= FSL_MEM_M7_DTCM_END ))
8090 {
81- dest = addr + FSL_MEM_M7_TCM_OFFSET ;
91+ dest = addr + FSL_MEM_M7_DTCM_OFFSET ;
8292 }
8393#endif
8494 else
@@ -96,10 +106,14 @@ static inline uint32_t MEMORY_ConvertMemoryMapAddress(uint32_t addr, mem_directi
96106 dest = addr - FSL_MEM_M33_TCM_OFFSET ;
97107 }
98108#elif (__CORTEX_M == 7U )
99- if ((addr >= (FSL_MEM_M7_TCM_BEGIN + FSL_MEM_M7_TCM_OFFSET )) &&
100- (addr <= (FSL_MEM_M7_TCM_END + FSL_MEM_M7_TCM_OFFSET )))
109+ if ((addr >= (FSL_MEM_M7_ITCM_BEGIN + FSL_MEM_M7_ITCM_OFFSET )) &&
110+ (addr <= (FSL_MEM_M7_ITCM_END + FSL_MEM_M7_ITCM_OFFSET )))
101111 {
102- dest = addr - FSL_MEM_M7_TCM_OFFSET ;
112+ dest = addr - FSL_MEM_M7_ITCM_OFFSET ;
113+ } else if ((addr >= (FSL_MEM_M7_DTCM_BEGIN + FSL_MEM_M7_DTCM_OFFSET )) &&
114+ (addr <= (FSL_MEM_M7_DTCM_END + FSL_MEM_M7_DTCM_OFFSET )))
115+ {
116+ dest = addr - FSL_MEM_M7_DTCM_OFFSET ;
103117 }
104118#endif
105119 else
@@ -112,7 +126,6 @@ static inline uint32_t MEMORY_ConvertMemoryMapAddress(uint32_t addr, mem_directi
112126 dest = addr ;
113127 break ;
114128 }
115-
116129 return dest ;
117130}
118131#if defined(__cplusplus )
0 commit comments