Commit Graph

403 Commits (2e1627d31e7936ba672c0080787f6d4c5accf02e)

Author SHA1 Message Date
Kevin Bracey c46a2ad6ba MbedCRC HAL test: remove duplicates 2020-01-08 13:36:17 +02:00
Martin Kojtal 39daa5fd77
Merge pull request #12109 from hugueskamba/hk-replace-rawserial-usage
Replace RawSerial as it has been deprecated
2020-01-07 12:59:57 +01:00
Hugues Kamba dbaeeaf758 Replace RawSerial instances as it has been deprecated 2020-01-06 15:48:49 +00:00
Filip Jagodzinski 0b8baa568d Tests: ResetReason: Use the get_capabilities()
Make use of the new hal_reset_reason_get_capabilities() function to skip
unsupported reset resaons during tests.
2020-01-03 12:11:45 +01:00
Rajkumar Kanagaraj 952330721d Bare metal:Enabling the watchdog green tea test 2020-01-03 11:07:49 +01:00
Filip Jagodzinski 5a0fafdc89 Test: Watchdog: Update the test case teardown
Replace the thread used in the test case teardown with a Ticker to allow
testing with the bare metal profile. This Ticker is used to prevent the
watchdog from resetting the device during the final greentea
communication.
2020-01-02 17:31:32 +01:00
jeromecoutant 4bdd57341b TESTS-MBED_HAL-COMMON_TICKERS no more executed 2019-12-27 16:04:30 +01:00
Chris Trowbridge 6b8b324eaa Add QSPI and relevant test support for target EP_AGORA 2019-12-05 14:58:06 -05:00
Kevin Bracey fe22bc023e Update HAL CRC API
* Change "is supported" check to be a macro, so it can be done at
  compile-time.
* Eliminate weird shift on 7-bit CRCs.
* Add support for 32-bit CRCs and reversals to TMPM3HQ.
2019-12-02 14:45:37 +02:00
Evelyne Donnaes f32292952e Compilation fixes 2019-11-28 14:45:07 +00:00
Martin Kojtal d5f813b6a3
Merge pull request #11956 from ABOSTM/FIX_SLEEP_MANAGER
tests-mbed_hal-sleep_manager: fix regression found on since PR #11721
2019-11-27 11:45:04 +01:00
Alexandre Bourdiol 64765ff35d tests-mbed_hal-sleep_manager: fix regression found on since PR #11721
This test is failed since #11721 Bare metal greentea support
on many STM32 boards:
NUCLEO_F072RB, NUCLEO_F070RB
NUCLEO_F411RE, NUCLEO_F439ZI, NUCLEO_F446ZE, DISCO_F407VG
NUCLEO_F303RE
...
2019-11-27 09:20:46 +01:00
Martin Kojtal 5f7ecea00b
Revert "MbedCRC and CRC HAL revisions" 2019-11-26 13:45:37 +00:00
Martin Kojtal 83fc580f79
Merge pull request #11773 from fkjagodzinski/fix-watchdog_reset_test
Fix watchdog reset test
2019-11-22 22:26:44 +01:00
Martin Kojtal fd22997b60
Merge pull request #11559 from kjbracey-arm/crc
MbedCRC and CRC HAL revisions
2019-11-13 18:24:04 +01:00
Kevin Bracey 1f94428a56 Update HAL CRC API
* Change "is supported" check to be a macro, so it can be done at
  compile-time.
