Commit Graph

216 Commits (ab1c2be997261bcb63129e6e56cc482be631e258)

Author SHA1 Message Date
Alastair D'Silva 2617c5d55b Don't use define checks on DEVICE_FOO macros (mbed code)
The DEVICE_FOO macros are always defined (either 0 or 1).

This patch replaces any instances of a define check on a DEVICE_FOO
macro with value test instead.

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2018-12-20 10:16:42 +11:00
jeromecoutant 84ee55bfe0 QSPI tests: update STM32 boards configuration
NB: STM directory removed in flash_configs as there is no STM memory
2018-12-13 10:56:35 +01:00
jeromecoutant 0af1ecd305 STM32 DISCO : enable QSPI tests when available 2018-12-13 10:56:27 +01:00
Kevin Bracey 13a24bc0bd Test MPU is enabled by init 2018-12-10 16:45:30 +02:00
Oren Cohen 2df2fc7d29
Fix PSA-HAL, TRNG, TLS tests 2018-12-06 01:22:50 +02:00
Martin Kojtal 52822cb8af
Merge pull request #8871 from c1728p9/mpu
MPU API (Reopened)
2018-11-28 10:28:32 +01:00
Russ Butler 7cdfbee28b Fix asyle problems
Run astyle to fix CI failures.
2018-11-27 09:29:33 +00:00
Russ Butler caa7b93921 Rename lock functions and classes
Invert the name of the lock functions and classes so you are not
locking a negative.
2018-11-27 09:29:32 +00:00
Russ Butler a7bf312106 Skip MPU fault tests for ARMv8-M
For enhanced security ARMv8-M firmware doesn't allow the hardfault
handler to be hooked by non-secure code. Because of this there is no
way to recover from the MPU fault tests. This PR disables those tests
until hardfault recovery is supported by secure firmware.
2018-11-27 09:29:32 +00:00
Russ Butler 47ac8ef3f0 Fix MPU test when MemManage fault enabled
Hook both the HardFault and the MemManage IRQs since it is up to the
target to determine which fault is enabled.
2018-11-27 09:29:32 +00:00
Russ Butler 24f002d6dc Clear caches before RAM execution in MPU test
Ensure that code written to ram is flushed and that caches are cleared
before attempting to executing from ram. This fixes CI failures on the
MPU test when it is built for Cotex-M7 devices such as the
NUCLEO-F746ZG.
2018-11-27 09:29:32 +00:00
Russ Butler 1821d37621 Overhaul MPU for new requirements
Make the following changes:
-Allow a vector specific ARM MPU driver by defining MBED_MPU_CUSTOM
-Allow ROM address to be configured for ARMv7-M devices by
    setting the define MBED_MPU_ROM_END
-Add ROM write protection
    -Add new functions and lock
    -enable at boot
    -disable during flash programming
2018-11-27 09:29:32 +00:00
Russ Butler 7283f9b0ee Add a formal HAL specification for the MPU API
Add a formal HAL specification consisting of:
-defined and undefined behavior
-test descriptions
-enable doxygen for MPU
2018-11-27 09:29:32 +00:00
Russ Butler d00f59fdc8 Rework MPU layout for future changes
Create a dedicated MPU directory for standard Arm MPU implementations
in preparation for the Arm v8m MPU. Replace MBED_MPU_ENABLED with
DEVICE_MPU to align with the porting layer of other HAL APIs.
2018-11-27 09:29:31 +00:00
Russ Butler c0ff98614a Disable the MPU when flashing
When programming flash using the FlashIAP API allow execution from
ram. Many devices require flashing to be done from RAM.

