-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[Silicon Labs] Update of Silicon Labs HAL #3122
[Silicon Labs] Update of Silicon Labs HAL #3122
Conversation
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.
@stevew817 Could you please take a look at the Travis failure? |
This is a workaround to fix the breaking build until someone adds NVIC virtualization to the CM0plus CMSIS header
Aliased a few macros that changed name from SDK4.x to SDK5.x. in order to make the USB library play nice with SDK5.0.0
/morph test |
Result: SUCCESSYour command has finished executing! Here's what you wrote!
Outputmbed Build Number: 944 All builds and test passed! |
@mbed-bot: TEST HOST_OSES=ALL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
[Build 1064] |
Failure is still from an unrelated board in mbed 2, looks OK |
Ports for Upcoming Targets Fixes and Changes 2966: Add kw24 support ARMmbed/mbed-os#2966 3068: MultiTech mDot - clean up PeripheralPins.c and add new pin names ARMmbed/mbed-os#3068 3089: Kinetis HAL: Remove clock initialization code from serial and ticker ARMmbed/mbed-os#3089 2943: [NRF5] NVIC_SetVector functionality ARMmbed/mbed-os#2943 2938: InterruptIn changes in NCS36510 HAL. ARMmbed/mbed-os#2938 3108: Fix sleep function for NRF52. ARMmbed/mbed-os#3108 3076: STM32F1: Correct timer master value reading ARMmbed/mbed-os#3076 3085: Add LOWPOWERTIMER capability for NUCLEO_F303ZE ARMmbed/mbed-os#3085 3046: [BEETLE] Update BLE stack on Beetle board ARMmbed/mbed-os#3046 3122: [Silicon Labs] Update of Silicon Labs HAL ARMmbed/mbed-os#3122 3022: OnSemi RAM usage fix ARMmbed/mbed-os#3022 3121: STM32F3: Correct UART4 and UART5 defines when using DEVICE_SERIAL_ASYNCH ARMmbed/mbed-os#3121 3142: Targets- NUMAKER_PFM_NUC47216 remove mbed 2 ARMmbed/mbed-os#3142
Rebase of PR #3116
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. See issue #2944