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.
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/*
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
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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
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.
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
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.