Also allow execution from ram when running the low level flash tests.
2018-11-27 09:29:31 +00:00
Russ Butler 8e2fd1a5cc Add an MPU test
Test that the MPU correctly stops execution of memory in the stack
region, heap region, data region and bss region. Also check that the
MPU can be enabled, disabled and freed.
2018-11-27 09:29:31 +00:00
Oren Cohen 773ac8dd95 CR fixes 2018-11-27 09:16:45 +02:00
Oren Cohen 53be3cccfc Fix the SPM HAL test 2018-11-27 09:16:41 +02:00
Alexander Zilberkant aea01a86f6 astyle changes 2018-11-27 09:16:38 +02:00
Oren Cohen dd73fa689c PSA SPM
* Intorduce PSA-SPM to mbed-os
* Add SPM tests (for PSA targets)
* Add PSA PRoT internal storage Secure implementation
* Integrate SPM into the boot proccess
* PSA manifest data generator
* Introduce PSA targets skeleton to mbed-os
* Add artifact delivery to the tools
2018-11-27 09:16:35 +02:00
Martin Kojtal 00c5b56e32
Merge pull request #8683 from NXPmicro/feature-qspi-lpc546xx
Feature qspi lpc546xx
2018-11-19 13:11:44 +00:00
Mahesh Mahadevan 6bd0be186b Add MT25Q Flash config
Signed-off-by: Maciej Bociański <maciej.bocianski@arm.com>
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-11-16 08:15:48 -06:00
Mahesh Mahadevan c21c599b25 Update the QSPI unit test for NXP LPC546XX board
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-11-16 07:56:30 -06:00
Martin Kojtal ef728d01dc tests: fix doxygen style 2018-11-15 07:20:12 +00:00
Martin Kojtal 501bc29426 rtc time test: fix coding style 2018-11-15 07:20:09 +00:00
Cruz Monrreal 9d95d46d6c
Merge pull request #8591 from 0xc0170/fix_coding_style_features
features: fix coding style
2018-11-09 09:40:56 -06:00
Martin Kojtal 28a5906479 tests: fix coding style 2018-11-08 08:54:34 +00:00
RFulchiero 0de5ab2686 Add a protected HAL set_time() test
When DEVICE_LPTICKER is defined set_time() only works correctly on
the first call. This test calls set_time() twice and ensures the
time set by both calls is correct.  This test only runs if
DEVICE_RTC or DEVICE_LPTICKER is defined.
2018-11-01 17:17:56 -05:00
Cruz Monrreal 5ed07c2dd4
Merge pull request #8328 from kjbracey-arm/noreturn
Error path tightening: use MBED_NORETURN; add+use core_util_atomic_flag
2018-10-29 20:49:54 -05:00
Kevin Bracey 0b27736536 Remove sleep manager tests that trigger mbed_error
Intercepting mbed_error will be too hard after mbed_error becomes
[[noreturn]], so remove tests that do this.
2018-10-29 13:58:05 +02:00
Cruz Monrreal II 14ce8f2721 Merge branch 'fix-freestanding-tests-module' of ssh://github.com/pan-/mbed into rollup 2018-10-26 11:42:59 -05:00
Martin Kojtal f90f1fc01d sleep test: fix coding style 2018-10-25 09:58:18 +01:00
Martin Kojtal bbfa322afb tests: fix astyle 2018-10-25 09:58:17 +01:00
Vincent Coubard 85bd15ce6e Doxygen: Move free standing HAL tests module inside their related HAL module. 2018-10-24 14:42:29 +01:00
Cruz Monrreal 0db896036c
Merge pull request #8485 from NXPmicro/feature-qspi-kinetis
Feature qspi kinetis
2018-10-23 12:38:11 -05:00
Cruz Monrreal 1123c2bf9d
Merge pull request #8377 from mprse/fix_for_issue_8368
Fix for issue #8368
2018-10-22 11:32:42 -05:00
Mahesh Mahadevan 86ae041b7a Update the QSPI unit test for Freescale boards
1. Add flash config files.
2. Flash used is MX25U3235F, include information for this
   device in the flash config file

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-19 10:34:12 -05:00
Kevin Bracey 1ef213ec89 Clean up Thread deprecation warnings
Static Thread methods and signal methods have been deprecated. Remove
all references in the main code, and most of the tests. Some tests of
the deprecated APIs themselves remain.
2018-10-12 14:57:13 +03:00
Anna Bridge 24857d0f91
Merge pull request #5285 from c1728p9/minimum_requirements_test
Update devices to have minimum 2K RAM and heap, also added test
2018-10-12 11:04:57 +01:00
Przemyslaw Stekiel 4a3bcee602 tests-mbed_hal-rtc_time: use templates instead of global variable 2018-10-11 11:59:01 +02:00
Przemyslaw Stekiel 8d57429de4 tests-mbed_hal-rtc_time: alocate required test data on stack
This is fix for issue 8368.

