Commit Graph

4606 Commits (7ed16fbd76a62d2471545dfdc0797f8ffaa7e176)

Author SHA1 Message Date
Russ Butler c4cf19ee3b Revert "Create HAL_PCD_EP_Abort"
Revert the patch "Create HAL_PCD_EP_Abort" in preparation for an
alternate fix.
2019-02-22 10:53:18 -06:00
Michel Jaouen ced1cbd0ed Create HAL_PCD_EP_Abort 2019-02-22 10:53:16 -06:00
Russ Butler a47c383233 Update the STM32 USB driver to the new API
Take the code from
mbed-os\features\unsupported\USBDevice\targets\TARGET_STM
as a starting point and use it to fill in the USBPhy template for STM32
devices.
2019-02-22 10:53:16 -06:00
jeromecoutant 21606569da STM32F4: replace CLOCK_SOURCE_USB by DEVICE_USBDEVICE 2019-02-22 10:53:15 -06:00
jeromecoutant 9b16d4fb5b NUCLEO_F103RB: replace CLOCK_SOURCE_USB by DEVICE_USBDEVICE 2019-02-22 10:53:15 -06:00
Maciej Bocianski b79705813c target: arch_pro enable USBDEVICE support 2019-02-22 10:53:13 -06:00
Russ Butler 76aa7e0b6d Move USBPhy and related files to USB directory
Move the USBPhy header files into usb/device/USBPhy. Also move hal
and target USB files since mbed 2 does not compile when these files
are present without the USBPhy headers.

Directory restructure summary:
platform/USBPhy*
    to usb/device/USBPhy/USBPhy*
