Commit Graph

5085 Commits (a74c4ce57f46bfab35d0cc32b3057d68eafba612)

Author SHA1 Message Date
Anna Bridge c0feb1a659
Merge pull request #10390 from kjbracey-arm/armc6_fpu_sel
Correct some CPU selections in tools
2019-04-26 13:32:29 +01:00
Anna Bridge b1cd3dab16
Merge pull request #10258 from davidsaada/david_remove_feature_storage
Remove FEATURE_STORAGE and all underlying deprecated features
2019-04-26 13:31:37 +01:00
Anna Bridge 536da479dc
Merge pull request #10018 from deepikabhavnani/stm32_heap_armc6
STM: Update linker script for using SRAM1 and SRAM2 in ARM
2019-04-26 13:30:42 +01:00
Kevin Bracey 87396e0bf6 Assembler atomics
Reimplement atomic code in inline assembly. This can improve
optimisation, and avoids potential architectural problems with using
LDREX/STREX intrinsics.

API further extended:
* Bitwise operations (fetch_and/fetch_or/fetch_xor)
* fetch_add and fetch_sub (like incr/decr, but returning old value -
  aligning with C++11)
* compare_exchange_weak
* Explicit memory order specification
* Basic freestanding template overloads for C++

This gives our existing C implementation essentially all the functionality
needed by C++11.

An actual Atomic<T> template based upon these C functions could follow.
2019-04-26 13:12:35 +03:00
Steven Cooreman b16adea258 Remove sleep lock/unlock from HAL
The sleep locking/unlocking is taken care of by the layer above (driver).
2019-04-26 09:54:24 +02:00
Malavika Sajikumar f11f63ddcf AWAKE signal turned on at system init for SDP-K1 board.
- Setting AWAKE signal high in the SystemInit() to ensure VIO supply to daughter boards through SDP and Arduino connectors.
2019-04-25 23:49:19 -07:00
Malavika Sajikumar 869e48dad0 Improvements made to PinNames.h of SDP-K1 board.
PinNames.h:
- Removing definition of Status LED.
- Redefining SPI and I2C pin names using Arduino pins names.
2019-04-25 23:49:19 -07:00
Volodymyr Medvid c98f91e375 PSOC6: move mbed_sdk_init to mbed_overrides.c
Purposes:
* Remove MbedOS-specific code from system_psoc6_{cm4,cm0plus}.c
  to simplify updates to new PDL version (startup code is part of PDL).
* Unify mbed_sdk_init initialization sequence for both CPU cores.
  This change is non-functional, sequence itself is not changed for any
  of the PSoC 6 M4/M0 PSA/non-PSA targets.
2019-04-23 14:44:56 +03:00
Juho Eskeli 443974b864 STM32L4xx: IAR linker file updated to better use available memory 2019-04-23 12:53:53 +03:00
Kevin Bracey 20ac1c9266 KW24D: Use default ARM compiler (ARMC6)
KW24D was set to ARMC5 because the ARMC6 tooling didn't correctly handle
Cortex-M4 without floating-point. Now fixed.
2019-04-23 12:04:20 +03:00
fred.li 417051244d PDMC support for ARMCC and IAR 2019-04-22 21:06:42 +08:00
fred.li 4d52639e3d Remove invalid device_name 2019-04-22 15:23:17 +08:00
fred.li 784f2a070a Add configuration to support PDMC compile
Configurable flash size for UNO_91H
2019-04-22 14:30:36 +08:00
Martin Kojtal 97693b7bbe
Merge pull request #10387 from kjbracey-arm/add_fpu_atmel
Atmel SAMG55: Cortex-M4 -> Cortex-M4F
2019-04-18 14:16:58 +01:00
Martin Kojtal 9157902af9
Merge pull request #10386 from kjbracey-arm/add_fpu_arm
ARM MPS2: Cortex-M4 -> M4F & M7 -> M7FD
2019-04-18 13:40:12 +01:00
Martin Kojtal b6a2c7b63f
Merge pull request #10019 from deepikabhavnani/uarm_fix
uARM - Move heap region after IRAM1
2019-04-18 12:49:56 +01:00
Martin Kojtal d2e9fde701
Merge pull request #10413 from kfnta/cy_rollup
Cypress PSoC6 rollup PR
2019-04-18 12:26:32 +01:00
Martin Kojtal 3ec9c190d0
Merge pull request #10314 from kjbracey-arm/rt1050_dcache
i.MX RT1050: Reactivate data cache
2019-04-18 09:49:13 +01:00
Martin Kojtal fc12229df9
Merge pull request #10412 from lrusinowicz/flash_api_fix
FUTURE_SEQUANA: Fix flash_api bug introduced with e16d2d81d9
2019-04-18 08:20:31 +01:00
Martin Kojtal ea1394724b
Merge pull request #10419 from lrusinowicz/warning_cleanup
FUTURE_SEQUANA: Clean up "unused variable" compiler warnings
2019-04-17 15:47:21 +01:00
Kevin Bracey a5d0c1c00b ARM MPS2: Cortex-M4 -> M4F & M7 -> M7FD
According to their cmsis.h, FPU is present, so change targets.json to
use it.

* ARM_MPS2_M4: already was Cortex-M4F
* ARM_MPS2_M7: Cortex-M7 -> M7FD
* FVP_MPS2_M4: Cortex-M4 -> M4F
* FVP_MPS2_M7: Cortex-M7 -> M7FD

