summaryrefslogtreecommitdiffstatshomepage
path: root/cc3200/hal
diff options
context:
space:
mode:
authordanicampora <danicampora@gmail.com>2015-03-02 14:11:02 +0100
committerdanicampora <danicampora@gmail.com>2015-03-11 16:59:29 +0100
commit26cbc91373cdfff43317da01e102617ed5885655 (patch)
tree21291ed917e4452d0712de1d270b1eb2f60a24ff /cc3200/hal
parent02fda44a30d114dbcead18df44c3ec3aefec61cd (diff)
downloadmicropython-26cbc91373cdfff43317da01e102617ed5885655.tar.gz
micropython-26cbc91373cdfff43317da01e102617ed5885655.zip
cc3200: Place functions only used while booting in a special section.
Such functions are never used after MicroPython has started, and they remain in RAM wasting space. Now they are placed in a special section named "boot" which sits just before the heap, allowing us to extend the effective heap area up to the new boot section. Right now, this gives us back ~1K, but in the future, more functions might end up in there as well.
Diffstat (limited to 'cc3200/hal')
-rw-r--r--cc3200/hal/cc3200_hal.c3
-rw-r--r--cc3200/hal/startup_gcc.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/cc3200/hal/cc3200_hal.c b/cc3200/hal/cc3200_hal.c
index e1ae0eafcb..3860641161 100644
--- a/cc3200/hal/cc3200_hal.c
+++ b/cc3200/hal/cc3200_hal.c
@@ -78,7 +78,8 @@ extern void (* const g_pfnVectors[256])(void);
/******************************************************************************
DEFINE PUBLIC FUNCTIONS
******************************************************************************/
-
+
+__attribute__ ((section (".boot")))
void HAL_SystemInit (void) {
MAP_IntVTableBaseSet((unsigned long)&g_pfnVectors[0]);
diff --git a/cc3200/hal/startup_gcc.c b/cc3200/hal/startup_gcc.c
index ecae05bdc5..2d364f87d1 100644
--- a/cc3200/hal/startup_gcc.c
+++ b/cc3200/hal/startup_gcc.c
@@ -60,6 +60,7 @@ extern uint32_t __init_data;
// Forward declaration of the default fault handlers.
//
//*****************************************************************************
+__attribute__ ((section (".boot")))
void ResetISR(void);
#ifdef DEBUG
static void NmiSR(void) __attribute__( ( naked ) );