hal/*
    to usb/device/hal/*
targets/TARGET_Freescale/usb/*
    to usb/device/targets/TARGET_Freescale/*
targets/TARGET_NXP/TARGET_LPC176X/usb/*
    to usb/device/targets/TARGET_NXP/*
2019-02-22 10:52:35 -06:00
Russ Butler 7673ccd1c9 Improve LPC1768 USB stability
Make the following changes to improve stability:
-When disconnecting set address to disabled to prevent nacks
-Clear EP_SLOW one and only once for every interrupt where it is set_address
-Disable and clear control endpoint interrupts when disconnecting
2019-02-22 10:52:35 -06:00
Russ Butler aa76c776c9 Disable endpoints when disconnecting on Kinetis
Even thought the USB phy is disabled during disconnect, endpoints
still nack packets sent. This patch disables all endpoints so after
disconnect no USB traffic will be sent. This allows brief disconnects
of ~200us (or more) to be reliably detected by the host PC.
2019-02-22 10:52:35 -06:00
Russ Butler 2a84e3a4f6 Correct Kinetis 256 byte ctrl transfers
Correctly handle control transfers which are a multiple of 256 bytes
by checking for a non-zero value in the upper byte of size.
2019-02-22 10:52:35 -06:00
Russ Butler 08428f8300 Fix Kinetis endpoint initialization
Fully setup endpoint before enabling it in endpoint_add. This prevents
undefined behavior due to previous configuration.
2019-02-22 10:52:34 -06:00
Russ Butler 2708200a19 Update the Kinetis USB driver to the new API
Update this driver to match the new zero-copy API.
2019-02-22 10:52:34 -06:00
Russ Butler 4ab3a485d1 Update the LPC17XX driver to the new API
Update this driver to match the new zero-copy API.
2019-02-22 10:52:34 -06:00
Russ Butler 23615a7769 Update Kinetis USB to match the USBPhy API
Copy the Kinetis USB driver files from
mbed-os\features\unsupported\USBDevice\targets\TARGET_Freescale
and update them to match the new USBPhy API.
2019-02-22 10:52:33 -06:00
Russ Butler 25fb3183cf Add Kinetis USB files 2019-02-22 10:52:32 -06:00
Russ Butler 4be11ff158 Add USBPhy for the LPC17xx
Move the LPC17xx USB driver files from
mbed-os\features\unsupported\USBDevice\targets\TARGET_NXP
and update them to match the new USBPhy API.
2019-02-22 10:52:32 -06:00
Sarah Marsh 22abea324d Modify linker scripts for IAR and ARM compilers to support bootloader on NUCLEO_L073RZ 2019-02-22 11:06:29 +00:00
deepikabhavnani 270827b0d5 Enable ODIN boards 2019-02-22 09:25:09 +00:00
deepikabhavnani d67536dd08 Target_PSOC6 - Remove IAR supported from targets failing IAR 8.32 build 2019-02-22 09:25:09 +00:00
Deepika 3fd5f53b51 Dynamic heap support will be breaking change for all targets in IAR 7.x
Reverting this feature till IAR 8.x is stable and supported in Mbed OS
for few releases

1. Revert "Add Dynamic heap support to IAR"

This reverts commit 8ee29bbfa2.

2. Revert "Splited RAM section not compatible with dynamic HEAP."

This reverts commit a645bb2a6b.

3. Revert "Add Dynamic heap support to IAR"

This reverts commit 891e1f261b.
2019-02-22 09:25:09 +00:00
Deepika e54be4aeff Add Dynamic heap support to IAR
Two new block properties available in linker configuration files:
"expanding size" and "minimum size" for IAR 8.11.2 and above

Sample:
define block HEAP with expanding size, minimum size = 16K, alignment = 8 {};

This block will expand to consume all remaining available space in
the range where it is placed. If several such blocks end up in the same
range, they will share the remaining space.
Cannot place a block with expanding size inside another block with
expanding size, inside a block with maximum size, or inside an overlay.
2019-02-22 09:25:08 +00:00
deepikabhavnani 0ff6f9971b Remove IAR supported from targets failing IAR 8.32 build
Few targets have libraries compatible to IAR 7.x, which fail with
IAR 8.x, IAR support for them is removed till updated library is
added.

CI failure seen if IAR is not added as supported target, trying with
release_version as empty string

List of targets affected:

1. UBLOX_EVK_ODIN_W2
2. MTB_UBLOX_ODIN_W2
3. MBED_CONNECT_ODIN
4. MTB_MXCHIP_EMW3166
5. MTB_ADV_WISE_1530
6. MTB_USI_WM_BN_BM_22
7. REALTEK_RTL8195AM
2019-02-22 09:25:08 +00:00
deepikabhavnani ea3fa02210 Splited RAM section not compatible with dynamic HEAP.
RAM define/section if splited, IAR exanpding size considers just one
section while heap creation which results in smaller chunk for heap.
This commit is to unify the RAM section.
2019-02-22 09:25:07 +00:00
deepikabhavnani 334b2d64b0 Update params in calls to LDREXW/STREXW to uint32_t 2019-02-22 09:25:07 +00:00
deepikabhavnani b91dbab4bd Add Dynamic heap support to IAR
Two new block properties available in linker configuration files:
"expanding size" and "minimum size" for IAR 8.11.2 and above

Sample:
define block HEAP with expanding size, minimum size = 16K, alignment = 8 {};

This block will expand to consume all remaining available space in
the range where it is placed. If several such blocks end up in the same
range, they will share the remaining space.
Cannot place a block with expanding size inside another block with
expanding size, inside a block with maximum size, or inside an overlay.
2019-02-22 09:25:07 +00:00
aqin 84f52a871b adding updated binary for IAR v8.32 2019-02-22 09:25:06 +00:00
Oren Cohen 49aae7b43e
Update secure binaries 2019-02-22 02:04:00 +02:00
Oren Cohen 84f0e7be5b
Define delivery directory for FUTURE_SEQUANA_PSA 2019-02-22 01:53:20 +02:00
Cruz Monrreal 870bd05904
Merge pull request #9708 from davidsaada/david_protected_storage
Implement PSA protected storage & restructure PSA storage implementation
2019-02-21 17:30:56 -06:00
Cruz Monrreal 2ecb0a5031
Merge pull request #9798 from jeromecoutant/PR_LPTICKER_BOOTLOADER
STM32 LPTICKER (LPTIM): correct init execution after bootloader
2019-02-21 13:55:20 -06:00
Oren Cohen 3c5c205a23 Add flash IAP to sequana_psa m4 2019-02-21 20:59:19 +02:00
Cruz Monrreal 235a75f5b8
Merge pull request #9796 from SeppoTakalo/wiced_binaries
New Wiced binaries
2019-02-21 12:10:16 -06:00
Cruz Monrreal 01aeb48d0f
Merge pull request #9767 from TacoGrandeTX/fix_nrf_swo_led2_clash
Remove ITM from NRF52_DK and DELTA_DFBM_NQ620 targets
2019-02-21 11:01:46 -06:00
Russ Butler b32b996419 Use us ticker for tickless on devs with wrapper
The low power ticker wrapper layer adds a large amount of interrupt
latency. This can cause dropped bytes at a baud of 115200 on some
devices. To prevent this by default use the microsecond ticker for
tickless on devices which make use of the low power ticker wrapper.
2019-02-21 10:51:10 -06:00
Cruz Monrreal bba538c714
Merge pull request #9777 from ashok-rao/MTB_STM_L475
Adding STM32_L475 as a new MTB target
2019-02-21 10:37:59 -06:00
Cruz Monrreal 5a2e135283
Merge pull request #9782 from Rhomb-io/master
Adding RHOMBIO_L476DMW1K as a new Board target
2019-02-21 10:31:03 -06:00
Sarah Marsh 44bc123483 Add bootlader support for NUCLEO_L073RZ on GCC 2019-02-21 16:14:16 +00:00
jeromecoutant 0d620fe720 STM32 LPTICKER (LPTIM): correct init execution after bootloader 2019-02-21 16:25:20 +01:00
Seppo Takalo 98846b64ec New Wiced binaries 2019-02-21 16:59:11 +02:00
Martin Kojtal dbd92c746b
Merge pull request #9387 from tymoteuszblochmobica/Sockets
Multihoming initial release
2019-02-21 13:50:03 +01:00
Guillermo Alonso 16628d7b8d Change in license identifier, removed commented dead code
Change in license identifier
Removed commented dead code
Removed some tab space
2019-02-21 11:55:41 +01:00
Ashok Rao 9102b59824 Changing SPDX license identifier to BSD-3-Clause 2019-02-21 10:35:25 +00:00
deepikabhavnani dab2a30c29 Target_Freescale: Add heap section in linker files 2019-02-20 16:01:40 -06:00
Cruz Monrreal fded3631e3
Merge pull request #9775 from vmedcy/psoc6-port-api
PSOC6: fix port_write API
2019-02-20 12:02:26 -06:00
Cruz Monrreal 59549b8eb4
Merge pull request #9616 from kjbracey-arm/nrf52_atomics
nRF52 serial: Tighten/simplify atomics
2019-02-20 11:58:34 -06:00
Guillermo Alonso faf03e02dc added licence identifier texts 2019-02-20 17:48:07 +01:00
Ashok Rao 6c3b732b17 Removing redundant code comments 2019-02-20 15:22:11 +00:00
Ashok Rao a7c878bb47 Adding SPDX license identifer for all new files 2019-02-20 15:07:03 +00:00
Ashok Rao 56508cfc4e Adding SPDX license identifier 2019-02-20 15:02:59 +00:00
Ashok Rao 1849921466 Adding STM32_L475 as a new MTB target 2019-02-20 14:40:39 +00:00
Martin Kojtal 39c8374760
Merge pull request #9554 from SeeedJP/hal-wio_3g-9450
Wio 3G: Modified sequence of module startup.
2019-02-20 13:57:33 +01:00
Seppo Takalo e45da3f78f Rebuild new Wiced binaries 2019-02-20 14:37:34 +02:00
Guillermo Alonso 7b2abc75c2 Added new target RHOMBIO_L476DMW1K 2019-02-20 12:10:53 +01:00
Volodymyr Medvid d49e2ab232 PSOC6: fix port_write API
Fix port_write API to correctly shift the passed value.
This allows the reference application provided in PortOut docs
to work corectly with arbitrary LED_MASK.
https://os.mbed.com/docs/mbed-os/v5.11/apis/portout.html

The fix applies to both PSOC6 and PSOC6_FUTURE HAL implementations.
2019-02-20 12:32:10 +02:00
Martin Kojtal 2d30d0ff99
Merge pull request #9762 from vmedcy/psoc6-target-updates
PSOC6: update the psoc6pdl and HAL to the latest version
2019-02-20 11:23:54 +01:00
Yoshihiro TSUBOI c41f1c75d7 [Wio 3G] Fix onboard modem initialization
Fix for issue #9450 by adding turning off the modem power at startup, so that modem is sure to be in the initial state.
Fix for wrong filename and classname.

// WIP
2019-02-20 19:00:12 +09:00
Martin Kojtal 3f46c82136
Merge pull request #9555 from SeeedJP/hal-wio_bg96-9450
Wio BG96: Modified sequence of module startup
2019-02-20 09:36:00 +01:00
deepikabhavnani c5ad5f6c94 Target_Freescale:Add heap section 2019-02-19 15:49:49 -06:00
deepikabhavnani f518a696de Remove unused heap_size define 2019-02-19 15:49:49 -06:00
deepikabhavnani 60e7a7da98 Add heap section to linker file 2019-02-19 15:49:49 -06:00
deepikabhavnani 38e9314ddd Add missing space in linker script 2019-02-19 15:49:49 -06:00
deepikabhavnani 2a1211a82a Add heaplimit to NRF52 devices 2019-02-19 15:49:49 -06:00
Deepika 9231e26f3f Corrected main thread stack size, was accidently updated by removing condition
Main thread stack size is reduced for TARGET_STM32F070RB and TARGET_STM32F072RB,
in recent update to mbed_rtx.h the conditional check for main thread size update
was removed.
2019-02-19 15:49:49 -06:00
Deepika e7e9e0734c Update K64F linker files for general solution of 2-ram regions 2019-02-19 15:49:49 -06:00
deepikabhavnani b36147fbe9 ISR_Stack_start/size defines are not needed, use linker file defines 2019-02-19 15:49:49 -06:00
deepikabhavnani 9ed7e4dc83 Remove unnecessary endif 2019-02-19 15:49:49 -06:00
deepikabhavnani d0cc7aceb5 Target_Cypress: Update linker files to add heap limit 2019-02-19 15:49:49 -06:00
Deepika 537b3646d3 Resolve build/type cast errors 2019-02-19 15:49:49 -06:00
Deepika 462f339d47 TARGET_Wiznet: Setup heap limit and size 2019-02-19 15:49:49 -06:00
Deepika c6a72f2cd7 TARGET_TT: Setup heap limit and size 2019-02-19 15:49:49 -06:00
Deepika 72ae546228 TARGET_TOSHIBA :Setup heap limit and size 2019-02-19 15:49:49 -06:00
Deepika e522c4691e Target_STM:_sbrk updated to use limits from linker files no need to set defines
_sbrk uses the exports from linker file __end and __HeapLimit to allocate memory
in heap. Linker scripts were updated accordingly to set the limits.
2019-02-19 15:49:49 -06:00
Deepika 1f57568015 TARGET_Silicon_Labs Setup heap limit and size 2019-02-19 15:49:49 -06:00
Deepika c85ca4db0c TARGET_RENESAS: _sbrk updated to use limits from linker files no need to set defines 2019-02-19 15:49:49 -06:00
Deepika a814078f0c Target_UNO_91H: Remove custom _sbrk, update heap limits 2019-02-19 15:49:49 -06:00
Deepika 73f4a52361 Target_ONSEMI: Setup heap limit and size 2019-02-19 15:49:49 -06:00
Deepika 57b9ccc517 Target_NXP: Setup heap limit and size 2019-02-19 15:49:49 -06:00
Deepika b2e189f453 Target_Nuvoton: Remove target specific implementation of _sbrk 2019-02-19 15:49:49 -06:00
Deepika 8c63dbeb31 Target_Maxim: Setup heap limit and size 2019-02-19 15:49:49 -06:00
Deepika 25a127e97b target_Gigadevice: Set the heap size and limit 2019-02-19 15:49:49 -06:00
Deepika e03455a920 Target_Freescale: Set the heap size and limit 2019-02-19 15:49:49 -06:00
Deepika 5e4dcaba71 Target_Cypress: Set the heap limit 2019-02-19 15:49:49 -06:00
Deepika 25bcedac38 TARGET_Atmel: Set the heap size and limit 2019-02-19 15:49:49 -06:00
Deepika 8b02a60b94 TARGET_ARM_FM: Set the heap size and limit 2019-02-19 15:49:49 -06:00
Deepika 41eaefeeb4 Update memory model for stack and heap memory
Memory model for RTOS and No RTOS was initially single stack and heap,
only few targets implemented 2-region RAM model.

2-region RAM model is applied for all toolchains and targets.

GCC: __wrap__sbrk was implemented for 2-region ram model, with switch to 2-region
for all targets, we do not need target specific implementation of this API
Also _sbrk is WEAK function, hence can be over written in target folder for
special cases
2019-02-19 15:49:45 -06:00
Przemyslaw Stekiel e60a0f46e4 Remove duplicated _mbed_user_setup_stackheap, __rt_lib_init definitions.
Few targets already used 2-region memory model.
2019-02-19 15:46:32 -06:00
RFulchiero 5fb5a4a414 Remove ITM from NRF52_DK and DELTA_DFBM_NQ620 targets
The NRF52_DK and DELTA_DFBM_NQ620 have the SWO pin (p0_18) mapped to
LED2. This means that on startup LED2 turns on after the ITM is
initialized which is confusing. Since most users want LED2 usage
instead of SWO we remove the ITM for these targets.

The nRF52 readme is updated to instruct users how to get SWO support
if they need it.
2019-02-19 15:20:36 -06:00
Volodymyr Medvid 06354bf48e PSOC6: update BSP generated sources with latest configurator
Use ModusToolbox Device Configurator 1.1.0.284 to generate the
BSP low-level initialization code. Compatible version of Device
Configurator to be released with ModusToolbox 1.1.

Notable changes:
* rename cycfg_connectivity -> cycfg_routing
* switch LF_CLK clock source from ILO to WCO on
  CY8CPROTO-062-4343W and CYW943012P6EVB-01
2019-02-19 17:59:05 +02:00
Volodymyr Medvid c97f742bd7 PSOC6: minor updates to Cypress HAL 2019-02-19 17:59:01 +02:00
Volodymyr Medvid edb944abf0 PSOC6: update PDL to the latest version 2019-02-19 17:04:10 +02:00
Martin Kojtal 723236f855
Merge pull request #9307 from mtomczykmobica/ONME-3949
Configuration options for STM_EMAC buffer counts
2019-02-19 14:09:24 +01:00
Marcin Tomczyk a5f93e0b07 ONME-3949 Configuration options for STM_EMAC buffer counts 2019-02-19 08:18:18 +01:00
Yoshihiro TSUBOI 89bb25efc1 [Wio BG96] Fix onboard modem initialization
Fix for issue #9450 by adding turning off the modem power at startup, so that modem is sure to be in the initial state.
2019-02-19 00:44:38 +09:00
Cruz Monrreal 31be2a320c
Merge pull request #9710 from Patater/remove-crypto-when-no-entropy
crypto: Remove PSA Crypto API from targets without entropy
2019-02-15 12:27:21 -06:00
Cruz Monrreal 31519eff4a
Merge pull request #9667 from deepikabhavnani/NXP_linker
Linker files for LPC11U68 and LPC1549 updated
2019-02-15 11:39:55 -06:00
Cruz Monrreal 67abaf5fa7
Merge pull request #9706 from jarvte/fix_powering_onboard_modems
Cellular: fix onboard modems powering failure.
2019-02-14 20:26:51 -06:00
Cruz Monrreal 5701c94384
Merge pull request #9714 from deepikabhavnani/cleanup_linker_files
Only GCC_ARM toolchain is supported, removing legacy code
2019-02-14 20:26:05 -06:00
Teppo Järvelin e4018bd9bb Cellular: fix onboard modems powering failure
Don't call soft power on if device was already powered.
Some modems need to wait before sending anything to modem after soft powering.
2019-02-14 12:39:37 +02:00
deepikabhavnani 818d38b6ae Only GCC_ARM toolchain is supported, removing legacy code 2019-02-13 16:26:22 -06:00
Jaeden Amero 326b119fa1 crypto: Remove PSA Crypto API from targets without entropy
An entropy source is required in order to use the PSA Crypto API. The
only devices Mbed OS knows are guaranteed by default to have an entropy
source are those devices with a TRNG. Don't enable the PSA Crypto API by
default for devices that Mbed OS can't know have an entropy source. This
avoids run-time errors when an entropy source is not present on these
targets.

Applications can add their own entropy source by place entropy into
their systems, implementing their own NV Seed read and write callbacks,
and then enabling the MBEDTLS_ENTROPY_NV_SEED configuration option to
notify the PSA Crypto implementation that an entropy source is present
and how to use it.

See https://os.mbed.com/docs/mbed-os/v5.11/porting/entropy-sources.html
for the background on why entropy is fundamental to system security and
how to inject entropy into systems that lack an on-board source of
entropy.
2019-02-13 15:04:43 +00:00