5353#define FSL_MEM_M33_SYS_TCM_OFFSET (FSL_MEM_M33_SYS_TCM_BEGIN_FROM_EDMA_VIEW - FSL_MEM_M33_SYS_TCM_BEGIN)
5454
5555#elif defined(CPU_MIMX94398AVKM_cm33_core1 )
56+ /* For cm33 core1 system tcm from edma view */
57+ #define FSL_MEM_M33_CODE_TCM_BEGIN_FROM_EDMA_VIEW (0x209C0000U)
58+ #define FSL_MEM_M33_CODE_TCM_END_FROM_EDMA_VIEW (0x209FFFFFU)
59+
5660/* For cm33 core1 system tcm from edma view */
5761#define FSL_MEM_M33_SYS_TCM_BEGIN_FROM_EDMA_VIEW (0x20A00000U)
5862#define FSL_MEM_M33_SYS_TCM_END_FROM_EDMA_VIEW (0x20A3FFFFU)
5963
64+ /* For cm33 core1 code tcm from cortex-m33 core1 view */
65+ #define FSL_MEM_M33_CODE_TCM_BEGIN (0x0FFC0000U)
66+ #define FSL_MEM_M33_CODE_TCM_END (0x0FFFFFFFU)
67+
6068/* For cm33 core1 system tcm from cortex-m33 core1 view */
6169#define FSL_MEM_M33_SYS_TCM_BEGIN (0x20000000U)
6270#define FSL_MEM_M33_SYS_TCM_END (0x2003FFFFU)
6371
72+ #define FSL_MEM_M33_CODE_TCM_OFFSET (FSL_MEM_M33_CODE_TCM_BEGIN_FROM_EDMA_VIEW - FSL_MEM_M33_CODE_TCM_BEGIN)
73+
6474#define FSL_MEM_M33_SYS_TCM_OFFSET (FSL_MEM_M33_SYS_TCM_BEGIN_FROM_EDMA_VIEW - FSL_MEM_M33_SYS_TCM_BEGIN)
6575
6676#elif defined(CPU_MIMX94398AVKM_cm7_core0 )
6777
78+ /* For cm7 core0 itcm from edma view */
79+ #define FSL_MEM_M7_ITCM_BEGIN_FROM_EDMA_VIEW (0x203C0000U)
80+ #define FSL_MEM_M7_ITCM_END_FROM_EDMA_VIEW (0x203FFFFFU)
81+
6882/* For cm7 core0 dtcm from edma view */
6983#define FSL_MEM_M7_DTCM_BEGIN_FROM_EDMA_VIEW (0x20400000U)
7084#define FSL_MEM_M7_DTCM_END_FROM_EDMA_VIEW (0x2043FFFFU)
7185
86+ /* For cm7 core0 itcm from cortex-m7 core0 view */
87+ #define FSL_MEM_M7_ITCM_BEGIN (0x00000000U)
88+ #define FSL_MEM_M7_ITCM_END (0x0003FFFFU)
89+
7290/* For cm7 core0 dtcm from cortex-m7 core0 view */
7391#define FSL_MEM_M7_DTCM_BEGIN (0x20000000U)
7492#define FSL_MEM_M7_DTCM_END (0x2003FFFFU)
7593
94+ #define FSL_MEM_M7_ITCM_OFFSET (FSL_MEM_M7_ITCM_BEGIN_FROM_EDMA_VIEW - FSL_MEM_M7_ITCM_BEGIN)
95+
7696#define FSL_MEM_M7_DTCM_OFFSET (FSL_MEM_M7_DTCM_BEGIN_FROM_EDMA_VIEW - FSL_MEM_M7_DTCM_BEGIN)
7797
7898#elif defined(CPU_MIMX94398AVKM_cm7_core1 )
99+ /* For cm7 core1 itcm from edma view */
100+ #define FSL_MEM_M7_ITCM_BEGIN_FROM_EDMA_VIEW (0x202C0000U)
101+ #define FSL_MEM_M7_ITCM_END_FROM_EDMA_VIEW (0x202FFFFFU)
102+
79103/* For cm7 core1 dtcm from edma view */
80104#define FSL_MEM_M7_DTCM_BEGIN_FROM_EDMA_VIEW (0x20300000U)
81105#define FSL_MEM_M7_DTCM_END_FROM_EDMA_VIEW (0x2033FFFFU)
82106
107+ /* For cm7 core1 itcm from cortex-m7 core1 view */
108+ #define FSL_MEM_M7_ITCM_BEGIN (0x00000000U)
109+ #define FSL_MEM_M7_ITCM_END (0x0003FFFFU)
110+
83111/* For cm7 core1 dtcm from cortex-m7 core1 view */
84112#define FSL_MEM_M7_DTCM_BEGIN (0x20000000U)
85113#define FSL_MEM_M7_DTCM_END (0x2003FFFFU)
86114
115+ #define FSL_MEM_M7_ITCM_OFFSET (FSL_MEM_M7_ITCM_BEGIN_FROM_EDMA_VIEW - FSL_MEM_M7_ITCM_BEGIN)
116+
87117#define FSL_MEM_M7_DTCM_OFFSET (FSL_MEM_M7_DTCM_BEGIN_FROM_EDMA_VIEW - FSL_MEM_M7_DTCM_BEGIN)
88118
89119#else
@@ -121,12 +151,20 @@ static inline uint32_t MEMORY_ConvertMemoryMapAddress(uint32_t addr, mem_directi
121151 case kMEMORY_Local2DMA :
122152 {
123153#if (__CORTEX_M == 33U )
124- if ((addr >= FSL_MEM_M33_SYS_TCM_BEGIN ) && (addr <= FSL_MEM_M33_SYS_TCM_END ))
154+ if ((addr >= FSL_MEM_M33_CODE_TCM_BEGIN ) && (addr <= FSL_MEM_M33_CODE_TCM_END ))
155+ {
156+ dest = addr + FSL_MEM_M33_CODE_TCM_OFFSET ;
157+ }
158+ else if ((addr >= FSL_MEM_M33_SYS_TCM_BEGIN ) && (addr <= FSL_MEM_M33_SYS_TCM_END ))
125159 {
126160 dest = addr + FSL_MEM_M33_SYS_TCM_OFFSET ;
127161 }
128162#elif (__CORTEX_M == 7U )
129- if ((addr > FSL_MEM_M7_DTCM_BEGIN ) && (addr <= FSL_MEM_M7_DTCM_END ))
163+ if ((addr > FSL_MEM_M7_ITCM_BEGIN ) && (addr <= FSL_MEM_M7_ITCM_END ))
164+ {
165+ dest = addr + FSL_MEM_M7_ITCM_OFFSET ;
166+ }
167+ else if ((addr > FSL_MEM_M7_DTCM_BEGIN ) && (addr <= FSL_MEM_M7_DTCM_END ))
130168 {
131169 dest = addr + FSL_MEM_M7_DTCM_OFFSET ;
132170 }
@@ -140,13 +178,23 @@ static inline uint32_t MEMORY_ConvertMemoryMapAddress(uint32_t addr, mem_directi
140178 case kMEMORY_DMA2Local :
141179 {
142180#if (__CORTEX_M == 33U )
143- if ((addr >= (FSL_MEM_M33_SYS_TCM_BEGIN + FSL_MEM_M33_SYS_TCM_OFFSET )) &&
181+ if ((addr >= (FSL_MEM_M33_CODE_TCM_BEGIN + FSL_MEM_M33_CODE_TCM_OFFSET )) &&
182+ (addr <= (FSL_MEM_M33_CODE_TCM_END + FSL_MEM_M33_CODE_TCM_OFFSET )))
183+ {
184+ dest = addr - FSL_MEM_M33_CODE_TCM_OFFSET ;
185+ }
186+ else if ((addr >= (FSL_MEM_M33_SYS_TCM_BEGIN + FSL_MEM_M33_SYS_TCM_OFFSET )) &&
144187 (addr <= (FSL_MEM_M33_SYS_TCM_END + FSL_MEM_M33_SYS_TCM_OFFSET )))
145188 {
146189 dest = addr - FSL_MEM_M33_SYS_TCM_OFFSET ;
147190 }
148191#elif (__CORTEX_M == 7U )
149- if ((addr >= (FSL_MEM_M7_DTCM_BEGIN + FSL_MEM_M7_DTCM_OFFSET )) &&
192+ if ((addr >= (FSL_MEM_M7_ITCM_BEGIN + FSL_MEM_M7_ITCM_OFFSET )) &&
193+ (addr <= (FSL_MEM_M7_ITCM_END + FSL_MEM_M7_ITCM_OFFSET )))
194+ {
195+ dest = addr - FSL_MEM_M7_ITCM_OFFSET ;
196+ }
197+ else if ((addr >= (FSL_MEM_M7_DTCM_BEGIN + FSL_MEM_M7_DTCM_OFFSET )) &&
150198 (addr <= (FSL_MEM_M7_DTCM_END + FSL_MEM_M7_DTCM_OFFSET )))
151199 {
152200 dest = addr - FSL_MEM_M7_DTCM_OFFSET ;
0 commit comments