Skip to content

[Silicon Labs] Update of Silicon Labs HAL #3116

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 234 commits into from

Conversation

stevew817
Copy link
Contributor

This is general maintenance of the Silicon Labs HAL implementation to make use of some added features, such as the config system. Additionally, we moved to Gecko SDK 5.0.0 in preparation for new target support.

Be aware that I added _IM, _OM and IOM macros to the CMSIS core* headers, in order to be compatible with device headers based on CMSIS 4.2 and newer (which happened a few years ago). Those macros are required for the update to Gecko SDK 5.0.0 since it moved to those new macros.

jamike and others added 30 commits October 10, 2016 17:22
…oading from cache

 - pull_from_cache renamed to pdsc_from_cache
 - pack_from_cache added
 - index file member replaced with pdsc_file
 - pack_file member added to cache
*Changes*
- Parallel export
- mbed-os tests added
- specified release version (default to 5)
- default tests AND targets dependent on specified release version
theotherjimmy and others added 21 commits October 20, 2016 11:48
Started just because the line breaks were rendered badly on docs.mbed, but then I also did some proofreading.
Going to the rendered Doxy; the current link won't work on docs.mbed anyway, since it's relative to the repo
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
Removed deprecated defines MODULES_SIZE_* and moved the setting for the SPI asynch transfer queue size to targets.json, where it apparently belongs
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
* Use mbed_error
* Include cmsis headers by default when grabbing device.h
* Get rid of enum to uint casting in pinmap
mbed added configuration options for default serial baud rate and stdio baud rate, so we can get rid of the workaround in the HAL
* 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
The current version of cmsis shipping with mbed does not provide the __IOM and friends macros that became standard with CMSIS 4.2+. Patching these into CMSIS to allow vendors to continue updating their support libraries, awaiting a full CMSIS update in mbed (which is past due now).
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
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
To allow enabling of uVisor on EFM32, the ROM table must be accessed
through the CMSIS-provided SECURE_ACCESS macro.
@adbridge
Copy link
Contributor

/morph test

@0xc0170
Copy link
Contributor

0xc0170 commented Oct 24, 2016

@stevew817 please change the landing branch to master. All should go to master

@mbed-bot
Copy link

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test

Output

mbed Build Number: 933

All builds and test passed!

@stevew817 stevew817 changed the base branch from mbed-os-5.2 to master October 24, 2016 16:10
@stevew817
Copy link
Contributor Author

Closing this one, will make a new one once I rebase onto master

@stevew817 stevew817 closed this Oct 24, 2016
@stevew817 stevew817 changed the base branch from master to mbed-os-5.2 October 24, 2016 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.