Skip to content

Commit 6d1d9bf

Browse files
committed
[hal] rtos: add defaults for configENABLE_HEAP_PROTECTOR, add canary hook for gen3
1 parent 29433d3 commit 6d1d9bf

File tree

5 files changed

+13
-0
lines changed

5 files changed

+13
-0
lines changed

hal/src/nRF52840/freertos/FreeRTOSConfig.h

+1
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ extern void vApplicationTaskDeleteHook(void *pvTaskToDelete, volatile long* pxPe
140140
#define configDYNAMIC_HEAP_SIZE ( 1 )
141141
#define configUSE_MALLOC_FAILED_HOOK ( 1 )
142142
#define configSUPPORT_STATIC_ALLOCATION ( 1 )
143+
#define configENABLE_HEAP_PROTECTOR (0) // TODO: enable
143144

144145
/* Co-routine definitions. */
145146
#define configUSE_CO_ROUTINES 0

hal/src/nRF52840/rtos_hook.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,11 @@ void vApplicationIdleHook(void) {
117117
}
118118
}
119119

120+
#if defined(configENABLE_HEAP_PROTECTOR) && configENABLE_HEAP_PROTECTOR == 1
121+
void vApplicationGetRandomHeapCanary( portPOINTER_SIZE_TYPE * pxHeapCanary ) {
122+
uint32_t canary = HAL_RNG_GetRandomNumber();
123+
*pxHeapCanary = canary;
124+
}
125+
#endif // defined(configENABLE_HEAP_PROTECTOR) && configENABLE_HEAP_PROTECTOR == 1
126+
120127
} // extern "C"

hal/src/rtl872x/freertos/FreeRTOSConfig.h

+2
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ extern void vApplicationTaskDeleteHook(void *pvTaskToDelete, volatile long* pxPe
111111
#define secureconfigTOTAL_SRAM_HEAP_SIZE ( ( ( size_t ) ( 6 * 1024 ) ) )
112112
#define secureconfigTOTAL_PSRAM_HEAP_SIZE ( ( ( size_t ) ( 128 * 1024 ) ) )
113113

114+
#define configENABLE_HEAP_PROTECTOR (0) // TODO: enable
115+
114116
/* Constants that build features in or out. */
115117
#define configUSE_MUTEXES 1
116118
#define configMUTEX_MULTI_STEP_PRIORITY_DISINHERITANCE 1

hal/src/rtl872x/freertos/FreeRTOSConfig_m23.h

+1
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ extern uint32_t SystemCoreClock;
8282
#define configDYNAMIC_HEAP_SIZE ( 1 )
8383
#define configHEAP_NO_ASSERT_OVERRIDE ( 1 )
8484
#define configSUPPORT_STATIC_ALLOCATION ( 1 )
85+
#define configENABLE_HEAP_PROTECTOR (0) // TODO: enable
8586

8687
/* Constants that build features in or out. */
8788
#define configUSE_MUTEXES 1

hal/src/rtl872x/rtos_hook.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,11 @@ void vApplicationIdleHook(void) {
120120
}
121121
}
122122

123+
#if defined(configENABLE_HEAP_PROTECTOR) && configENABLE_HEAP_PROTECTOR == 1
123124
void vApplicationGetRandomHeapCanary( portPOINTER_SIZE_TYPE * pxHeapCanary ) {
124125
uint32_t canary = HAL_RNG_GetRandomNumber();
125126
*pxHeapCanary = canary;
126127
}
128+
#endif // defined(configENABLE_HEAP_PROTECTOR) && configENABLE_HEAP_PROTECTOR == 1
127129

128130
} // extern "C"

0 commit comments

Comments
 (0)