Finally, I found that if I remove the flag DEVELHELP but I add the flag
SCHED_TEST_STACK, my app survives the simulated power outages. Then I
tried to work without any of these flags in my Makefile and to remove
some #ifdef. After a while, I found that removing the #ifdef in files :
- core/thread.c around line "cb->stack_start = stack;"
- core/include/thread.h around line : "char *stack_start;"
was solving my issue.
I'm launching two threads in my app. One with THREAD_CREATE_SLEEPING and
one with 0 as flags.
I'm curious to know why this solves my issue and how it affects RIOT ?
Does anyone knows ?
On 15.05.19 08:36, Carron Joël wrote:
In the docs, we find :
"Additional code parts such as (extensive) debug output and sanity checks using
assertions. To activate it set environment variable DEVELHELP=1, or disable explicitly
with DEVELHELP=0."
https://riot-os.org/api/group__utils.html<https://riot-os.org/api/group__utils.htm>
But, everywhere in RIOT source code, the DEVELHELP is checked with "#ifdef DEVELHELP" or
"#if defined(DEVELHELP)". So, correct me if I'm wrong, but it shouldn't change anything
if the DEVELHELP is set to 0, 1 or anything else ? In this case, the doc is wrong ? We really need
to comment it out as suggested in the Makefiles of examples to remove it. But then it causes my app
to not restart after simulated power outage.
________________________________
De : users <[email protected]> de la part de Carron Joël
<[email protected]>
Envoyé : mardi 14 mai 2019 22:42:25
À : [email protected]
Objet : Re: [riot-users] DEVELHELP flag in Makefiles
Thank you for your answer. I've already read the docs but my real question was why do I
get this "strange" behaviour ? My app works fine with the flag (flashed on over
50 boards) but without it the app can't start anymore as soon as I unplug the board from
power and replug it. With the flag I have no issue.
Where can I look for something bad in my code that can explain this difference
? I looked a bit in the RIOT source code but didn't find anything for the
moment that can give me an answer.
Envoyé par BlueMail<http://www.bluemail.me/r?b=14874>
Le 14 mai 2019, à 20:38, Bas Stottelaar
<[email protected]<mailto:[email protected]>> a écrit:
Hi Joel,
It enables additional debug output and sanity checks. You can find more
information at [1].
Kind regards,
Bas
[1] https://riot-os.org/api/group__utils.html
Op 14 mei 2019, om 19:40 heeft Joel Carron <
[email protected]<mailto:[email protected]>> het volgende geschreven:
Hi everyone,
Can someone explain me what this flag in Makefile examples do ?
I just finished an app for a custom board. As my Makefile was based on an
example, there was still this flag present. As its comment suggests, it's for
development so I decided to remove it.
After removing it, my application starts normally right after flashing my board
but as soon as I unplug it from power supply and plug it again, the app doesn't
start anymore. I flashed the app on a Nucleo-F303RE to get some console output
but I just get garbage from pyterm. I decided to keep this flag as it works
flawlessly with it and takes only 4kB more in ROM but it could be great if
someone knows a little more about it.
What could cause my app on two boards to fail starting without this flag ? In
my app, I use some DEBUG() macros, I start two threads, do some UDP packets
exchanges with another boards and that's it.
Best regards
Joel
_______________________________________________
users mailing list
[email protected]<mailto:[email protected]>
https://lists.riot-os.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/users