* Eliminate weird shift on 7-bit CRCs.
* Add support for 32-bit CRCs and reversals to TMPM3HQ.
2019-11-13 14:31:49 +02:00
Kyle Kearney cc4d428f3f Remove hard-coded instruction ids from QSPI Tests
Replace with macros from the test flash_config header, consistent with
how most commands are built in this test.
2019-11-12 12:26:25 -08:00
Matthew Macovsky 106fd5b4a5 Update QSPI test to reflect fixes in QSPIFBlockDevice 2019-11-12 12:26:25 -08:00
RAJKUMAR KANAGARAJ 6437f99a11 Error message correction and rx_lib header filer removed on systimer test case 2019-11-08 16:11:11 -08:00
RAJKUMAR KANAGARAJ 74d19395f6 Enabled the sleep,sleep_manager,watchdog_reset test case for bare metal greentea test 2019-11-07 10:34:03 -08:00
RAJKUMAR KANAGARAJ f1139ebd8e Incorporated the review comments
-Added "rtos-api" in TESTS/configs/baremetal.json
-some test case used thread_sleep_for instead Thisthread::sleep_for
-Added the EOF character
-Disable completely the non supported test cases
2019-11-07 07:19:13 -08:00
RAJKUMAR KANAGARAJ b1731ce3c8 -New PR for PSA,Netsocket,storage components,reverted all the changes to back to original
-Change the #error description more precisely
 -Separated the MBED_CONF_RTOS_PRESENT guarded
2019-11-06 01:59:05 -08:00
RAJKUMAR KANAGARAJ 302f595c28 - Emac,NFC-EEPROM,PSA-CRYPTO components build issue fixed
- RTOS supported test case guarded with MBED_CONF_RTOS_PRESENT flag
 - Added the #error to non supported test case for bare metal
