Commit Graph

25980 Commits (d6429ef45f71c867d24ec6329230028ed262fbe5)

Author SHA1 Message Date
Kevin Bracey 7442da30f9 equeue - avoid Kernel::get_ms_count from IRQ
Kernel::get_ms_count is documented as not working from IRQ.

In RTOS builds it can return misleading answers - see
https://github.com/ARM-software/CMSIS_5/issues/625

In non-RTOS builds, it can trigger an assert, as it upsets the
sleep logic.

Modified code is still not ideal - could be improved further if
there was a fast path for "post now" that didn't bother looking
at timers (both at post time and dispatch time).
2019-07-15 10:13:50 +03:00
Martin Kojtal c98b0d0b03 VK_RZ_A1H: add mbed_get_a9_tick_irqn 2019-07-15 10:13:50 +03:00
Martin Kojtal 3f0a5281e0 SysTimer: irq Cortex A fix C linkage 2019-07-15 10:13:50 +03:00
Kevin Bracey ccf59f8e81 SysTimer: don't always hold deep sleep lock
Revert back to older behaviour where we hold deep sleep lock only while
timing a sleep. Previous version was a speed optimisation, but broke
some tests.
2019-07-15 10:13:50 +03:00
Kevin Bracey 77321ca79e CPU stats don't require low power ticker 2019-07-15 10:13:50 +03:00
Kevin Bracey c94d6a8cc7 Make events use RTOS API
Switch from CMSIS-RTOS to mbed C++ API, which are available in bare
metal build.

Other minor tidies, like removing unnecessary volatile.
2019-07-15 10:13:50 +03:00
Kevin Bracey a522dcfa0a Replace deprecated wait calls 2019-07-15 10:13:50 +03:00
Kevin Bracey fc8e8f67c6 Deprecate wait/wait_ms APIs 2019-07-15 10:13:50 +03:00
Kevin Bracey 04cb39da07 Minimal C thread API 2019-07-15 10:13:50 +03:00
Kevin Bracey 83b329cb71 RTOS API for bare metal
Provide partial RTOS API for bare metal builds - things that
can be done in a single threaded environment.

Allows more code to work in both RTOS and bare metal builds without
change, and in particular gives easy access to the ability to
efficiently wait for something occurring in interrupt.

Available in bare-metal:
* ThisThread
* osThreadFlagsSet to set flags on main thread (can be set from IRQ)
* EventFlags (can be set from IRQ)
* Semaphores (can be released from IRQ)
* Mutex (dummy implementation)

Not useful:
* ConditionVariable (could only be signalled from 2nd thread)
* RtosTimer (calls in a second thread context)
* Thread

Unimplemented:
* Mail, Queue, MemoryPool

