Target
ST platfoms (tested with NUCLEO F401RE and F411RE)
Toolchain:
GCC_ARM ARM
We're trying to finalize CMSIS5/RTX2 (https://github.com/ARMmbed/mbed-os/tree/feature_cmsis5) update in next month or two, but we're having issues with ST platforms. When executing tests (eg mbed test -n tests-mbedmicro-rtos-mbed-basic -m NUCLEO_F401RE -vv) I'm getting a timeout. I had a bit of troubles trying to debug the issue, but as far as i can tell the execution never leaves SystemInit, it's stuck in TIM5_IRQHandler in an infinite loop. While stepping through the code it seems the interrupt was happening while trying to access SysTick counter (HAL_GetTick), but I'm not 100% sure.
@0xc0170 Could you ping some ST people, maybe they could have a look into it?
CC: @sg- @c1728p9
cc @bcostm @adustm @LMESTM @jeromecoutant
Hi,
This test is ok on the master branch. I don't know if you can rebase your branch on top of master ?
mbedgt: test suite report:
+-----------------------+---------------+---------------------------------+--------+--------------------+-------------+
| target | platform_name | test suite | result | elapsed_time (sec) | copy_method |
+-----------------------+---------------+---------------------------------+--------+--------------------+-------------+
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-basic | OK | 22.23 | shell |
+-----------------------+---------------+---------------------------------+--------+--------------------+-------------+
mbedgt: test suite results: 1 OK
mbedgt: test case report:
+-----------------------+---------------+---------------------------------+---------------------------------+--------+--------+--------+--------------------+
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-----------------------+---------------+---------------------------------+---------------------------------+--------+--------+--------+--------------------+
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-basic | tests-mbedmicro-rtos-mbed-basic | 1 | 0 | OK | 22.23 |
+-----------------------+---------------+---------------------------------+---------------------------------+--------+--------+--------+--------------------+
mbedgt: test case results: 1 OK
mbedgt: completed in 26.92 sec
mbed-os version
65956d1 Merge pull request #3677 from c1728p9/armcc_linker_flags
I know it is ok on master and the feature branch is almost up to date with master anyway. But it seems to be broken (for all ST platforms I've tried) with the update to cmsis5/rtx2 and my debugging led me into bowels of the platform. It's the change we'll be landing soon on master and I'd like to have ST boards passing all the tests. Could you guys help us with debugging it please.
ping
Hi,
I have installed the latest uVision V5.23 toolchain and generated a project using "mbed export" in order to start debugging.
But I have these 2 errors:
assembling irq_cm4f.s...
rtos\rtx2\TARGET_CORTEX_M\TARGET_RTOS_M4_M7\TOOLCHAIN_ARM\irq_cm4f.s(81): error: A1854E: Unknown opcode 'VSTMDBEQ', maybe wrong target CPU?
rtos\rtx2\TARGET_CORTEX_M\TARGET_RTOS_M4_M7\TOOLCHAIN_ARM\irq_cm4f.s(97): error: A1854E: Unknown opcode 'VLDMIAEQ', maybe wrong target CPU?
It's strange because when I compile with mbed test -vv -m NUCLEO_F401RE -t ARM --compile I don't have any error. Same with GCC_ARM build, no error.
Do you use a uvision project for your debug ?
I don't generally use windows, but yes when I was trying to debug this issue I was using uVision 5.20 (ARMC 5.06). It seems that the flag is correctly set __FPU_PRESENT as this platform has FPU. I'm not in the office and don't have access to windows machine right now to recheck that, can uVision debugger use binary built externally by mbed compile --profile debug -m NUCLEO_F401RE -t ARM?
I don't know if this is feasible or not ? Anyway I have commented the 2 lines just to see if the rest was ok and I have now 4247 errors during linking...
But seems to be the same error:
*** Using Compiler 'V5.06 update 4 (build 422)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'mbed-os'
compiling main_blink_led.cpp...
linking...
.\BUILD\mbed-os.axf: Error: L6366E: analogin.o attributes are not compatible with the provided attributes .
Object analogin.o contains Build Attributes that are incompatible with the provided attributes.
Tag_FP_arch = VFPv4 instructions were permitted, but only citing registers D0-D15 (=6)
Tag_ABI_HardFP_use = This code should execute on the single-precision variant derived from Tag_FP_arch (=1)
Tag_FP_HP_extension = Use of the optional half-precision extension to VFPv3/Advanced SIMDv1 was permitted (=1)
.\BUILD\mbed-os.axf: Error: L6367E: analogin.o(.rev16_text) attributes are not compatible with the provided attributes .
Object analogin.o contains Build Attributes that are incompatible with the provided attributes.
Tag_FP_arch = VFPv4 instructions were permitted, but only citing registers D0-D15 (=6)
Tag_ABI_HardFP_use = This code should execute on the single-precision variant derived from Tag_FP_arch (=1)
Tag_FP_HP_extension = Use of the optional half-precision extension to VFPv3/Advanced SIMDv1 was permitted (=1)
.\BUILD\mbed-os.axf: Error: L6367E: analogin.o(.revsh_text) attributes are not compatible with the provided attributes .
Object analogin.o contains Build Attributes that are incompatible with the provided attributes.
Tag_FP_arch = VFPv4 instructions were permitted, but only citing registers D0-D15 (=6)
Tag_ABI_HardFP_use = This code should execute on the single-precision variant derived from Tag_FP_arch (=1)
Tag_FP_HP_extension = Use of the optional half-precision extension to VFPv3/Advanced SIMDv1 was permitted (=1)
.\BUILD\mbed-os.axf: Error: L6367E: analogin.o(.rrx_text) attributes are not compatible with the provided attributes .
Object analogin.o contains Build Attributes that are incompatible with the provided attributes.
Tag_FP_arch = VFPv4 instructions were permitted, but only citing registers D0-D15 (=6)
Tag_ABI_HardFP_use = This code should execute on the single-precision variant derived from Tag_FP_arch (=1)
Tag_FP_HP_extension = Use of the optional half-precision extension to VFPv3/Advanced SIMDv1 was permitted (=1)
...
Do you have similar issues on master?
Yes same error on master.
OK, it explains a lot I did a rebase on monday. You mind creating a bug report for master?
@bcostm I manage to reproduce the issue with current master and only CMSIS changed, I prepared branch for F401 https://github.com/bulislaw/mbed-os/tree/st401_update_cmsis_no_rtx
Tested with tests-mbedmicro-rtos-mbed-threads (which hangs)
I have now a uvision project that compiles thanks to the fix Martin suggested.
I have tested your branch st401_update_cmsis_no_rtx with different test codes:
feature_cmsis5 branch doesn't work for me (hang).mbed test| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-------------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads | 1 | 0 | OK | 0.05 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with child | 1 | 0 | OK | 0.04 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with murder | 1 | 0 | OK | 0.08 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with wait | 1 | 0 | OK | 0.16 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with child | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with murder | 1 | 0 | OK | 0.07 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with wait | 1 | 0 | OK | 1.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with yield | 1 | 0 | OK | 0.08 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread | 1 | 0 | OK | 0.03 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with child | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with murder | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with wait | 1 | 0 | OK | 0.19 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing thread self terminate | 1 | 0 | OK | 0.09 |
+-------------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-------------------+---------------+-------------------------------------+--------------------------------------+--------+--------+--------+--------------------+
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-basic | tests-mbedmicro-rtos-mbed-basic | 0 | 1 | ERROR | 69.44 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-isr | tests-mbedmicro-rtos-mbed-isr | 1 | 0 | OK | 16.35 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-mail | tests-mbedmicro-rtos-mbed-mail | 1 | 0 | OK | 12.89 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-malloc | tests-mbedmicro-rtos-mbed-malloc | 1 | 0 | OK | 26.32 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-mutex | tests-mbedmicro-rtos-mbed-mutex | 1 | 0 | OK | 21.47 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-queue | tests-mbedmicro-rtos-mbed-queue | 1 | 0 | OK | 12.94 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-semaphore | tests-mbedmicro-rtos-mbed-semaphore | 1 | 0 | OK | 18.68 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-signals | tests-mbedmicro-rtos-mbed-signals | 1 | 0 | OK | 16.32 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads | 1 | 0 | OK | 0.01 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with child | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with murder | 1 | 0 | OK | 0.08 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with wait | 1 | 0 | OK | 0.16 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with child | 1 | 0 | OK | 0.07 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with murder | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with wait | 1 | 0 | OK | 1.07 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread | 1 | 0 | OK | 0.05 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with child | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with murder | 1 | 0 | OK | 0.07 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with wait | 1 | 0 | OK | 0.16 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing thread self terminate | 1 | 0 | OK | 0.05 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-timer | tests-mbedmicro-rtos-mbed-timer | 1 | 0 | OK | 22.32 |
+-------------------+---------------+-------------------------------------+--------------------------------------+--------+--------+--------+--------------------+
The basic test hangs after "tick 10" print and there is a timeout (?)
[1487690332.79][SERI][TXD] {{__sync;753f1f3b-c062-437d-a5f8-8c3d4eca43e9}}
[1487690333.68][CONN][RXD] tick 2
[1487690334.68][CONN][RXD] tick 3
[1487690335.68][CONN][RXD] tick 4
[1487690336.68][CONN][RXD] tick 5
[1487690337.67][CONN][RXD] tick 6
[1487690338.68][CONN][RXD] tick 7
[1487690339.67][CONN][RXD] tick 8
[1487690340.67][CONN][RXD] tick 9
[1487690341.68][CONN][RXD] tick 10
[1487690390.38][HTST][INF] test suite run finished after 60.93 sec...
[1487690390.39][CONN][INF] received special even '__host_test_finished' value='True', finishing
[1487690390.41][HTST][INF] CONN exited with code: 0
[1487690390.41][HTST][INF] No events in queue
[1487690390.41][HTST][INF] stopped consuming events
[1487690390.41][HTST][INF] host test result(): None
[1487690390.41][HTST][WRN] missing __exit event from DUT
[1487690390.41][HTST][WRN] missing __exit_event_queue event from host test
[1487690390.41][HTST][ERR] missing __exit_event_queue event from host test and no result from host test, timeout...
[1487690390.41][HTST][INF] calling blocking teardown()
[1487690390.41][HTST][INF] teardown() finished
[1487690390.41][HTST][INF] {{result;timeout}}
Are you sure it hangs for you ? or maybe I misinterpreted what you wrote and the st401_update_cmsis_no_rtx branch is ok ?
Do you confirm my results ?
I retested the st401_update_cmsis_no_rtx branch for both ARM and GCC (using tests-mbedmicro-rtos-mbed-threads) and it works with ARM and hangs with GCC. But never mind that really, if you have way of debugging the feature_cmsis5 branch now, using Martins workaround, it's better to work with that as that what we care about anyway.
Yes I tried also yesterday to debug the feature_cmsis5 branch with a simple blinky program but I didn't find anything...
Humm... I have retested this morning the feature_cmsis5 branch (65606d7 Merge branch 'master' into feature_cmsis5) and the rtos-threads test is ok for both ARM and GCC:
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-------------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with child | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with murder | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with wait | 1 | 0 | OK | 0.15 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads | 1 | 0 | OK | 0.04 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with child | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with murder | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with wait | 1 | 0 | OK | 1.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with yield | 1 | 0 | OK | 0.07 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread | 1 | 0 | OK | 0.05 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with child | 1 | 0 | OK | 0.07 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with murder | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with wait | 1 | 0 | OK | 0.16 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing thread self terminate | 1 | 0 | OK | 0.06 |
+-------------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
+-----------------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-----------------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads | 1 | 0 | OK | 0.04 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with child | 1 | 0 | OK | 0.07 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with murder | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with wait | 1 | 0 | OK | 0.16 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads | 1 | 0 | OK | 0.05 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with child | 1 | 0 | OK | 0.07 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with murder | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with wait | 1 | 0 | OK | 1.06 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with yield | 1 | 0 | OK | 0.08 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread | 1 | 0 | OK | 0.04 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with child | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with murder | 1 | 0 | OK | 0.07 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with wait | 1 | 0 | OK | 0.15 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing single thread with yield | 1 | 0 | OK | 0.06 |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | Testing thread self terminate | 1 | 0 | OK | 0.06 |
+-----------------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
But all other tests are fail:
| target | platform_name | test suite | result | elapsed_time (sec) | copy_method |
+-------------------+---------------+-------------------------------------+---------+--------------------+-------------+
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-basic | TIMEOUT | 69.88 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-isr | TIMEOUT | 69.99 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-malloc | TIMEOUT | 69.9 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-mutex | TIMEOUT | 69.86 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-queue | TIMEOUT | 69.93 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-semaphore | TIMEOUT | 69.83 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-signals | TIMEOUT | 69.85 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | OK | 17.77 | shell |
+-------------------+---------------+-------------------------------------+---------+--------------------+-------------+
I have generated a uVision project from the feature_cmsis5 branch. I have these warnings for non-declared functions:
rtos\mbed_boot.c(296): warning: #223-D: function "__rt_lib_init" declared implicitly
rtos\mbed_boot.c(310): warning: #223-D: function "__user_setup_stackheap" declared implicitly
rtos\mbed_boot.c(313): warning: #223-D: function "_platform_post_stackheap_init" declared implicitly
rtos\mbed_rtx_handlers.c(25): warning: #223-D: function "rtos_idle_loop" declared implicitly
In master branch, they are defined in RTX_CM_lib.h file but not found in feature_cmsis5 branch.
Other thing: When I compile the rtos-basic test main.cpp, I have an error due to the DEFAULT_STACK_SIZE not declared. In the master branch this is defined in the rtos/rtx/target_cortex_m/cmsis_os.h file. But I didn't find it in the feature_cmsis5 branch ?
@bcostm we will fix those warnings, I was planning to send a patch
Other thing: When I compile the rtos-basic test main.cpp, I have an error due to the DEFAULT_STACK_SIZE not declared. In the master branch this is defined in the rtos/rtx/target_cortex_m/cmsis_os.h file. But I didn't find it in the feature_cmsis5 branch ?
The DEFAULT_STACK_SIZE was removed, I have fix for the tests, I'll merge it soon.
As for the test results, I'm getting timeouts for all tests for feature_cmsis5 65606d, Martin is checking for his setup. Could you have a look at the timeouting tests in the meantime.
@0xc0170 any news?
@bcostm I've got some results, that looks similar to yours. Could you please have a look at the failures. I think the issue with building tests is resolved now.
ARM:
| target | platform_name | test suite | result | elapsed_time (sec) | copy_method |
+-------------------+---------------+------------------------------------------------------------------------------+---------+--------------------+-------------+
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-basic_test | OK | 9.85 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-basic_test_default | OK | 9.94 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_async_validate | OK | 12.06 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_control_async | OK | 18.09 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_control_repeat | OK | 11.89 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_selection | OK | 9.91 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_setup_failure | OK | 11.34 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_teardown_failure | OK | 10.89 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-control_type | OK | 11.03 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-minimal_async_scheduler | OK | 10.65 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-minimal_scheduler | TIMEOUT | 68.46 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-test_assertion_failure_test_setup | OK | 9.89 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-test_setup_case_selection_failure | OK | 10.87 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-test_setup_failure | OK | 10.2 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | rtos-rtx2-target_cortex_m-tests-memory-heap_and_stack | TIMEOUT | 67.85 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-events-queue | OK | 17.46 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-integration-basic | TIMEOUT | 67.72 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-c_strings | OK | 11.81 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-dev_null | TIMEOUT | 68.0 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-echo | OK | 28.7 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-generic_tests | OK | 10.13 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-race_test | OK | 11.22 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-rtc | OK | 20.61 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-stl_features | OK | 11.69 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-ticker | OK | 43.06 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-timeout | OK | 20.53 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_drivers-wait_us | OK | 20.87 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_functional-callback | OK | 11.72 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_functional-callback_big | OK | 11.48 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_functional-callback_small | OK | 12.22 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbed_functional-functionpointer | OK | 9.95 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-attributes | OK | 12.46 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-call_before_main | TIMEOUT | 68.04 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-cpp | TIMEOUT | 68.84 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-div | TIMEOUT | 68.01 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-static_assert | OK | 9.49 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-basic | TIMEOUT | 67.78 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-isr | TIMEOUT | 68.01 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-malloc | TIMEOUT | 69.95 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-mutex | TIMEOUT | 67.82 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-queue | TIMEOUT | 67.5 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-semaphore | TIMEOUT | 68.12 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-signals | TIMEOUT | 67.78 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | OK | 15.29 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-mbedtls-selftest | OK | 14.13 | shell |
| NUCLEO_F401RE-ARM | NUCLEO_F401RE | tests-netsocket-ip_parsing | OK | 11.47 | shell |
+-------------------+---------------+------------------------------------------------------------------------------+---------+--------------------+-------------+
GCC(v6):
| target | platform_name | test suite | result | elapsed_time (sec) | copy_method |
+-----------------------+---------------+------------------------------------------------------------------------------+---------+--------------------+-------------+
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-basic_test | OK | 10.02 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-basic_test_default | OK | 9.98 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_async_validate | OK | 12.12 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_control_async | OK | 18.58 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_control_repeat | OK | 12.04 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_selection | OK | 10.0 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_setup_failure | OK | 10.48 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-case_teardown_failure | OK | 10.62 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-control_type | OK | 11.01 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-minimal_async_scheduler | OK | 11.15 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-minimal_scheduler | TIMEOUT | 68.05 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-test_assertion_failure_test_setup | OK | 10.27 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-test_setup_case_selection_failure | OK | 9.89 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | features-frameworks-utest-tests-unit_tests-test_setup_failure | OK | 10.09 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | rtos-rtx2-target_cortex_m-tests-memory-heap_and_stack | TIMEOUT | 68.24 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-events-queue | OK | 17.66 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-integration-basic | TIMEOUT | 67.91 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-c_strings | OK | 12.06 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-dev_null | TIMEOUT | 69.03 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-echo | OK | 24.77 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-generic_tests | OK | 10.5 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-race_test | OK | 11.14 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-rtc | OK | 20.8 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-stl_features | OK | 11.93 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-ticker | OK | 43.14 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-timeout | OK | 20.73 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_drivers-wait_us | OK | 20.86 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_functional-callback | OK | 12.23 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_functional-callback_big | OK | 11.58 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_functional-callback_small | OK | 11.65 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbed_functional-functionpointer | OK | 10.09 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-attributes | OK | 11.68 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-call_before_main | TIMEOUT | 67.97 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-cpp | TIMEOUT | 68.22 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-div | TIMEOUT | 68.08 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-mbed-static_assert | OK | 9.56 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-basic | TIMEOUT | 67.86 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-isr | TIMEOUT | 68.58 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-malloc | TIMEOUT | 68.54 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-mutex | TIMEOUT | 68.66 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-queue | TIMEOUT | 68.46 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-semaphore | TIMEOUT | 68.36 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-signals | TIMEOUT | 68.41 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedmicro-rtos-mbed-threads | OK | 15.76 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-mbedtls-selftest | OK | 15.52 | shell |
| NUCLEO_F401RE-GCC_ARM | NUCLEO_F401RE | tests-netsocket-ip_parsing | OK | 12.37 | shell |
+-----------------------+---------------+------------------------------------------------------------------------------+---------+--------------------+-------------+
OK no more error due to the DEFAULT_STACK_SIZE, I can compile the project but I still have these warnings:
rtos\mbed_boot.c(294): warning: #223-D: function "__rt_lib_init" declared implicitly
rtos\mbed_boot.c(308): warning: #223-D: function "__user_setup_stackheap" declared implicitly
rtos\mbed_boot.c(311): warning: #223-D: function "_platform_post_stackheap_init" declared implicitly
rtos\mbed_rtx_handlers.c(25): warning: #223-D: function "rtos_idle_loop" declared implicitly
We've found something that seems to fix the issue (thanks @jamike) but we need first to launch a full non-regression tests on all our platforms to see if this doesn't break anything else... I'll keep you updated.
@bcostm any news?
Hi,
Can you check with this PR ?
That's fixed now.