If they do not in fact have FPU, then cmsis.h should be modified to set
`__FPU_PRESENT` to 0. This will currently cause compilation problems
with ARMC6, but I'll be submitting a fix for that.
2019-04-17 12:57:46 +03:00
Martin Kojtal beed42e666
Merge pull request #10382 from kjbracey-arm/add_fpu_sdpk1
SDP_K1: Cortex-M4 -> Cortex-M4F
2019-04-17 10:46:09 +01:00
ccli8 61271d0df6 [NUC472] Get around unknown error with power-down
On NUC472, on wake-up from power-down mode, we may meet hard fault or some other
unknown error. Before its cause is found, we enter idle mode instead for a workaround.
To simulate power-down mode with idle mode, we also disable us_ticker during
power-down period.
2019-04-17 16:47:22 +08:00
Martin Kojtal 6c40386bb7
Merge pull request #10383 from kjbracey-arm/add_fpu_gd32
GigaDevice: Cortex-M4 -> Cortex-M4F
2019-04-17 09:19:38 +01:00
Martin Kojtal c961a5d834
Merge pull request #9870 from ChangwuShan/Re-enable_MPS2_platform
Re-enable MPS2 platform
2019-04-17 08:02:14 +01:00
Leszek Rusinowicz ab8b573138 FUTURE_SEQUANA: Clean up "unused variable" compiler warnings
Clean up compiler warnings coming from PDL read-out of peripheral
interrupt status registers.
2019-04-16 16:59:53 +02:00
Leszek Rusinowicz f81fbab9f0 FUTURE_SEQUANA: Fix flash_api bug introduced with e16d2d81d9
PDL Flash API requires that the data buffer is 32-bit aligned, otherwise
programming can hung. Buffer declared as uint8_t array is not always
properly aligned, e.g. with gcc 6 when -Os option is used.
2019-04-16 11:20:11 +02:00
Lei Zhang eb38b16551 PSOC6: Add WICED library build for ARMC6
- Also remove WICED library build for ARMC5
2019-04-16 11:51:39 +03:00
Hennadiy Kytsun 2417392419 CY8CKIT_062_WIFI_BT_PSA: mention tools/psa/release.py in README 2019-04-16 11:50:48 +03:00
Hennadiy Kytsun 20a302db2e PSOC6: remove __attribute__((constructor)) from SystemInit 2019-04-16 11:50:47 +03:00
Hennadiy Kytsun 28113a23cc PSOC6: rebuild CY8CKIT_062_WIFI_BT_PSA prebuilt HEX files 2019-04-16 11:50:47 +03:00
Hennadiy Kytsun 786d0c9b47 FUTURE_SEQUANA: reuse supported_toolchains from TARGET_PSOC6 2019-04-16 11:50:47 +03:00
Hennadiy Kytsun ef19fb6ebb PSOC6: add ARMC6 support (fix issue #9830)
Update PDL syslib driver to 2.30.
Update startup assembly and linker scripts.
2019-04-16 11:50:47 +03:00
Hennadiy Kytsun 248013aca8 PSOC6: remove custom IPC configuration for PSA
* Update PDL startup driver to version 2.40
* Update linker scripts and startup assembly
* Remove custom IPC configuration from PSA initialization:
  use default IPC configuration provided by low-level startup code.
2019-04-16 11:50:46 +03:00
Hennadiy Kytsun ae716e2ab7 PSOC6: update version of PDL flash driver
Flash driver 3.30:
Moved ipcWaitMessageStc structure to the RAM section called ".cy_sharedmem"
Added support Secure Boot devices
Moved CY_FLASH_EFFECTIVE_PAGE_SIZE to flash_api.c (the macro is Mbed specific).
2019-04-16 11:50:46 +03:00
Hennadiy Kytsun e8300553af PSOC6: update version of PDL IPC driver 2019-04-16 11:50:46 +03:00
Hennadiy Kytsun f45d701317 PSoC6: Remove TARGET_CY8C62XX CSP directory
GeneratedSource folders are BSP specific. No parts of the kit BSP can be reused
as generic chip support package. Remove TARGET_CY8C62XX directory,
and use flat BSP inheritance model:

MCU_PSOC6 -> MCU_PSOC6_M4 -> CY8CKIT_062_WIFI_BT
MCU_PSOC6 -> MCU_PSOC6_M0 -> CY8CKIT_062_WIFI_BT_M0
2019-04-16 11:50:46 +03:00
Martin Kojtal 93dc5514f2
Merge pull request #10334 from NXPmicro/MXRT1050_FixTestFailure
MXRT1050_EVK: Fixes test failure seen with ARM & IAR toolchain
2019-04-16 08:45:46 +01:00
Martin Kojtal d53902267e
Merge pull request #10384 from kjbracey-arm/add_fpu_toshiba
Toshiba: Cortex-M4 -> Cortex-M4F
2019-04-16 08:26:38 +01:00
Shawn Shan 3d9b7df8e0 Fix the build failed issue of MPS2 targets with ARMC6.
Change-Id: I0205d381de331a827435d667c16297aaf5bb609e
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan 6374790b26 Add IAR support for the target AN382 of MPS2.
Add file MPS2.icf and startup_MPS2.S to suppout IAR of the target
AN382(ARM_MPS2_M0). Add "IAR" to supported_toolchain list.

Change-Id: I2b2ad7645166c4f973a8baa9c394521514183767
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan b3ee6cb706 Add IAR support for the target AN383 of MPS2.
Add file MPS2.icf and startup_MPS2.S to suppout IAR of the target
AN383(ARM_MPS2_M0P). Add "IAR" to supported_toolchain list.

Change-Id: Ib2278d34e265e53ad070aecd318ed4e6a355e3c0
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan b268aa6d6a Add GCC_ARM support for the target AN382 of MPS2.
Add files MPS2.ld and startup_MPS2.S to support GCC_ARM of the target
AN382(ARM_MPS2_M0). Add "GCC_ARM" to supported_toolchains list.

Change-Id: I7046b698834c82e94015e51eef9a0f5e1315ddaa
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan db57e58194 Add GCC_ARM support for the target AN383 of MPS2.
Add files MPS2.ld and startup_MPS2.S to support GCC_ARM of the target
AN383(ARM_MPS2_M0P). Add "GCC_ARM" to supported_toolchains list.

Change-Id: I48020b4f0f1b6e0aef3c53f5a3586bc9e9fca9c9
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan 0dbaeeffc2 Add IAR support for the target AN385 of MPS2.
Add file MPS2.icf and startup_MPS2.S to suppout IAR of the target
AN385(ARM_MPS2_M3). Add "IAR" to supported_toolchain list.

Change-Id: I038b05b8b21bd146a1568de897ed030ccd52ab79
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan 151d6e0bb4 Add IAR support for the target AN386 of MPS2.
Add file MPS2.icf and startup_MPS2.S to suppout IAR of the target
AN386(ARM_MPS2_M4). Add "IAR" to supported_toolchain list.

Change-Id: I4f43617c870197b9d39a4d4c9c12456adcc6f96f
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan 063d5dc295 Add IAR support for the target AN500 of MPS2.
Add file MPS2.icf and startup_MPS2.S to suppout IAR of the target
AN500(ARM_MPS2_M7). Add "IAR" to supported_toolchain list.

Change-Id: I0b8f018fc937727382b27ea0669940ae6675c834
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan 0d0f14b17f Add GCC_ARM support for the target AN385 of MPS2.
Add files MPS2.ld and startup_MPS2.S to support GCC_ARM of the target
AN385(ARM_MPS2_M3). Add "GCC_ARM" to supported_toolchains list.

Change-Id: I3110d4ab37a3294488a80a8dc1c929bfd87ce989
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan 6a9c0e930f Add GCC_ARM support for the target AN386 of MPS2.
Add files MPS2.ld and startup_MPS2.S to support GCC_ARM of the target
AN386(ARM_MPS2_M4). Add "GCC_ARM" to supported_toolchains list.

Change-Id: Ib8cea952e1ce0a5ef11ab623cca6f3786eab56f5
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:44 +08:00
Shawn Shan 8e674534ef Add GCC_ARM support for the target AN500 of MPS2.
Add files MPS2.ld and startup_MPS2.S to support GCC_ARM of the target
AN500(ARM_MPS2_M7). Add "GCC_ARM" to supported_toolchains list.

Change-Id: Ife109e9e1f2ec8e075e566f9d5c2ec7e3c5067f2
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
2019-04-15 16:56:43 +08:00
Shawn Shan 33cbe26b53 MPS2 Re-Enablement in mbed
These file changes provide small fixes for various targets
on MPS2 platform in order to work properly and pass all
Greentea test cases. The __initial_sp has been explicitly set
in the targets' startup files, and also INITIAL_SP has been
given a different value. The values have been extracted from
the specific targets' Application Note documentation.
Affected targets are: ARM_MPS2_M0, ARM_MPS2_M0P, ARM_MPS2_M3,
ARM_MPS2_M4 and ARM_MPS2_M7.

Change-Id: I3d5d0e1ae386cdcc3ba5eb63be929267a257b139
Signed-off-by: Bence Kaposzta <bence.kaposzta@arm.com>
2019-04-15 16:56:43 +08:00
Martin Kojtal 09f9409222
Merge pull request #10378 from jeromecoutant/PR_USTICKER
STM32: protect compilation when DEVICE_USTICKER is disabled
2019-04-15 08:17:17 +01:00
Martin Kojtal 1e3aa39acf
Merge pull request #10380 from j3hill/FOTA_fix
Nordic QSPI data must be written from/read to aligned buffers in RAM
2019-04-15 08:16:56 +01:00
ccli8 faa28b5280 [NUC472] Support crash capture for no-XRAM configuration 2019-04-15 13:32:53 +08:00
Deepika 4b7e163b57 Add missing boot stack size memory from heap calculation 2019-04-12 15:28:52 -05:00
Martin Kojtal 4d56b94686
Merge pull request #10349 from studavekar/fix-nuvonton-crash-data
Fix crash capture feature for nuvoton
2019-04-12 14:13:58 +01:00
Martin Kojtal 71b12f9387
Merge pull request #10376 from kjbracey-arm/lpc55s69_apb_bridge
LPC55S69: Fix APB bridge security programming
2019-04-12 12:21:23 +01:00
Kevin Bracey 2e33c76d9e Atmel SAMG55: Cortex-M4 -> Cortex-M4F
SAMG55 has FPU - change core in targets.json to use it.
2019-04-12 11:44:27 +03:00
Kevin Bracey e5bc175f33 Toshiba: Cortex-M4 -> Cortex-M4F
Toshiba parts have FPU - change core in targets.json to use it.
2019-04-12 11:36:04 +03:00
Kevin Bracey 65336ad1b5 GigaDevice: Cortex-M4 -> Cortex-M4F
GigaDevice parts have FPU - change core in targets.json to use it.
2019-04-12 11:33:34 +03:00
Kevin Bracey 72b161970d SDP_K1: Cortex-M4 -> Cortex-M4F
MCU of SDP_K1 has FPU - change core in targets.json to use it.
2019-04-12 11:29:51 +03:00
j3hill f4b4ac76ea Data that is written to/read from external flash using QSPI needs to be in RAM and WORD aligned. 2019-04-11 13:24:33 -05:00
jeromecoutant 9c63d91c11 STM32: protect compilation when DEVICE_USTICKER is disabled 2019-04-11 17:57:39 +02:00
Kevin Bracey b1ba4fe7ec LPC55S69: Cast to cope with const mismatch 2019-04-11 14:57:20 +03:00
Kevin Bracey c89c2809ea LPC55S69: Fix APB bridge security programming
Spotted in compiler warnings - code was trying to access a non-existent
second security control block, rather than access the settings for the
second APB bridge in the first and only security control block.
2019-04-11 14:49:54 +03:00
Shrikant Tudavekar 53ae5fea87 removed the redundant RW_IRAM1 region 2019-04-10 10:59:17 -05:00
Shrikant Tudavekar 3ee1498b57 crash data support for NUC472 with gcc_arm 2019-04-10 10:31:39 -05:00
Shrikant Tudavekar 9d5617c54a crash data support for NUC472 with armcc 2019-04-10 10:30:22 -05:00
Martin Kojtal ffe9ddfb2d
Merge pull request #10268 from cy-vivekp/pr/serial_rts
PSoC6 serial driver: Setup RTS and TX lines on deepsleep entry/exit
2019-04-10 12:23:11 +02:00
Martin Kojtal bb0baee381
Merge pull request #10347 from bridadan/allow_mbed_2_builds
Fix detection of supported targets for mbed 2 builds
2019-04-10 10:02:32 +02:00
Brian Daniels 11775ef111 Force SAMD21 and SAMR21 targets to ARMC5 due to incompatibility.
The hal code for this target uses "const volatile" types inside of
structs, which are non-trivially copyable in clang (used by ARMC6). This
causes the build to fail.

Here's the commit that changed this in clang:
a3d727ba77

It seems this was reverteed some time ago in clang, but ARMC6 may not
be up to date.
2019-04-09 14:52:15 -05:00
Cruz Monrreal b419cfc3ed
Merge pull request #10328 from kjbracey-arm/stdio_serial_option
Add option to disable default UART console
2019-04-09 14:03:41 -05:00
Cruz Monrreal 73f1edd6db
Merge pull request #10004 from OpenNuvoton/nuvoton_m2351_fix-memory-partition
M2351: Support memory custom partition
2019-04-09 14:03:18 -05:00
Deepika feba293673 Update linker script for using SRAM1 and SRAM2 in ARM
To have the flexibilty in application; to use any of the section
    (data/bss/heap) without updating linker script in every use case,
    following decisions are made:
    1. Fixed size and small sections moved to SRAM2 (32K)
        Vectors
        Crash data
        Remaining section - RW / ZI
    2. Large memory space should be used for variable sections
       RW/ZI
       Heap - (Minimum - 0x12000)
       Stack - At bottom
2019-04-09 13:41:09 -05:00
Shrikant Tudavekar 3769ec4acc place crash data region at end of IRAM 2019-04-09 13:34:18 -05:00
Deepika 1576fb0aaa Add support for split heap in ST devices 2019-04-09 12:08:49 -05:00
Deepika 1a52587c2d Update the linker file to support single and multiple heap banks 2019-04-09 12:08:49 -05:00
Deepika 3593444e93 Add support of heap memory split between 2-RAM banks.
Please note the heap address of the both the banks must not be contigious else
GCC considers it to be single memory bank and does allocation across the banks,
which might result into hard-fault
2019-04-09 12:08:49 -05:00
Deepika 719d0fb94e Update linker script for split heap support
To have the flexibilty in application; to use any of the section
(data/bss/heap) without updating linker script in every use case,
following decisions are made:

1. Fixed size and small sections moved to SRAM2 (32K)
    Vectors
    Crash data
    Stack
    Remaining section - Heap memory
2. Large memory space should be used for variable sections
   Data
   BSS
   Heap - Remaining section

Heap is moved to the end of both sections as GCC allocates till 4K boundary,
if end of heap is not aligned to 4K, that chunk of memory will go unutilized
2019-04-09 12:08:49 -05:00
Marcus Chang 7c0714132c Expand sbrk to allocate memory from two regions 2019-04-09 12:08:49 -05:00
Deepika 36c7b2de86 uARM - Move heap region after IRAM1
ARM_LIB_HEAP start is aligned to IRAM1 end, hence should be placed next to
RW_IRAM1 i.e. no other region in between.
2019-04-09 12:01:01 -05:00
Cruz Monrreal 67de89d119
Merge pull request #10346 from lrusinowicz/sequana_armc6_fixes
FUTURE_SEQUANA: Add suport for ARMC6
2019-04-09 11:06:05 -05:00
Martin Kojtal d9463ee95a
Merge pull request #10318 from KariHaapalehto/emw3166
Crash with MTB_MXCHIP_EMW3166 has been corrected.
2019-04-09 11:04:20 +02:00
Martin Kojtal f4fa6c9d2a
Merge pull request #10343 from VVESTM/issue_10049
TARGET_STM32F7: Reset QSPI in default mode on abort for all versions.
2019-04-09 10:27:56 +02:00
Martin Kojtal 3a4f591a76
Merge pull request #10124 from jamesbeyond/fm_sleep
Enable low-power ticker and Sleep for FastModels
2019-04-09 09:56:52 +02:00
Shrikant Tudavekar 4b182b92f1 enable crash capture for NUMAKER_PFM_NUC472 2019-04-08 15:36:28 -05:00
Shrikant Tudavekar 197b85e2fe create a region instead of a block for crash data 2019-04-08 15:22:59 -05:00
Mahesh Mahadevan 5f7f71e7e5 MXRT1050_EVK: Fixes test failure seen with IAR and ARM toolchains
Fixes test failure seen with tests-mbed_hal-stack_size_unification
under IAR and ARM toolchain

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-04-08 13:42:46 -05:00
Leszek Rusinowicz e5d970d321 FUTURE SEQUANA: Fixed linker scripts for ARMC6
Also enabled ARMC6 compiler for FUTURE_SEQUANA family of targets.
2019-04-08 16:51:52 +02:00
Leszek Rusinowicz 48d12c39e5 FUTURE_SEQUANA: Fixed ARMC6 compiler errors and warnings 2019-04-08 16:50:20 +02:00
Leszek Rusinowicz 270f368bbd FUTURE_SEQUANA: Flatten PDL library paths
This change moves all PDL drivers into common source and include
directories to alleviate issue with Windows version of GNU Make 4.x
maximum command line length limit.
2019-04-08 16:31:17 +02:00
Kevin Bracey f6456d8c81 Add option to disable default UART console
New `target.console-uart` option added to indicate whether a target has
a console UART on STDIO_UART_TX/RX/RTS/CTS pins. (The existing option
`target.console-uart-flow-control` indicates whether RTS and or CTS is
available in addition to TX and RX).

The option defaults to true, and is currently true on all platforms. It
only applies if DEVICE_SERIAL is true, so no need to go through and mark
it false for non-SERIAL platforms.

An application can turn off target.console-uart to save ROM/power/etc if
they don't want to use the serial console.  If this is turned off, the
console won't be activated for stdin/stdout, but the application is
still free to open `UARTSerial(STDIO_UART_TX, STDIO_UART_RX)`
themselves.
2019-04-08 15:56:44 +03:00
Qinghao Shi 916ec21197 FastModel: Add SPDX License Identifier 2019-04-08 11:50:22 +01:00
Vincent Veron 9856e86897 TARGET_STM32F7: Reset QSPI in default mode on abort for all versions.
This patch is missing in F7 HAL.
Fix #10049

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-04-08 11:47:15 +02:00
Martin Kojtal c2ebb79723
Merge pull request #9814 from LMESTM/dev_NUCLEO_WB55RG
Adding NUCLEO_WB55RG support
2019-04-04 15:30:07 +02:00
Kari Haapalehto e6cf021fb8 Crash with MTB_MXCHIP_EMW3166 has been corrected.
There was undined pin, which was causing EMW3166 to crash.
Correction has been done and new binaries genearated
2019-04-04 13:05:35 +03:00
Ganesh Ramachandran 0b84c30d7c Fixed support for DigitalOut(NC) instantiation 2019-04-04 15:16:29 +05:30
Kevin Bracey 6fe50763f3 i.MX RT1050: Reactivate data cache
Since commit 12c6b1bd8, the i.MX RT1050 has effectively had its data
cache disabled, as the SDRAM was marked Shareable; for the Cortex-M7,
shareable memory is not cached.

This was done to make the Ethernet driver work without any cache
maintenance code. This commit adds cache maintenance and memory barriers
to the Ethernet driver, and removes the Shareable attribute from the
SDRAM, so the data cache is used again.

Cache code in the base fsl_enet.c driver has not been activated - the
bulk of it is in higher-level Read and Write calls that we're not using,
and there is one flawed invalidate in its initialisation. Instead
imx_emac.cpp takes full cache responsibility.

This commit also marks the SDRAM as read/write-allocate. As the
Cortex-M7 has its "Dynamic read allocate mode" to automatically switch
back to read-allocate in cases where write allocate is working poorly
(eg large memset), this should result in a performance boost with no
downside.

Activating write-allocate is also an attempt to provoke any flaws in
cache maintenance - the Ethernet transmit buffers for example will be
more likely to have a little data in the cache that needs cleaning.
2019-04-04 12:06:24 +03:00
Martin Kojtal 6081727cbf
Merge pull request #10115 from enebular/raven
Uhuru RAVEN: Adding platform HAL
2019-04-04 11:05:23 +02:00
Martin Kojtal 25371d47c5
Merge pull request #10288 from bridadan/allow_armc5_for_renesas_targets
Revert limiting Renesas targets to ARMC6
2019-04-04 10:30:46 +02:00
Qinghao Shi 229e30a5c9 FastModel: Enable low-power ticker and sleep 2019-04-03 16:51:39 +01:00
Qinghao Shi 0374309946 FastModel: refactor us_ticker code, make names intuitive
- reanme US_TICKER_TIMER1 to US_TICKER_COUNTER
 - reanme US_TICKER_TIMER2 to US_TICKER_INTERRUPT
2019-04-03 16:37:08 +01:00
Qinghao Shi 8ebb363618 FastModel: add HAL sleep implementation 2019-04-03 16:37:08 +01:00
Qinghao Shi 5c06f99396 Fastmodel: add HAL low-power ticker implementation 2019-04-03 16:37:08 +01:00
Martin Kojtal 0066ba9b0d
Merge pull request #10267 from cy-vivekp/pr/psoc_32_bit_lp_ticker
PSOC6: Modify lp_ticker to 32 bit
2019-04-03 11:13:25 +02:00
Martin Kojtal 1d26dbb068
Merge pull request #10291 from lrusinowicz/sequana_psa_deepsleep
FUTURE_SEQUANA: Fixed LP ticker for M0 core
2019-04-03 08:59:20 +02:00
Cruz Monrreal d8dc981fd1
Merge pull request #10289 from cydriftcloud/pr/wiced-lib-rebuild-03
PSOC6: Rebuild WICED libraries
2019-04-02 09:14:28 -05:00
Leszek Rusinowicz f0e0e9f5cd FUTURE_SEQUANA: Fixed LP ticker for M0 core
Fixed interrupt vector settings on M0 core. Wrong vector settings prevented
LP_TICKER from working, resulting in deep sleep tests failing on M0
or PSA variant.
2019-04-02 13:33:33 +02:00
Martin Kojtal 2a694cf1d9
Merge pull request #10143 from jeromecoutant/PR_ADC_RESETINTERNAL
STM32 ADC INTERNAL CHANNEL reset after read
2019-04-02 13:02:14 +02:00
Cruz Monrreal 4950178db5
Merge pull request #10246 from NXPmicro/Fix_LPC55S69_Flash_ClockSpeed
LPC55S69: Update Flash driver to set clock frequency
2019-04-01 21:53:18 -05:00
Lei Zhang d6f70065bb PSOC6: Rebuild WICED libraries
- Modify WICED to RTOS priority mapping
2019-04-01 15:46:50 -07:00
Cruz Monrreal cdc2579b7b
Merge pull request #10248 from VVESTM/issue_9934
TARGET_STM32F7: Refresh cache when erasing or programming flash
2019-04-01 17:04:26 -05:00
Cruz Monrreal 4dd55d2db6
Merge pull request #10281 from ashok-rao/S2_LP
Adding support for S2_LP (WiSUN) as a new MTB target
2019-04-01 17:03:37 -05:00
Brian Daniels 57cfa0bfa2 Revert "Only enable ARMC6 for a few targets"
These targets appear to run fine with ARMC5.

This reverts commit 2b75dfda0f.
2019-04-01 15:20:29 -05:00
Mahesh Mahadevan 1b9531d1af LPC55S69: Update Flash driver to set clock frequency
This is to ensure the flash access time is set correctly

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-04-01 12:10:24 -05:00
Ashok Rao 1f572f987e SPDX license identifier changed to Apache-2.0 2019-04-01 15:17:06 +01:00
Ashok Rao 5cb1c64d59 Adding SPDX identifier 2019-04-01 11:21:45 +01:00
Ashok Rao 479bcfdbfe Incorporating review comments
Removing USBDEVICE since USB pins are NOT brought out on the MTB/MCB.
2019-04-01 11:16:16 +01:00
Ashok Rao d2af702ed9 Incorporating review comments 2019-04-01 10:06:30 +01:00
Ashok Rao 83ad921196 Resolving merge conflicts from my remote 2019-04-01 07:49:37 +01:00
Ashok Rao d4c83fc056 Adding STM32_F429 + S2_LP (WiSUN) as a new MTB target 2019-04-01 07:31:01 +01:00
Laurent Meunier b0f4815261 STM32WB: ADC INTERNAL CHANNEL reset after read
Internal channels use is enabling ADC "internal path" which needs
to be disabled after measurement.

Same applied here for WB family as was done for others in #10143.
2019-03-29 16:21:46 +01:00
Laurent Meunier c6277988c6 STM32WB: Only configure default peripherals in SetSysClock
Typically the RTC clock is configured by RTC driver itself.

RNG on the other hand is shared with M0+ core and it is expected that
M4 turns it on at boot time.
2019-03-29 16:21:46 +01:00
Laurent Meunier a744343931 STM32WB: disable debug lines when not needed
When doing so, do not disbale GPIO clocks as they may be used by other
drivers !

As a result, debug will be disabled by default, but can be enabled by
either modifying code or selecting MBED debug profile.
2019-03-29 16:21:46 +01:00
Laurent Meunier 718b16545c STM32WB: update deep sleep sequence
Review HSE clock initialization to match with latest CUBE firmware.
Also there is no need to set the full clock tree again after deep sleep exit.

With this change we get a stable deep sleep mode (when allowed by CORDIO stack).
2019-03-29 16:21:45 +01:00
Laurent Meunier b21110d6b8 STM32WB: Add FLASH HW Semaphore
Because FLASH is a shared resource between the 2 STM32WB cores, SW needs
to acquire HW Semaphore before using the resource.
2019-03-29 16:21:45 +01:00
Laurent Meunier 14ee4a1c7b STM32WB: Add TRNG HW Semaphore
Because TRNG is a shared resource between the 2 STM32WB cores, SW needs
to acquire HW Semaphore before using the resource.
2019-03-29 16:21:45 +01:00
Laurent Meunier 71c396cab1 STM32WB: update GCC linker script to match with master 2019-03-29 16:21:45 +01:00
Laurent Meunier 6caa4d487f STM32WB: Add SPDX identifier to new files
also update the copyright year when needed
2019-03-29 16:21:44 +01:00
Laurent Meunier c53021b77f STM32WB: Update headers 2019-03-29 16:21:43 +01:00
Laurent Meunier 536c37f58b STM32WB55RG: temporarily remove device_name property in targets.json
Until the CMSIS pack device name is officially deployed.

then we'll the name as can be found in Keil CMSIS pack

       <!-- *************************  Device 'STM32WB55RG'  ***************************** -->
        <device Dname="STM32WB55RGVx">
          <memory id="IROM1"                           start="0x08000000" size="0x001000000" startup="1" default="1" />
          <memory id="IRAM1"                           start="0x20000000" size="0x000040000" init="0"    default="1" />
          <algorithm name="CMSIS/Flash/STM32WB_M4.FLM" start="0x08000000" size="0x001000000"             default="1" />

          <feature type="QFP" n="68"/>
        </device>
2019-03-29 16:21:42 +01:00
Laurent Meunier 002f40dd3a STM32WB: ARM linker script update
There is no need to add FIRST attribute to MAPPING_TABLE as the default
ordering is alphabetical order.

With this change, we don't have any warning with MBED2 and the sections
are properly ordered anyway in BLE cases.
2019-03-29 16:21:42 +01:00
Laurent Meunier f2580c1c4a STM32WB: Fix ARM link error in mbed2
In case of mbed2, BLE feature is not built.

As there is a MAPPING_TABLE in BLE feature which is not compiled in case
of mbed2, the linker reported the below error

[ERROR] "C:/Data/Workspace/mbed/BUILD/test/NUCLEO_WB55RG/ARM/MBED_2/
.link_script.sct", line 65 (column 6): Error: L6236E:
No section matches selector - no section to be FIRST/LAST.

Solution is to check whether BLE is enabled.
2019-03-29 16:21:41 +01:00
Laurent Meunier f9b4f11507 STM32WB: Adapt I2C timings
for now based on L4+ cubeMX inputs
2019-03-29 16:21:41 +01:00
Laurent Meunier bb2aea41f8 fixup! NUCLEO_WB55RG: add SDK files 2019-03-29 16:21:41 +01:00
Laurent Meunier e2cdb19e7f STM32WB: Add missing analogin_pinmap
This is required since PR #9449
commit
"Add HAL API for analog in pinmap"
2019-03-29 16:21:41 +01:00
Laurent Meunier d9c17addd7 Add WB support and CUBE FW version in readme.md 2019-03-29 16:21:40 +01:00
Laurent Meunier 5aa609b4db STM: fix minor warnings 2019-03-29 16:21:40 +01:00
Laurent Meunier 22f9ac6624 STM32WB: FIX LL RTC warning 2019-03-29 16:21:40 +01:00
Laurent Meunier 5871a712dc STM32WB: Move STM32WB utilies from FEATURE_BLE to targets folder
These files are not BLE specific, but also needed for some clock setting
for instance.

In order to compile an MBED2 application, we need to move the files.
2019-03-29 16:21:40 +01:00
Laurent Meunier 27e7e4d9df NUCLEO_WB55RG: Rework Clock and sleep support
- move hw_conf.h file to targets/TARGET_STM/TARGET_STM32WB directory as
this is used also out of BLE feature.
- create a dedicated hal_deepsleep function as the behavior in WB is a lot
different from other existing STM32 targets
- update clock tree configuration to directly clock the entire tree @ 32MHz
out of HSE. This is needed as we want to let the M0 core running without
any change on M0-side of clocks when M4 enters /exits deep sleep.
2019-03-29 16:21:40 +01:00
bcostm 96ecd48a40 NUCLEO_WB55RG: update targets.json 2019-03-29 16:21:39 +01:00
jeromecoutant ea86e8ef34 NUCLEO_WB55RG: HAL API updates to get SLEEP, RTC and LPTICKER OK
- astyle OK
- file alignment with other families
- HSE, MSI, HSI clock support
- LPTICKER with RTC and LPTIM tested
2019-03-29 16:21:38 +01:00
bcostm beab69704a NUCLEO_WB55RG: update STM common files
- Include RTC ll file from hal as in other families
- STM32WB: update Flash API driver
2019-03-29 16:21:38 +01:00
Laurent Meunier baf7a121bb NUCLEO_WB55RG: IAR, ARM and GCC linker files alignment
Align all scatter BLE shared memory declarations.
2019-03-29 16:21:38 +01:00
bcostm 4547fa34f7 NUCLEO_WB55RG: update mbed_rtx.h 2019-03-29 16:21:38 +01:00
bcostm 81f985433f NUCLEO_WB55RG: add SDK files
- Contains files from STM32Cube_FW_WB_V1.0.0
2019-03-29 16:21:37 +01:00
jeromecoutant ec00ea5655 STM32 ADC INTERNAL CHANNEL reset after read
Internal channels use is enabling ADC "internal path"
which needs to be disabled after measurement
2019-03-29 14:30:49 +01:00
Vivek Pallantla 96b6f99bee PSoC uart: Setup RTS and TX lines in deepsleep
When PSoC enters deepsleep, in uart driver
  - deassert RTS, set RTS to output high
  - set TX to output high
2019-03-28 18:01:00 -07:00
Vivek Pallantla 7799be6dad PSOC: Modify lp_ticker to 32 bit
Needed for PSoC to deep-sleep for more than 2 seconds
Max sleep with 16 bit lp_ticker (before this change) : 2sec
Max sleep with 32 bit lp_ticker (after this change)  : 36hours
2019-03-28 16:21:59 -07:00
Cruz Monrreal 6443e4360a
Merge pull request #10212 from ecoromka/master
Fix tempsensor cal1 constant in stm32f3xx_ll_adc.h
2019-03-28 17:07:46 -05:00
David Saada 732dd36c90 Remove FEATURE_STORAGE and all underlying deprecated features 2019-03-28 23:10:05 +02:00
Vincent Veron 5765c4d0e0 TARGET_STM32F7: Refresh cache when erasing or programming flash
The cache must be refreshed when we erase or program flash memory.
It fix 2 issues :
    Fix #9934
    Fix #6380

This solution was initially proposed in #6380.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-03-28 14:48:12 +01:00
jk e44aa056c0 added SPDX identifier and
added the description of uhuru_raven_init function
2019-03-27 17:02:56 +09:00
jk 23cb826314 Add definition of RAVEN 2019-03-27 17:02:55 +09:00
Cruz Monrreal 54e1ec6ea5
Merge pull request #10213 from d-kato/rza1xx_wait_ns
GR_LYCHEE,RZ_A1H,VK_RZ_A1H: Fix greentea ticker test case failures
2019-03-27 00:35:33 -05:00
Cruz Monrreal be38d95383
Merge pull request #10209 from OpenNuvoton/nuvoton_add-button-name
Nuvoton: Add button names BUTTON1/BUTTON2
2019-03-27 00:35:03 -05:00
Cruz Monrreal 61b0d8ecdc
Merge pull request #10206 from kfnta/lpc55s69_program_cycle
Define program_cycle_s for LPC55S69 & CY8CKIT_062_WIFI_BT
2019-03-27 00:25:02 -05:00
Cruz Monrreal fcf4999098
Merge pull request #10155 from kfnta/us_ticker
Remove dependency on us_ticker HAL apis for non USTICKER targets
2019-03-27 00:22:49 -05:00
Cruz Monrreal 0395150bfb
Merge pull request #10074 from morser499/cy-mbed-os-5.12.0-pwm-free
Fixed issue with PWM not being freed when the object is destroyed
2019-03-27 00:21:54 -05:00
Cruz Monrreal b872d08181
Merge pull request #10000 from malavikasajikumar/master
Adding support for SDP-K1.
2019-03-27 00:21:13 -05:00
ecoromka 757b9e250d Fix tempsensor cal1 constant in stm32f3xx_ll_adc.h
Fix TEMPSENSOR_CAL1_TEMP according to datasheet.
2019-03-26 10:42:38 -05:00
d-kato e96c6334f7 Refactoring system clock driver 2019-03-26 19:02:46 +09:00
d-kato 2509ea82fd Removed clock mode decision of "SystemCoreClockUpdate()"
Since GPIO.PPR0 can not check clock mode, I changed it to set a fixed value for each board.
2019-03-26 19:02:46 +09:00
d-kato cb31d11319 Fix the value of SystemCoreClock
The OS timer of RZ/A1 uses P0 clock, so until now it has been set the value of P0 clock in SystemCoreClock.
Changed the system clock value to set to SystemCoreClock.
Changed to refer to P0 clock macro instead of SystemCoreClock in OS timer processing.
2019-03-26 19:02:46 +09:00
ccli8 be96ade527 [Nuvoton] Add button names BUTTON1/BUTTON2 2019-03-26 17:05:43 +08:00
Michael Schwarcz a91f17e824 LPC targets: Compile us_ticker.c only if USTICKER defined 2019-03-26 09:52:18 +02:00
Michael Schwarcz 0e73a83bb2 Add USTICKER to more targets
- LPC4088
- LPC4088_DM
- MAX32600MBED
- NCS36510
- WIZWIKI_W7500
- WIZWIKI_W7500ECO
- WIZWIKI_W7500P
2019-03-26 09:52:17 +02:00
Michael Schwarcz 3ea2161755 Add USTICKER to ARCH_PRO target 2019-03-26 09:52:17 +02:00
Oren Cohen b7b0c254b7 Define program_cycle_s for CY8CKIT_062_WIFI_BT 2019-03-24 19:21:27 +02:00
Oren Cohen 85d4527b61 Define program_cycle_s for NXP LPC55S69 2019-03-24 17:52:10 +02:00
Brian Daniels 2b75dfda0f Only enable ARMC6 for a few targets
The affected targets are Renesas targets, USI_WM_BN_BM_22 based
targets, and the MTB_MXCHIP_EMW3166.
2019-03-23 18:24:57 -05:00
Martin Kojtal f76436c955
Merge pull request #10181 from jeromecoutant/PR_STMOD
DISCO_L496AG: Add PMOD and STMOD+ connector
2019-03-22 11:17:12 +01:00
Martin Kojtal d6908ce97f
Merge pull request #10178 from OpenNuvoton/nuvoton_fix_stor_cmpt
Nuvoton: Remove SD component from targets.json
2019-03-22 06:33:46 +01:00
Oren Cohen 6f7f30fb24 Add missing sector data 2019-03-21 17:47:32 +02:00
Ryan Morse 51a47139f3 Fixed issue with PWM not being freed when the object is destroyed 2019-03-21 07:48:42 -07:00
Oren Cohen d568e8734e Remove device_name from targets.json 2019-03-21 16:01:04 +02:00
Martin Kojtal d850d3bbca
Merge pull request #10156 from juhoeskeli/MTB_STM_L475_uart_clock_fix
MTB_STM_L475: fix UART clock
2019-03-21 10:43:35 +01:00
jeromecoutant 9ac9288229 DISCO_L496AG: Add PMOD and STMOD+ connector 2019-03-21 10:35:11 +01:00
ccli8 ab85146b20 [Nuvoton] Remove SD component from targets.json
Nuvoton targets below don't provide SPI-bus SD on-board, identified by 'SD' in
target component list. Instead, these targets provide SD-bus SD on-board, identified
by unofficial 'NUSD', driver of which is provided outside mbed-os tree. So 'SD' must
be removed to reflect the truth.

- NUMAKER_PFM_NUC472
- NUMAKER_PFM_M487
- NUMAKER_IOT_M487
- NUMAKER_PFM_M2351
2019-03-21 13:13:41 +08:00
Juho Eskeli a3beb1081e MTB_STM_L475: fix UART clock 2019-03-20 16:52:28 +02:00
Martin Kojtal 7d853b46c3
Merge pull request #10133 from ashok-rao/MTB_STM_F439
Adding STM32_F439 as a new MTB target
2019-03-20 13:52:46 +01:00
Martin Kojtal 9f2b23d009
Merge pull request #10149 from jeromecoutant/PR_H7ADCINTERNAL
STM32H7 ADC internal channels
2019-03-20 13:25:23 +01:00
Ashok Rao 3661957401 Changing SPI flash's CS ine, Errata on SCH 2019-03-19 09:47:38 +00:00
Ashok Rao fd241ddeaf Pin map changes
Based on v1.1.0 of S2_LP MCB using STM32F429ZIT6.
2019-03-19 09:47:38 +00:00
Ashok Rao 496308e4aa Removing all content related to EMAC 2019-03-19 09:47:38 +00:00
Ashok Rao 04270f75ba Adding MTB aliases to PinNames 2019-03-19 09:47:38 +00:00
Ashok Rao 01f2b0426d Adding STM S2_LP as a new target 2019-03-19 09:47:38 +00:00
Malavika Sajikumar 00863c2664 Renaming SDP-K1 to SDP_K1. 2019-03-18 15:50:14 -07:00
jeromecoutant 75a771c583 STM32H7 ADC internal channels 2019-03-18 16:55:37 +01:00
Ashok Rao 339f806c71 Removing redundant code.
MCO pins are not brought out on MTB / MCB design.
2019-03-18 12:37:27 +00:00
Ashok Rao e4f8b400f8 Adding STM32_F439 as a new MTB target 2019-03-17 19:20:43 +00:00
Cruz Monrreal a637551613
Merge pull request #9952 from d-kato/rza1xx_pwm
Fix PWM driver of RZ/A1
2019-03-16 22:55:08 -05:00
David Saada eb5cef84fd Add bootloader support for the LPC55S69 board
bla
2019-03-16 00:13:40 +02:00
Martin Kojtal 4b358d63f9 Merge branch 'patch-10' of https://github.com/janjongboom/mbed-os into rollup 2019-03-15 08:44:24 +00:00
Martin Kojtal cde7d0be58
Merge pull request #10068 from NXPmicro/Add_LPC55S96_Exporter_Support
LPC55S69: Add IAR and uvision exporter support
2019-03-15 09:32:40 +01:00
Martin Kojtal 0e37fc206c
Merge pull request #10097 from 0xc0170/rollup
Rollup PRs: simple fixes
2019-03-15 08:04:29 +01:00
Cruz Monrreal d53ff0b3c4
Merge pull request #10101 from kfnta/nxp_reduce_its
LPC55S69_S: reduce ITS size to 32KB
2019-03-14 13:22:47 -05:00
Oren Cohen 2ea13e6149 "Update secure binaries for LPC55S69_S" 2019-03-14 17:03:06 +02:00
Michael Schwarcz dca3ebe9f6 LPC55S69_S: reduce ITS size to 32KB
- Reduce LPC55S69 secure side ITS from 64KB to 32KB
2019-03-14 15:49:44 +02:00