From 36e06a1709bce2b565cd53c83a00c313ac029c20 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 28 Dec 2013 14:50:42 +1100 Subject: [PATCH] HAL_AVR: moved memcheck into HAL_AVR --- libraries/{memcheck => AP_HAL_AVR}/memcheck.cpp | 16 ++++++++-------- libraries/{memcheck => AP_HAL_AVR}/memcheck.h | 2 -- 2 files changed, 8 insertions(+), 10 deletions(-) rename libraries/{memcheck => AP_HAL_AVR}/memcheck.cpp (85%) rename libraries/{memcheck => AP_HAL_AVR}/memcheck.h (77%) diff --git a/libraries/memcheck/memcheck.cpp b/libraries/AP_HAL_AVR/memcheck.cpp similarity index 85% rename from libraries/memcheck/memcheck.cpp rename to libraries/AP_HAL_AVR/memcheck.cpp index 289c771fd1..e64134df64 100644 --- a/libraries/memcheck/memcheck.cpp +++ b/libraries/AP_HAL_AVR/memcheck.cpp @@ -1,4 +1,7 @@ /// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*- +/* + keep track of available memory on AVR + */ /* * note that we use a 32 bit sentinel to reduce the chance @@ -7,7 +10,8 @@ #include #include -#include + +#if (CONFIG_HAL_BOARD == HAL_BOARD_APM1 || CONFIG_HAL_BOARD == HAL_BOARD_APM2) static const uint32_t *stack_low; extern unsigned __brkval; @@ -28,7 +32,7 @@ static __attribute__((noinline)) const uint32_t *current_stackptr(void) * deep stack usage. It should be caught by the sentinel, but this * is an added protection */ -void memcheck_update_stackptr(void) +static void memcheck_update_stackptr(void) { if (current_stackptr() < stack_low) { uintptr_t s = (uintptr_t)(current_stackptr() - STACK_OFFSET); @@ -41,7 +45,6 @@ void memcheck_update_stackptr(void) */ void memcheck_init(void) { -#if CONFIG_HAL_BOARD == HAL_BOARD_APM1 || CONFIG_HAL_BOARD == HAL_BOARD_APM2 uint32_t *p; free(malloc(1)); // ensure heap is initialised stack_low = current_stackptr(); @@ -49,7 +52,6 @@ void memcheck_init(void) for (p=(uint32_t *)(stack_low-1); p>(uint32_t *)__brkval; p--) { *p = SENTINEL; } -#endif } /* @@ -58,13 +60,11 @@ void memcheck_init(void) */ unsigned memcheck_available_memory(void) { -#if CONFIG_HAL_BOARD == HAL_BOARD_APM1 || CONFIG_HAL_BOARD == HAL_BOARD_APM2 memcheck_update_stackptr(); while (*stack_low != SENTINEL && stack_low > (const uint32_t *)__brkval) { stack_low--; } return (uintptr_t)(stack_low) - __brkval; -#else - return 0x1000; -#endif } + +#endif // CONFIG_HAL_BOARD diff --git a/libraries/memcheck/memcheck.h b/libraries/AP_HAL_AVR/memcheck.h similarity index 77% rename from libraries/memcheck/memcheck.h rename to libraries/AP_HAL_AVR/memcheck.h index 8e099fa805..fdeec904d9 100644 --- a/libraries/memcheck/memcheck.h +++ b/libraries/AP_HAL_AVR/memcheck.h @@ -2,5 +2,3 @@ unsigned memcheck_available_memory(void); void memcheck_init(void); -void memcheck_update_stackptr(void); -