Possible future work:
* ConditionVariableCS to act as IRQ signalled ConditionVariable
2019-07-15 10:13:50 +03:00
Kevin Bracey 38160035d4 rtos/mbed_lib.json: Correct indents 2019-07-15 10:13:49 +03:00
Kevin Bracey 89eba7303f Timed sleep rework 2019-07-15 10:13:49 +03:00
Kevin Bracey a1e1ab61a4 Switch SysTimer license to Apache 2019-07-15 10:13:49 +03:00
Kevin Bracey 20451082c1 Move SysTimer to platform, for non-RTOS use 2019-07-15 10:13:49 +03:00
Kevin Bracey 28b770510c CPU stats: strip more when disabled 2019-07-15 10:13:49 +03:00
David Saada fb3559d841 PSA storage: Conform to "PSA 1.0.0" spec release
- Add the no confidentiality & no replay protection flags
- Add actual size parameter in PS/ITS get APIs
- Change a few size parameters from uint32_t to size_t
2019-07-14 18:50:47 +03:00
Yuan Cao 6ed21ee1c0 Fixed serial_device IRQ infinite loop bug due to uint8_t overflowing 2019-07-13 00:05:25 -04:00
Evelyne Donnaes 2d6db332e6
Merge pull request #11010 from jeromecoutant/PR_ASYNCSPI
FPGA SPI: ASYNC issue
2019-07-12 16:34:42 +01:00
Jaeden Amero 045cd67e6d mbedtls: Update to Mbed TLS 2.18.1
Update to Mbed TLS 2.18.1 and Mbed Crypto 1.1.1.
2019-07-12 16:07:43 +01:00
Filip Jagodzinski 74be850126 Test: FPGA shield: Extend the GPIO HAL API tests 2019-07-12 14:01:57 +02:00
Kevin Bracey d53bd6120d
Merge pull request #10274 from kjbracey-arm/atomic_template
Add Atomic<T> template
2019-07-12 14:26:03 +03:00
Evelyne Donnaes 0f39f01595
Merge pull request #11027 from vmedcy/pr/cy-lwip
PSOC6: add LwIP configuration for Cypress boards
2019-07-12 11:22:11 +01:00
Chun-Chieh Li 1e5a52a1fd [Nuvoton] Fix mbedmicro-rtos-mbed-systimer/Wake up from deep sleep failing
This test requires total latency (tot = h/w + s/w) (wakeup from deepsleep) be
under 1ms. To check the issue, measure total latency on Nuvoton targets:

TARGET      EXP(us)     EXP+TOL(us) ACT(us)
NANO130     42000       43000       42939
NUC472      42000       43000       42236
M453        42000       43000       43274
M487        42000       43000       42877
M2351       42000       43000       43213

Checking h/w spec, h/w latency (wakeup time from normal power-down mode) on
M487/M2351 is just 1us (n/a on other targets). S/W latency plays the major
part here.

S/W latency relies on system performance. On Nuvoton targets, 'LPTICKER_DELAY_TICKS'
possibly complicates the test. Anyway, to pass the test, add extra 1ms latency
(deep-sleep-latency) in targets.json for Nuvoton targets.
2019-07-12 13:10:59 +08:00
Evelyne Donnaes 22c82dcb9c
Merge pull request #10692 from vmedcy/pr/psoc6-hal
PSOC6: initial integration of Cypress HAL
2019-07-11 17:28:23 +01:00
Russ Butler 87c6a74a21 Fix FPGA CI Test Shield warnings
Fix warnings due to unused variables, comparison between signed and
unsigned. This patch also re-enables I2C asserts that were disabled
during early development.
2019-07-11 16:16:34 +01:00
Russ Butler 57d75538da Add a restricted peripheral list
Allow peripherals to be excluded from testing.
2019-07-11 16:08:33 +01:00
Volodymyr Medvid 579cd9a355 PSOC6: add LwIP configuration for Cypress boards 2019-07-11 15:47:38 +01:00
Arto Kinnunen 237ad40093
Merge pull request #10963 from devran01/pr/10888/fix
PSA TESTS: Include mbedtls/config.h before evaluating MBEDTLS_PSA_CRYPTO_C
2019-07-11 15:49:57 +03:00
Volodymyr Medvid b6524070eb PSOC6: TARGET_PSOC6_FUTURE doesn't implement DEVICE_I2CSLAVE 2019-07-11 15:43:25 +03:00
Evelyne Donnaes 7db0e83836
Merge pull request #11013 from tymoteuszblochmobica/revert-10938-iar
Revert "K64F, STM32F429: IAR linker scripts dynamic  heap fix"
2019-07-11 12:18:53 +01:00
Volodymyr Medvid adfac3c1f9 PSOC6: do not remove QSPI from FUTURE_SEQUANA targets
Since QSPi is not yet supported by base TARGET_PSOC6,
there is no need to remove the device label from
FUTURE targets that inherit from TARGET_PSOC6.

