SmartSnippets DA1459x SDK
bsp_memory_defaults_da1459x.h
Go to the documentation of this file.
1 
43 #ifndef BSP_MEMORY_DEFAULTS_DA1459X_H_
44 #define BSP_MEMORY_DEFAULTS_DA1459X_H_
45 
46 
47 #if defined(CONFIG_USE_BLE)
48 
49 
50 /* The maximum expected RAM area in bytes for ROM patches */
51 #define __ROM_PATCHES_MAX_AREA_BYTES (10 * 1024)
52 
53 /* The remaining RAM area in bytes for ROM patches */
54 #define __ROM_PATCHES_REMAINING_AREA_BYTES (__ROM_PATCHES_MAX_AREA_BYTES - CMAC_AREA_CURRENT_PATCH_SIZE)
55 
65 #ifndef dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES
66 #define dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES __ROM_PATCHES_MAX_AREA_BYTES
67 #endif
68 
69 #if (dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES < __ROM_PATCHES_REMAINING_AREA_BYTES)
70 #warning "Non-recommended SYSRAM size is reserved for future ROM patches." \
71  "Accepting future ROM patches is in risk."
72 #endif
73 
74 #else /* non-BLE case */
75 
76 #define dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES (0)
77 
78 #endif /* CONFIG_USE_BLE */
79 
80 
81 #ifdef dg_config_RETAINED_UNINIT_SECTION_SIZE
82 #error "dg_config_RETAINED_UNINIT_SECTION_SIZE is deprecated! "\
83  "Please use dg_configRETAINED_UNINIT_SECTION_SIZE instead (no underscore)!"
84 #endif
85 
96 #ifndef dg_configRETAINED_UNINIT_SECTION_SIZE
97 #if defined(CONFIG_USE_BLE)
98 #define dg_configRETAINED_UNINIT_SECTION_SIZE (200)
99 #else
100 #define dg_configRETAINED_UNINIT_SECTION_SIZE (128)
101 #endif /* defined(CONFIG_USE_BLE) */
102 #endif /* dg_configRETAINED_UNINIT_SECTION_SIZE */
103 
109 #ifndef dg_configQSPI_CODE_SIZE_AA
110 #define dg_configQSPI_CODE_SIZE_AA (256 * 1024) /* Take into account CMI firmware size */
111 #endif
112 
113 #if (dg_configCODE_LOCATION == NON_VOLATILE_IS_QSPI_FLASH)
114 
123 #ifndef dg_configQSPI_MAX_IMAGE_SIZE
124 #define dg_configQSPI_MAX_IMAGE_SIZE ( IMAGE_PARTITION_SIZE )
125 #endif
126 
127 #if dg_configQSPI_MAX_IMAGE_SIZE < dg_configQSPI_CODE_SIZE_AA
128 #error "dg_configQSPI_MAX_IMAGE_SIZE cannot be smaller than dg_configQSPI_CODE_SIZE_AA"
129 #endif
130 #endif /* (dg_configCODE_LOCATION == NON_VOLATILE_IS_QSPI_FLASH) */
131 
137 #ifndef dg_configQSPI_CACHED_RAM_SIZE_AA
138 # if dg_configENABLE_MTB
139 /* Reserve space at the end of RAM for MTB. */
140 # define dg_configQSPI_CACHED_RAM_SIZE_AA (96 * 1024 - (MTB_BUFFER_SIZE) - (dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES))
141 # else
142 # define dg_configQSPI_CACHED_RAM_SIZE_AA (96 * 1024 - (dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES))
143 # endif
144 #endif
145 
151 #ifndef dg_configEFLASH_CODE_SIZE_AA
152 #define dg_configEFLASH_CODE_SIZE_AA (120 * 1024) /* Take into account CMI firmware size */
153 #endif
154 
155 #if (dg_configCODE_LOCATION == NON_VOLATILE_IS_EMBEDDED_FLASH)
156 
165 #ifndef dg_configEFLASH_MAX_IMAGE_SIZE
166 #define dg_configEFLASH_MAX_IMAGE_SIZE ( IMAGE_PARTITION_SIZE )
167 #endif
168 
169 #if dg_configEFLASH_MAX_IMAGE_SIZE < dg_configEFLASH_CODE_SIZE_AA
170 #error "dg_configEFLASH_MAX_IMAGE_SIZE cannot be smaller than dg_configEFLASH_CODE_SIZE_AA"
171 #endif
172 #endif /* (dg_configCODE_LOCATION == NON_VOLATILE_IS_EMBEDDED_FLASH) */
173 
179 #ifndef dg_configEFLASH_CACHED_RAM_SIZE_AA
180 # if dg_configENABLE_MTB
181 /* Reserve space at the end of RAM for MTB. */
182 # define dg_configEFLASH_CACHED_RAM_SIZE_AA (96 * 1024 - (MTB_BUFFER_SIZE) - (dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES))
183 # else
184 # define dg_configEFLASH_CACHED_RAM_SIZE_AA (96 * 1024 - (dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES))
185 # endif
186 #endif
187 
193 #ifndef dg_configRAM_CODE_SIZE_AA
194 /* CODE and RAM are merged into a single RAM section */
195 # if dg_configENABLE_MTB
196 /* Reserve space at the end of RAM for MTB. */
197 # define dg_configRAM_CODE_SIZE_AA (96 * 1024 - (MTB_BUFFER_SIZE) - (dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES))
198 # else
199 # define dg_configRAM_CODE_SIZE_AA (96 * 1024 - (dg_configRESERVED_RAM_SIZE_FOR_ROM_PATCHES))
200 # endif /* dg_configENABLE_MTB */
201 #endif /* dg_configRAM_CODE_SIZE_AA */
202 
215 #ifndef dg_configMEM_RETENTION_MODE
216 #define dg_configMEM_RETENTION_MODE RETMEM_RETAIN_ALL
217 #endif
218 
219 #if (dg_configCODE_LOCATION == NON_VOLATILE_IS_QSPI_FLASH)
220 # if (dg_configEXEC_MODE == MODE_IS_CACHED)
221 # define CODE_SIZE dg_configQSPI_CODE_SIZE_AA
222 # define RAM_SIZE dg_configQSPI_CACHED_RAM_SIZE_AA
223 # else // MIRRORED
224 # error "QSPI mirrored mode is not supported!"
225 # endif
226 #elif (dg_configCODE_LOCATION == NON_VOLATILE_IS_NONE)
227 # if (dg_configEXEC_MODE == MODE_IS_CACHED)
228 # pragma message "RAM cached mode is not supported! Resetting to RAM (mirrored) mode!"
229 # undef dg_configEXEC_MODE
230 # define dg_configEXEC_MODE MODE_IS_RAM
231 # endif
232 # define CODE_SIZE dg_configRAM_CODE_SIZE_AA
233 # if (CODE_SZ > 512)
234 # error "The used CODE_SZ value exceed the total amount of RAM!"
235 # endif
236 #elif (dg_configCODE_LOCATION == NON_VOLATILE_IS_EMBEDDED_FLASH)
237 # if (dg_configEXEC_MODE == MODE_IS_CACHED)
238 # define CODE_SIZE dg_configEFLASH_CODE_SIZE_AA
239 # define RAM_SIZE dg_configEFLASH_CACHED_RAM_SIZE_AA
240 # else // MIRRORED
241 # error "EFLASH mirrored mode is not supported!"
242 # endif
243 #else
244 # error "Unknown configuration..."
245 #endif /* dg_configCODE_LOCATION */
246 
253 #if ((dg_configCODE_LOCATION == NON_VOLATILE_IS_QSPI_FLASH) || (dg_configCODE_LOCATION == NON_VOLATILE_IS_EMBEDDED_FLASH)) && (dg_configEXEC_MODE == MODE_IS_CACHED)
254 #ifndef dg_configUSE_SEGGER_FLASH_LOADER
255 #define dg_configUSE_SEGGER_FLASH_LOADER (1)
256 #endif /* dg_configUSE_SEGGER_FLASH_LOADER */
257 #endif /* (dg_configCODE_LOCATION == NON_VOLATILE_IS_QSPI_FLASH) || (dg_configCODE_LOCATION == NON_VOLATILE_IS_EMBEDDED_FLASH)) && (dg_configEXEC_MODE == MODE_IS_CACHED)*/
258 
259 
260 #endif /* BSP_MEMORY_DEFAULTS_DA1459X_H_ */
261