Test is causing some problems on `REALTEK_RTL8195AM` and `ARM` compiler. There is some kind of memory issue. Probably there is not enough memory space for global data provided by the test. Data definitions have been moved into test function body so, they will land on stack. With this fix the test works on `REALTEK_RTL8195AM/ARM`.
2018-10-11 11:58:47 +02:00
Filip Jagodzinski 3fcd8c4a3b Tests: SleepManager: Fix sleep_auto test
Use us & lp tickers directly, without the common ticker layer.
2018-10-09 17:52:45 +02:00
Filip Jagodzinski 9e34f76b4e Tests: Sleep: Extract test utility functions
Move a few of utility functions so other tests can use them.
2018-10-09 17:52:44 +02:00
Filip Jagodzinski f415af8147 Tests: SleepManager: Update test_check() test
Increase delta to 500 us. This value is still short enough to detect
incorrect behavior of the sleep_manager_can_deep_sleep_test_check() fun,
but allows the targets with low LP timer accuracy to pass, i.e.
NUCLEO_F429ZI.
2018-10-09 17:52:43 +02:00
Filip Jagodzinski 17e29618e6 Tests: SleepManager: Fix test suite setup
Use ticker init functions from upper HAL layer to allow proper handling
of ticker overflows.
2018-10-09 17:52:43 +02:00
Filip Jagodzinski 83745b99c5 Tests: SleepManager: Add test for new check() fun
sleep_manager_can_deep_sleep_test_check() is intended to be used in test
code.
2018-10-09 17:52:43 +02:00
Filip Jagodzinski 43c22e4977 Tests: SleepManager: update concurrent test docs 2018-10-09 17:52:42 +02:00
Filip Jagodzinski f2c222be15 Tests: SleepManager: extend test suite
New test cases:
* "deep sleep lock/unlock"
* "deep sleep unbalanced unlock"
* "deep sleep locked USHRT_MAX times"
* "deep sleep locked more than USHRT_MAX times"
* "sleep_auto calls sleep/deep sleep based on lock"
2018-10-09 17:52:42 +02:00
Przemyslaw Stekiel 1fced21d3b tests-mbed_hal-sleep: add message with failure details 2018-09-30 19:31:50 +02:00
Przemyslaw Stekiel 25b23a9286 tests-mbed_hal-sleep: finish UART transmission before sleep test
There is no problem with this test during the morph, but some issue has been noticed while testing new Jenkins CI in Oulu on NRF52_DK.
I was able to reproduce the issue locally. The difference between morph and local run is that CPU statistics are enabled on morph. This makes the difference and test passes.

The sleep test case perform sleep for 100 us, 200 us, ... ,1000 us in loop (us ticker wakes the board) and verifies if sleep time matches the assumption.
I got the following results:

sleep                 wake-up after
100 us                   ~100 us    ok
200 us                   ~200 us    ok
300 us                   ~300 us    ok
400 us                   ~400 us    ok
500 us                   ~14 us     (??)

When requested sleep time is equal to 500 us some unexpected interrupt occurs which wakeup the board and force the test to fail.
Register state just after exit from sleep:
Control and State Register: 0x00400000 (ISRPENDING - Interrupt pending flag is set).
NVIC Interrupt Set-pending Register[0]: 0x00000004 (UARTE0_UART0_IRQn) or 0x00000200 (TIMER1_IRQn - timer used by us ticker).

UART interrupt is generated because of green-tea transmission. We know that it is performed while test is executed since we need to wait before going into deep-sleep since otherwise the transmission will be broken. So to take care of UART interrupt we need to wait before sleep test in the same way like it is done in deep-sleep test.
2018-09-26 14:29:14 +02:00