From e8f67437d0007a2a4cd5a05afbd525a1960c188c Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 2 Apr 2016 13:05:59 +0000 Subject: Simulator updates, not complete. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9223 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/common/oslib/include/chmemcore.h | 2 ++ os/common/oslib/src/chmemcore.c | 9 ++++----- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'os/common/oslib') diff --git a/os/common/oslib/include/chmemcore.h b/os/common/oslib/include/chmemcore.h index 014af50d6..539d71ecf 100644 --- a/os/common/oslib/include/chmemcore.h +++ b/os/common/oslib/include/chmemcore.h @@ -49,7 +49,9 @@ * provide the @p __heap_base__ and @p __heap_end__ symbols. * @note Requires @p CH_CFG_USE_MEMCORE. */ +#if !defined(CH_CFG_MEMCORE_SIZE) || defined(__DOXYGEN__) #define CH_CFG_MEMCORE_SIZE 0 +#endif /*===========================================================================*/ /* Derived constants and error checks. */ diff --git a/os/common/oslib/src/chmemcore.c b/os/common/oslib/src/chmemcore.c index af733f395..d72bf73bb 100644 --- a/os/common/oslib/src/chmemcore.c +++ b/os/common/oslib/src/chmemcore.c @@ -86,12 +86,11 @@ void _core_init(void) { endmem = (uint8_t *)MEM_ALIGN_PREV(__heap_end__, PORT_NATURAL_ALIGN); /*lint restore*/ #else - static stkalign_t buffer[MEM_ALIGN_NEXT(CH_CFG_MEMCORE_SIZE) / - PORT_NATURAL_ALIGN]; + static uint8_t default_heap[MEM_ALIGN_NEXT(CH_CFG_MEMCORE_SIZE, + PORT_NATURAL_ALIGN)]; - nextmem = (uint8_t *)&buffer[0]; - endmem = (uint8_t *)&buffer[MEM_ALIGN_NEXT(CH_CFG_MEMCORE_SIZE) / - PORT_NATURAL_ALIGN]; + nextmem = (uint8_t *)MEM_ALIGN_NEXT(default_heap, PORT_NATURAL_ALIGN); + endmem = (uint8_t *)MEM_ALIGN_PREV(default_heap, PORT_NATURAL_ALIGN); #endif } -- cgit v1.2.3