Commit Graph

10 Commits (68e59a11b9a98775e285b14fd84394cf1214d778)

Author SHA1 Message Date
Aksel Skauge Mellbye 5d906a74e6 [Silicon Labs] Add bootloader support
* Make memory sections configurable in linker files
* Dynamically determine vector location in flash for NVIC relocation
* Advertise bootloader support in targets.json
2017-06-06 16:26:11 -05:00
Steven Cooreman ca91e7c2d5 Update to Gecko SDK 5.1.2
Updating CMSIS device headers
2017-03-20 16:34:12 +01:00
Jaeden Amero 378655f40c uVisor: Standardize available legacy heap and stack
With the RTOS, the STACK_SIZE specified here is unrelated to the stack
size available for the main thread (that runs pre_main). Save memory by
reducing the stack size to a more reasonable amount.

On uVisor, HEAP_SIZE is both a minimum available and maximum available
heap size. The heap can't grow beyond the end of the heap into the
neighboring stack. On all uVisor-supported platforms, guarantee at least
0x6000 bytes of heap space. This increases the portability of uVisor
applications as the memory available for legacy heap allocations is
guaranteed. This helps to avoid out of memory errors on platforms that
were previously guaranteeing less memory.
2017-02-07 16:46:38 +00:00
Jaeden Amero 95e5fec8d0 EFM32GG: Fix GCC_ARM linker script
A copy paste error snuck into the uVisor related updates to the EFM32GG
linker script. Fix the error by replacing "m_data" with "RAM".

Fixes: 89641bc7e0 "uVisor: Update K64F and EFM32GG linker scripts"
2017-01-19 17:13:40 +00:00
Alessandro Angelino 89641bc7e0 uVisor: Update K64F and EFM32GG linker scripts
This commit improves consistency between different platforms' linker
scripts. In particular, we use "__UVISOR_SRAM_START" instead of
"__UVISOR_BSS_START" as the uVisor BSS sections might be outside of the
SRAM (for example, when using a tightly-coupled memory).
2017-01-10 13:15:54 +00:00
Alessandro Angelino eb86d12aee EFM32: Add support for uVisor 2016-10-24 18:29:51 +02:00
Steven Cooreman 758d160384 [EFM32] Collapse NVIC relocation handling
Gecko SDK 5.0.0 provides a convenient define for the amount of vectors wired on the chip, so we can use that to collapse the cmsis_nvic.h header
2016-10-24 18:29:00 +02:00
Steven Cooreman 3c450f1b37 [EFM32] Update emlib to version 5.0.0 in preparation for new targets
* Updated cmsis headers to match emlib 5.0.0
* Updated GPIO handling to match new header guards in use
* Updated linker scripts to match emlib 5.0.0
2016-10-24 18:26:02 +02:00
Steven Cooreman bb03e8c9e4 [EFM32] More condensation 2016-10-24 18:25:21 +02:00
Steven Cooreman 4df6986100 [EFM32] Use targets.json to improve directory structure
Now that we have targets.json, we get target inheritance and can use it to clean up the EFM32 folder structure.
* In the top-level EFM32 folder, there are now folders per MCU family (Giant, Leopard, ...)
* Those family folders contain the CMSIS headers in the 'device' subfolder, as well as global family headers (i.e. mapping of pins to peripherals)
* Inside of the family folder, there is a per-target folder containing target settings. In the future, we'll want to get rid of those by using the config system provided by targets.json
2016-10-24 18:24:49 +02:00