diff --git a/epicardium/FreeRTOSConfig.h b/epicardium/FreeRTOSConfig.h index 95ddf835db5d8be0722db87ee6b80b1a97dfa9e6..ba19e15a494b0c7f1c0ec17d0451fa4c6f052b39 100644 --- a/epicardium/FreeRTOSConfig.h +++ b/epicardium/FreeRTOSConfig.h @@ -12,8 +12,10 @@ /* TODO: Adjust this for tickless idle */ #define configTICK_RATE_HZ ((portTickType)1000) -/* Memory */ -#define configTOTAL_HEAP_SIZE ((size_t)(26 * 1024)) +/* Memory + * + * Heap is managed by libc (heap_3.c). + */ #define configMINIMAL_STACK_SIZE ((unsigned short)128) #define configMAX_PRIORITIES 5 diff --git a/epicardium/meson.build b/epicardium/meson.build index ea43d08b31f400e4b1eb77ea3306efc736ea0cf6..30510169f4e0a9f994ad860443439629e23f1c73 100644 --- a/epicardium/meson.build +++ b/epicardium/meson.build @@ -48,6 +48,7 @@ api_dispatcher_lib = static_library( freertos = static_library( 'freertos', freertos_sources, + freertos_heap3, dependencies: periphdriver, include_directories: [ freertos_includes, diff --git a/hw-tests/hello-freertos/meson.build b/hw-tests/hello-freertos/meson.build index c24b578658a9740dbf430d1a5ddaa74fd828a9ec..a7c154690bd97ea8b25b02a9d51f17570b22b6f7 100644 --- a/hw-tests/hello-freertos/meson.build +++ b/hw-tests/hello-freertos/meson.build @@ -3,6 +3,7 @@ name = 'hello-freertos' freertos = static_library( 'freertos', freertos_sources, + freertos_heap2, freertos_cli_sources, dependencies: periphdriver, include_directories: [ diff --git a/lib/FreeRTOS/meson.build b/lib/FreeRTOS/meson.build index 1a390f6d25f06c67e9b5b09d86171e555f3b311c..03b5e1577fea02e41b4021943801e14b05db6d1a 100644 --- a/lib/FreeRTOS/meson.build +++ b/lib/FreeRTOS/meson.build @@ -13,5 +13,12 @@ freertos_sources = files( './Source/timers.c', './Source/portable/GCC/ARM_CM4F/port.c', +) + +freertos_heap2 = files( './Source/portable/MemMang/heap_2.c', ) + +freertos_heap3 = files( + './Source/portable/MemMang/heap_3.c', +)