Commit Graph

33 Commits (mbed-os-5.3)

Author SHA1 Message Date
Jaeden Amero 0bd09b0189 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-13 13:26:38 +00:00
Jaeden Amero faf9b06fa5 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-30 11:19:57 +00:00
Alessandro Angelino 61f569b216 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-30 11:16:58 +00:00
Steven Cooreman ec29f2e3f2 Revert "[EFR32] Adding hardware acceleration for mbed TLS"
This reverts commit c0301b15d2.
2016-12-19 14:37:57 +00:00
Steven Cooreman cb69b98fcd Revert "[EFR32] Move the mbedTLS hardware acceleration code to EFR32 family"
This reverts commit a0f62b1e4f.
2016-12-19 14:37:25 +00:00
Steven Cooreman cf461c504f Move Nanostack driver to Nanostack folder
mbed compile doesn't support two different FEATURE_X folders being merged, so we'll have to move our nanostack driver into the Nanostack folder for the time being.
2016-12-19 14:37:23 +00:00
Steven Cooreman 8486cb67cf Make RTX using ARMCC aware of reserved stack and heap 2016-12-19 14:37:20 +00:00
Steven Cooreman 4ea645abcc Fix linker script for ARMCC
Updated available RAM size and increased reserved heap to 4K
2016-12-19 14:37:18 +00:00
Steven Cooreman 90e967b1e4 Prevent compiling Nanostack driver without Nanostack 2016-12-19 14:37:16 +00:00
Steven Cooreman 47c4f5c46f Move the mbedTLS hardware acceleration code to EFR32 family 2016-12-19 14:37:10 +00:00
Steven Cooreman 008de9d39f Initial radio driver
First check-in of the EFR32 radio driver for Nanostack
2016-12-19 14:37:08 +00:00
Steven Cooreman 24c01c2a7b Adding hardware acceleration for mbed TLS
Initial check-in of hardware acceleration support on EFR32 for mbed TLS (AES, SHA and ECC).
2016-12-19 14:37:07 +00:00
Steven Cooreman f2982dd276 Add initial support for EFR32
Adding target definitions and the HAL implementation for EFR32 Mighty Gecko
2016-12-19 14:35:07 +00:00
Steven Cooreman 29e1e7af2f Move board controller pin setting to config system 2016-12-19 14:35:05 +00:00
Steven Cooreman 162801ecac Move board controller pin setting to config system 2016-12-19 14:35:03 +00:00
Steven Cooreman a9fe108266 [EFM32] NVIC virtualization was not committed for CM0
This is a workaround to fix the breaking build until someone adds NVIC virtualization to the CM0plus CMSIS header
2016-10-25 09:51:25 -07:00
Steven Cooreman 220363b099 This one slipped through 2016-10-24 18:30:03 +02:00
Alessandro Angelino eb86d12aee EFM32: Add support for uVisor 2016-10-24 18:29:51 +02:00
Alessandro Angelino 371d652a04 EFM32: Use SECURE_ACCESS to access the ROM table
To allow enabling of uVisor on EFM32, the ROM table must be accessed
through the CMSIS-provided SECURE_ACCESS macro.
2016-10-24 18:29:37 +02:00
Steven Cooreman 0b6ed71626 [EFM32] Move clock configuration to target settings
Moving the per-board clock configuration (which oscillators are available on the board, their frequencies, and which ones to use) as config options to the target database. This way, they're more easily overridable when third parties start creating boards with EFM32 MCUs
2016-10-24 18:29:25 +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 6315147faf [EFM32] Use serial configuration from platform
mbed added configuration options for default serial baud rate and stdio baud rate, so we can get rid of the workaround in the HAL
2016-10-24 18:25:11 +02:00
Steven Cooreman 1f3003fb22 [EFM32] Small fixes
* Use mbed_error
* Include cmsis headers by default when grabbing device.h
* Get rid of enum to uint casting in pinmap
2016-10-24 18:24:59 +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
Steven Cooreman 6574f4d0a4 [EFM32] Clean up per-target Modules.h
Removed deprecated defines MODULES_SIZE_* and moved the setting for the SPI asynch transfer queue size to targets.json, where it apparently belongs
2016-10-24 18:24:33 +02:00
Steven Cooreman b766c48744 [EFM32] Condense common header files
First wave of squashing header files in order to get to a more sensible folder tree.
* Moved header files with 100% similarity to common folder
* Created a CommonPinNames.h header containing the base pin names P[A-F][0-15] and NC
2016-10-24 18:23:51 +02:00
Alessandro Angelino f818aa17a2 EFM32: Add support for uVisor 2016-10-10 11:43:56 +01:00
Alessandro Angelino b01b7c5019 EFM32: Use SECURE_ACCESS to access the ROM table
To allow enabling of uVisor on EFM32, the ROM table must be accessed
through the CMSIS-provided SECURE_ACCESS macro.
2016-10-10 11:43:56 +01:00
Alessandro Angelino d1ad26f7ea EFM32: Make NVIC functions virtualizable
With CMSIS 5, the NVIC functions are virtualizable. Rename the EFM32
NVIC functions to support being virtualized.
2016-10-10 11:43:56 +01:00
Christopher Haster 26ced98734 restructure - Restructured cmsis directory
targets/cmsis -> cmsis
targets/cmsis/TARGET_* -> targets/TARGET_*/device
targets/cmsis/TARGET_*/mbed_rtx.h -> targets/TARGET_*/mbed_rtx.h
2016-10-04 17:51:44 -05:00
Christopher Haster 0bad622a16 restructure - Moved targets out to top level
hal/targets -> targets
hal/targets.json -> targets/targets.json
2016-09-30 19:18:09 -05:00