This will need to be reverted back once the QSPI support
is implemented for Cypress PSOC6 targets.
2019-07-11 12:51:52 +03:00
Volodymyr Medvid bab34cb467 PSOC6: cleanup DEVICE_QSPI mappings
Note: device_has: "QSPI" is still disabled for TARGET_PSOC6
(QSPI HAL implementation is incomplete).
2019-07-11 12:50:56 +03:00
Volodymyr Medvid 2524a67c38 Merge remote-tracking branch 'ARMmbed/master' into pr/psoc6-hal 2019-07-11 10:19:03 +01:00
Martin Kojtal bd88d3ba00
Merge pull request #10997 from mark-edgeworth/iotbtool-21_absolute_path
Removing absolute paths to compiler executables
2019-07-11 10:08:17 +01:00
Martin Kojtal 9fdfe3fa30
Merge pull request #11002 from NXPmicro/Add_Restricted_List
LPC546XX: Add pins to LPCXpresso restricted list
2019-07-11 08:14:20 +01:00
Martin Kojtal 90aaa83723
Merge pull request #11012 from c1728p9/remove_analog_out
Remove FPGA analog out test
2019-07-11 06:32:18 +01:00
jeromecoutant ef845c8ca8 FPGA: remove 4 and 12 bits size support 2019-07-10 16:20:40 +02:00
Steven Cooreman f6a70b2028 Increase ADC test tolerance to 5%
During the SiP workshop, we discovered that 3% is too narrow due to a combination of:
Voltage rail differences between target and FPGA
Extension of lesser-resolution ADC's to 16-bit results
2019-07-10 14:12:46 +01:00
Tymoteusz Bloch 878c93673b Reverted "K64F, STM32F429: IAR linker scripts dynamic heap fix"
due to side effect with K64F bootloader application jump after three consecutive HW resets.
2019-07-10 13:30:40 +02:00
Steven Cooreman 35851005ef Fix wrongly declared ADC pinout for EFM32GG11 STK3701A 2019-07-10 11:27:29 +01:00
Volodymyr Medvid 140b72d3ed Merge remote-tracking branch 'ARMmbed/master' into pr/psoc6-hal 2019-07-10 10:54:14 +01:00
Martin Kojtal 279f4cd584
Merge pull request #11011 from SiliconLabs/fix/fpga_tests/i2c
Allow re-initialising an I2C peripheral on Silicon Labs targets
2019-07-10 10:44:54 +01:00
Russ Butler 8fffb94be2 Remove FPGA analog out test
Remove the analog out test temporarily due to limitations of the
FPGA rev 2 hardware.
2019-07-10 07:39:30 +01:00
Chun-Chieh Li 81dd2aa787 Fix mbed_hal-watchdog failing with OOM
This is to fix OOM error on targets with just 16KiB RAM.
2019-07-10 14:32:03 +08:00
Chun-Chieh Li debc38fd27 Fix mbed_drivers-watchdog failing with OOM
This is to fix OOM error on targets with just 16KiB RAM.
2019-07-10 14:31:33 +08:00
Steven Cooreman fb4d898f2e Allow re-initializing an I2C peripheral
Allows the FPGA based test to pass, but requires #11004 before it will
2019-07-09 23:37:11 +01:00
jeromecoutant d14d934f8d FPGA SPI: ASYNC issue 2019-07-10 00:30:13 +02:00
Steven Cooreman 6094542bb1 Avoid the FPGA tester using hardware CS which is not supported
Also implement rudimentary spi_free...
2019-07-09 22:48:37 +01:00
Steven Cooreman 476dc6e46a Fix for PWM output found by testing against FPGA shield
Two issues:
* Downcasting too early
* Potential for a uint32_t overflow in an intermediate calculation

Passing test requires #11005 to be merged.
2019-07-09 22:38:53 +01:00
Mahesh Mahadevan aef60d7edf LPC MCUXpresso: Remove extra I2C transaction on byte write
An extra start signal was observed on the bus which was
discovered by the FPGA test shield.
This is because the hardware sends out a transaction as soon
as a write to the START bit. Hence the write to the START
bit is delayed by using a flag.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-07-09 16:05:28 -05:00