-
Notifications
You must be signed in to change notification settings - Fork 3k
Release candidate for mbed-os-5.9.4 #7631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Tune thread stack size in nvstore test using heap stats - Stop threads gracefully instead of killing them (in multi-thread test)
The TEST_SKIP and TEST_SKIP_UNLESS macros (w/ and w/o messages) allow the test to skip the test case execution from the point the macro was called (without failing the test).
…bal obj constructor in OS 5 2. Refine startup file with GCC_ARM toolchain related to this modification.
1. Update use of correct header files 2. Added missing entry of M2351 device in IAR defines. 3. Removed support of ARM toolchain in targets.json
…der file. As per SAU documents, SAU is always present if the security extension is available. The functionality differs if the SAU contains SAU regions. If SAU regions are available it is configured with the macro __SAUREGION_PRESENT
Build : FAILUREBuild number : 2690 |
Issue occurs when "MBED_TICKLESS" is added in mbed_app.json, not when "MBED_TICKLESS" is added in targets.json
I changed stack size because the deafult stack size may not be enough for Ethernet of GR-PEACH(Cortex-A). - Stack size is default size + 128 byte In order to maximize the performance of Ethernet, I changed heap size to below. - Heap size is default size * 32 byte(send descriptor num is 16 and recv descriptoer num is 16).
1, remove DEVICE_EMAC for wifi feature
1, remove DEVICE_EMAC for wifi feature
Made to prevent timeout if a single test case fails. The goal is that each test case might wait only half of the remaining time reserved for running TCP test cases.
With _sbrk being weak, we can override it directly rather than #if to support heap with two-region model.
`handle_error` calls `MBED_CALLER_ADDR()`, but this is always a location from within platform/mbed_error.c. This is because `handle_error` is declared static. This does not cause the function to be inlined however. Instead, it is called by each function within mbed_error.c. For example, mbed_error yields this code: ``` 000625c8 <mbed_error>: 625c8: b510 push {r4, lr} 625ca: 460c mov r4, r1 625cc: 4611 mov r1, r2 625ce: 461a mov r2, r3 625d0: 9b02 ldr r3, [sp, #8] 625d2: f7ff feff bl 623d4 <handle_error> 625d6: b968 cbnz r0, 625f4 <mbed_error+0x2c> 625d8: 4620 mov r0, r4 625da: f7ff ff67 bl 624ac <print_error_report.constprop.0> 625de: f7ff fea8 bl 62332 <core_util_is_isr_active> 625e2: b910 cbnz r0, 625ea <mbed_error+0x22> 625e4: f7ff fe9f bl 62326 <core_util_are_interrupts_enabled> 625e8: b908 cbnz r0, 625ee <mbed_error+0x26> 625ea: bf30 wfi 625ec: e7fd b.n 625ea <mbed_error+0x22> 625ee: 2001 movs r0, #1 625f0: f000 f948 bl 62884 <__wrap_exit> 625f4: 4800 ldr r0, [pc, #0] ; (625f8 <mbed_error+0x30>) 625f6: bd10 pop {r4, pc} 625f8: 80ff010f .word 0x80ff010f ``` Note that at `625d2` there is a bl to handle error. That replaces the LR, which means that ALL calls to mbed_error will report a location of 0x625d6 or 0x625d7 (user vs. supervisor). I do not expect that this was the intention of the code. The simplest fix is to change line 99: ```C static inline mbed_error_status_t handle_error(mbed_error_status_t error_status, unsigned int error_value, const char *filename, int line_number) ``` Since `handle_error()` will be inlined, the link register will be kept the same, so `MBED_CALLER_ADDR()` will yield the expected result. However, there is no guarantee that the compiler will respect the `inline` keyword in all circumstances. The result is that each function that wishes to report its caller must extract its caller. This code cannot be centralised. I have modified `mbed_error.c` to report the caller of each error reporting function, rather than the error reporting function itself.
This feature is removed from the master, as it is obsolete now. LWIP is always build in on the master. However, 5.9 this still needs to be enabled.
/morph build |
Build : SUCCESSBuild number : 2691 Triggering tests/morph test |
Test : SUCCESSBuild number : 2422 |
Exporter Build : SUCCESSBuild number : 2321 |
Been getting some strange issues bringing PRs into this release, so trying something a bit different.