2019-11-06 01:57:29 -08:00
Filip Jagodzinski 55e1a760cb Test: Watchdog: Update the deepsleep wait
Extend the deepsleep wait up to 220% of the Watchdog timeout.
One of the current Watchdog timing requirements is to fire BEFORE twice
the timeout value, but at least one target (K64F) is expected to fire
EXACTLY at a doubled timeout value in deepsleep mode. This patch updates
the test to cope with a new deepsleep timing requirement.
2019-11-05 11:49:39 +01:00
Martin Kojtal eea83007be
Merge pull request #11203 from Tharazi97/Watchdog_lower_limit_timeout_test
Add watchdog lower limit timeout test
2019-10-31 14:25:52 +01:00
Filip Jagodzinski 5dcd0f7aec Prevent sleep during watchdog lower limit test 2019-10-30 16:00:28 +01:00
Filip Jagodzinski 8640da4f9d Test: Watchdog: Update the sleep & deepsleep cases
Use ThisThread::sleep_for() for sleeping instead of the calls to
Semaphore::acquire().
2019-10-30 12:51:47 +01:00
Filip Jagodzinski 361804b91d Test: Watchdog: Fix deepsleep wait
Wait for the serial buffers flush before starting the watchdog.
2019-10-30 12:51:47 +01:00
Filip Jagodzinski e3f8711818 Test: Watchdog: Update the deprecated calls
Replace the wait_ms() with wait_us().
Replace the Semaphore::wait() with Semaphore::acquire().
2019-10-30 12:51:46 +01:00
Filip Jagodzinski 2410257551 Test: Watchdog: Fix LP ticker preproc condition 2019-10-30 12:51:46 +01:00
Filip Jagodzinski 7af11fa4b5 Test: Watchdog: Fix error handling
Add a watchdog-kicking thread running in the background when the test
suite is handling a failed assertion. A single watchdog kick did not
provide enough time for the greentea communication if the watchdog
reset happened later than expected.
2019-10-30 12:51:19 +01:00
Martin Kojtal 87b150a1fe
Merge pull request #11715 from miteshdedhia7/pr/target-cyw9p62s1-43012
Add CYW9P62S1_43012EVB_01 board
2019-10-29 10:29:10 +01:00
Martin Kojtal 87a5e47b42
Merge pull request #11631 from maciejbocianski/qspi_frequency_test_fix
Qspi frequency test fix
2019-10-28 09:41:36 +01:00
Ryan Morse ecdbdc03dd Added CYW9P62S1_43012EVB_01 board
Notes:
- CRC and TRNG are disabled on this board since the MCU on this board does not have the required hardware.
- QSPI and QSPIF are temporarily removed due to issues related to supporting the new S25FS512S flash chip we have on this board. These will be enabled as soon as we can get the issues resolved.
https://github.com/ARMmbed/mbed-os/issues/11722
2019-10-21 15:36:44 -07:00
Martin Kojtal fe12608226
Merge pull request #11444 from jeromecoutant/PR_QSPI_EXTERNAL
QSPI : Define default pins at drivers level
2019-10-21 15:19:08 +02:00
Kyle Kearney bb872ee196 Restore old qspi_alt_size_t values as compatibility macros 2019-10-16 09:37:27 -07:00
jeromecoutant 23e6840f95 QSPI HAL test: flash configuration file selection update 2019-10-15 17:38:47 +02:00
jeromecoutant 5c1c5588ab QSPI test should use json defined QSPI pins 2019-10-15 17:36:49 +02:00
Maciej Bocianski d54186601b hal qspi test: adjust min frequency for EFM32GG11
according to the driver limitations
2019-10-04 11:12:58 +02:00
Maciej Bocianski 746bdf9923 hal qspi test: fix frequency setting test
Prevent setting frequency below QSPI_MIN_FREQUENCY
2019-10-04 10:45:08 +02:00
Matthew Macovsky baf375f8cb Allow for arbitrary QSPI alt sizes
The QSPI spec allows alt to be any size that is a multiple of the
number of data lines. For example, Micron's N25Q128A uses only a
single alt cycle for all read modes (1, 2, or 4 bits depending on
how many data lines are in use).
2019-09-30 14:45:08 -07:00
int_szyk 36d010d796 Add watchdog lower limit timeout test 2019-09-30 08:10:14 +02:00
int_szyk b481e15eaa Change reset_reason timeout.
Changed mbed_drivers-reset_reason and mbed_hal-reset_reason tests
because sometimes for some devices it was a little bit to short.
2019-09-13 13:29:56 +02:00
Martin Kojtal 453122944c
Merge pull request #11366 from 0xc0170/dev_rollup
Rollup part 2 for 5.14
2019-08-29 09:28:49 +02:00
Kyle Kearney 364df397e7 Add QSPI flash configs for several Cypress targets 2019-08-28 10:56:15 -07:00
Martin Kojtal 96d9a8fea9 Merge branch 'MX25LM51245G_QSPI_test_config' of git://github.com/LMESTM/mbed into dev_rollup 2019-08-28 18:37:17 +01:00
Laurent Meunier 1c291361ec MX25LM51245G test config: explicitely remove unsupported commands 2019-08-23 14:47:21 +02:00
Laurent Meunier 4f22a10978 Add MX25LM51245G Serial Flash test config file 2019-08-22 15:15:53 +02:00
Laurent Meunier ac085926dc QSPI test: Add condition to multiple IO read support
For memories like MX25LM51245G that do not support dual or quad read (in
this case because it supports single and octo-IO modes)
2019-08-22 15:15:53 +02:00
Laurent Meunier 7dddf643ed Add QSPIF test flash config for TARGET_DISCO_L4R9I 2019-08-22 15:10:19 +02:00
Martin Kojtal 398515a367
Merge pull request #11236 from hugueskamba/hk-iotcore-1315-remove-floating-point-ticker
Force inline Timer::attach() to get rid of floating-point instructions
2019-08-20 11:47:54 +02:00
Martin Kojtal 3b631fd752
Merge pull request #11172 from Tharazi97/Watchdog_fail
make watchdog kick reset test pass CI (LSI problem)
2019-08-20 09:42:24 +02:00
Hugues Kamba 3373d78ec8 Rename hal/rtc test callback to avoid overloading 2019-08-19 16:13:14 +01:00
Martin Kojtal 80556a01fd
Merge pull request #11167 from Tharazi97/Lp_ticker_tests
Fix lp ticker and common ticker tests
2019-08-13 11:10:10 +02:00
Martin Kojtal 69bfc3460b
Merge pull request #11157 from mprse/us_ticker_freq_fix
Relax us ticker frequency requirement + test update
2019-08-13 11:02:16 +02:00
int_szyk da70c886c1 tweak watchdog kick reset test
Change the value of KICK_ADVANCE_MS so targets pass the test in worst cases
2019-08-13 08:16:24 +02:00
int_szyk 21590320a6 tweak overflow_protect() common_tickers() 2019-08-06 11:29:08 +02:00
George Psimenos 3b23edb78c Fix CI for branch feature-public-headers (#11093)
* Fix rtos include path in NRFCordioHCIDriver
* Flatten USB driver directory structure
* Add missing include for us_ticker
* Add more missing includes for us_ticker
* Fix mbed_hal_fpga_ci_test_shield/uart test
* Fix bare-metal build
* Fix Watchdog UNITTEST
* Fix Mbed OS 2 build for Public/Internal headers relocating
2019-08-02 12:32:40 +01:00
Evelyne Donnaes 8013af2f1e Fixing include files due to latest rebase 2019-08-02 12:23:47 +01:00
Przemyslaw Stekiel 6faf480aba tests-mbed_hal-us_ticker: adapt to the new requirements (relax us ticker frequecy). 2019-08-02 13:23:32 +02:00
Seppo Takalo 818c1d6f0f
Merge pull request #11130 from Tharazi97/NotSupportedTest
Updated testcases
2019-08-02 13:27:54 +03:00
int_szyk afddbbf2dc tweaked overflow_protect() lp_ticker() 2019-08-02 10:42:12 +02:00
int_szyk ae6f8be146 Newline at the end of files 2019-08-01 08:44:58 +02:00
int_szyk 17a4c1b2e9 Update main.cpp 2019-07-31 11:41:57 +02:00
int_szyk 8b68a1ea58 Updated testcases 2019-07-31 10:46:38 +02:00
Filip Jagodzinski 0e40e89b7f Add a sanity check for the GPIO-IRQ pinmap 2019-07-25 10:56:04 +02:00
Seppo Takalo 3d5489a6f8
Merge pull request #10644 from fkjagodzinski/hal-gpio_pinmap
Add a gpio pinmap
2019-07-17 14:39:40 +03:00
Seppo Takalo 987533859a
Merge pull request #10104 from kjbracey-arm/sleep_api
Sleep rework, RTOS API for bare metal, wait deprecations
2019-07-17 14:37:53 +03:00
Kevin Bracey a522dcfa0a Replace deprecated wait calls 2019-07-15 10:13:50 +03: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
Martin Kojtal ccb63d771e
Merge pull request #10857 from ARMmbed/feature-watchdog
Add Watchdog and ResetReason
2019-07-03 11:43:52 +01:00
Filip Jagodzinski b89eeb7ec5 Test: Watchdog: Fix test_restart case
Watchdog::stop() is called in this test. If the target does not support
stopping the watchdog this case needs to be skipped.
Also improve handling ignored test cases.
2019-07-02 12:46:23 +01:00
Martin Kojtal 85c477c1dc
Merge pull request #10609 from kjbracey-arm/us_ticker_optimise
wait_us optimization
2019-06-28 14:29:00 +01:00
Martin Kojtal a2c9152441
Merge pull request #10700 from LMESTM/hal_sleep_manager_test_update
Update HAL Sleep manager test to cope with STM32 LPTIM HW
2019-06-28 13:19:10 +01:00
Martin Kojtal e40a76575f watchdog: fix copyright 2019-06-26 09:43:21 +01:00
Filip Jagodzinski ee202dafd8 Test: update HAL watchdog-timing test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski 81898af2b5 Test: update HAL watchdog-reset test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.
Remove explicit calls to sleep.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski 777a863ac8 Test: update HAL watchdog test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski 68e536b368 Test: update HAL reset_reason test
Update the watchdog timing requirements:
1. The watchdog should trigger at, or after the timeout value.
2. The watchdog should trigger before twice the timeout value.
2019-06-26 09:09:59 +01:00
Filip Jagodzinski 8d8383b23c Tests: SleepManager: Fix test_check for NRF5X
Add missing `lp_ticker_clear_interrupt()` in the interrput handler used
in `test_lock_unlock_test_check()` test.
Remove redefined `us_to_ticks()`.
2019-06-24 18:24:01 +02:00
Laurent Meunier 8476be6285 Update test_lock_unlock_test_check() assertion to cope with new timings
With the DEEP_SLEEP_TEST_CHECK_WAIT_DELTA_US increased,
we now have TEST_ASSERT_UINT64_WITHIN(delta=1000, expected=1000, actual=1000)
so this assertion needed to be updated.

What we need is the deep sleep to be enabled after the programed interrupt
has fired and before a 2ms timeout expiration, which means >= 1000 and < 2000.
2019-06-19 15:33:34 +02:00
Anna Bridge d8c17b5fab
Merge pull request #10536 from mprse/stm_lptim_issue
Changes required by the ST low power ticker wrapper.
2019-06-19 12:08:21 +01:00
Laurent Meunier d6c3d79a9d Increase DEEP_SLEEP_TEST_CHECK_WAIT_DELTA_US
now that sleep_manager_can_deep_sleep_test_check() is based on wait_ns
2019-06-19 11:00:33 +02:00
Przemyslaw Stekiel d577e7f186 Further modifications in Sleep Manager test.
Changes:
- restore the original form of setup/teardown handlers,
- test_lock_unlock_test_check(): do not use common ticker layer (Timer, Timeout). Use only ticker HAL layer.
- Increase DEEP_SLEEP_TEST_CHECK_WAIT_DELTA_US delta.
2019-06-18 18:06:02 +02:00
Filip Jagodzinski c5ad70c1e5 Tests: Watchdog: Update timing test
Skip test cases with unsupported timeout values.
2019-06-14 10:59:06 +02:00
Filip Jagodzinski d634862a09 Tests: Watchdog: Decrease default timeout to 100 ms 2019-06-14 10:59:06 +02:00
Filip Jagodzinski c29cdab079 Tests: Watchdog: Update test case teardown
Added a mechanism which will prevent an initialised watchdog from
resetting the device during final greentea communication.
This allows testing watchdog timeouts as short as 50 ms.
2019-06-14 10:59:06 +02:00
Kevin Bracey 57310729d4 wait_us optimization
As the timer code became more generic, coping with initialization on
demand, and variable width and speed us_ticker_api implementations,
wait_us has gradually gotten slower and slower.

Some platforms have reportedly seen overhead of wait_us() increase from
10µs to 30µs. These changes should fully reverse that drop, and even
make it better than ever.

Add fast paths for platforms that provide compile-time information about
us_ticker. Speed and code size is improved further if:

* Timer has >= 2^32 microsecond range, or better still is 32-bit 1MHz.
* Platform implements us_ticker_read() as a macro
* Timer is initialised at boot, rather than first use

The latter initialisation option is the default for STM, as this has
always been the case.
2019-06-14 10:22:08 +03:00
Laurent Meunier 83e274a82c Remove unused variable
and avoid associated warning ...
2019-06-13 16:47:02 +02:00
Martin Kojtal fbcae489a0
Merge pull request #10762 from mprse/reenable_tests
Disable only time drifting test cases and fix GREENTEA_SETUP() call in tests
2019-06-11 07:35:41 +01:00
Laurent Meunier 24203fc42b Fix compilation issue for targets without LPTICKER or USTICKER 2019-06-10 18:03:04 +02:00
Martin Kojtal dc77c40fe9
Merge pull request #10709 from LDong-Arm/nrf52_cordio
Default to Cordio BLE stack for NRF52* targets
2019-06-09 18:03:34 +01:00
Martin Kojtal a2c029404b
Merge pull request #10437 from OpenNuvoton/nuvoton_psa_exclude_test
PSA: Exclude mbed-hal-spm test for M23 target
2019-06-07 17:19:27 +01:00
Laurent Meunier d4db0f30c7 Update HAL Sleep manager test to cope with STM32 LPTIM HW
In particular and as kindly suggested by Przemec S. :
1. Add setup/teardown handler’s for all cases. This disables sys-tick,
so there should be no unexpected lp ticker interrupt scheduling.
2. Modify setup/teardown handler’s: remove suspension of lp/us tickers,
so they can count as this is required by test_lock_unlock_test_check test
case.
3. Use TEST_ASSERT_TRUE(sleep_manager_can_deep_sleep_test_check()) after
setting interrupt to cope with STM specific handling (CMPOK interrupt with
deep-sleep locked). This performs wait only if needed and will not affect
other targets which do not need extra wait.
4. Move sleep_manager_lock_deep_sleep() after TEST_ASSERT_TRUE(sleep_manager_can_deep_sleep_test_check())
5. Use TEST_ASSERT_TRUE(sleep_manager_can_deep_sleep_test_check()) in
test_lock_unlock_test_check to let lower layers manage deep sleep.
2019-06-07 16:37:44 +02:00
Przemyslaw Stekiel 86dab2f9fa Disable time drifting test cases.
Time drifting test cases use serial communication with the host and are unstable on CI.
Skip time-drifting test cases if SKIP_TIME_DRIFT_TESTS macro is defined.
The idea for the future is to use FPGA test shield for timing tests instead of host scripts.

Also remove `__ARM_FM` macro which in most cases was used to disable time drifting tests. In other cases replace `__ARM_FM` with `TARGET_ARM_FM` which is more suitable.
2019-06-06 21:48:04 +02:00
Przemyslaw Stekiel c325dbc695 Fix GREENTEA_SETUP() call in not time drifting tests.
In these tests GREENTEA_SETUP() is incorrectly called with "timing_drift_auto" instead of "default_auto".
2019-06-05 13:32:13 +02:00
Lingkai Dong 977eea4447 critical_section tests: do not check APP interrupts on NRF52
APP interrupts are masked on SoftDevice BLE stack only, but we
have switched to Cordio stack on NRF52 targets.
2019-06-05 09:53:53 +01:00
Maciej Bocianski 90fbab0419 hal_qspi_test: undo buggy code
Remove some buggy code introduced to hal_qspi_test by PR #10435
Added support for QSPI to Cypress Boards
a8570ffe6c
2019-06-04 14:14:21 +02:00
Przemyslaw Stekiel 874ff1fe22 tests-mbed_hal-sleep: add exception for STM LPTIM targets.
On some targets like STM family boards with LPTIM enabled an interrupt is triggered on counter rollover.
We need special handling for cases when next_match_timestamp < start_timestamp (interrupt is to be fired after rollover).
In such case after first wake-up we need to reset interrupt and go back to sleep waiting for the valid one.

On some targets like STM family boards with LPTIM enabled there is a required delay (~100 us) before we are able to reprogram LPTIM_COMPARE register back to back.
This is handled by the low level lp ticker wrapper which uses LPTIM_CMPOK interrupt. CMPOK fires when LPTIM_COMPARE register can be safely reprogrammed again.
This means that on these platforms we have additional interrupt (CMPOK) fired always ~100 us after programming lp ticker.
Since this interrupt wake-ups the board from the sleep we need to go to sleep after CMPOK is handled.

Background:
There is an errata in LPTIM specification that explains that CMP Flag
condition is not an exact match (COUNTER = MATCH) but rather a
comparison (COUNTER >= MATCH).

As a consequence the interrupt is firing early than expected when
programing a timestamp after the 0xFFFF wrap-around.

In order to
work-around this issue, we implement the below work-around.
In case timestamp is after the work-around, let's decide to program the
CMP value to 0xFFFF, which is the wrap-around value. There would anyway be
a wake-up at the time of wrap-around to let the OS update the system time.
When the wrap-around interrupt happen, OS will check the current time and
program again the timestamp to the proper value.
2019-05-31 14:16:34 +02:00
ccli8 b4e5a53f48 Exclude mbed-hal-spm test for TrustZone chips
This is because for TrustZone chips like M23/M33, SecureFault is implemented in
secure-side and cannot pass on to non-secure side.
2019-05-29 16:09:03 +08:00