Hi Alan,

yes, that issue is totally reproducible, at least on my system

(ubuntu16 + arm-none-eabi-gcc --version
arm-none-eabi-gcc (15:4.9.3+svn231177-1) 4.9.3 20150529 (prerelease)


I can reproduce it also with the STM32F103 minimum config.

Steps to reproduce:

1)-config your board config with the config script (after running make
distclean)

2)-run make

3)-then change the config via Kconfig interface or directly in the
.config file, change the CONFIG_NFILE_DESCRIPTORS to higher or even
lower value (e.g. from 8 to 10)

4)-run make

5)-flash your board --> will enter into system panic.


Solution for me: if I run make clean at 4) before running make,
everything is fine...

That is why it might not even be an issue, someone just has to know that
a make clean is necessary after changing config..maybe.. or might be
problem of my arm-none-eabi-gcc version?


Thanks & Best,

Florian



On 26/01/2020 08:24, Alan Carvalho de Assis wrote:
Hi Florian,

Do you know how to duplicate your issue again? It could help to spot issues
in the building system.

Did you press Ctrl + C during the compilation at any moment?

Did you face some C file error that interrupted the compilation abruptly?

If you duplicate it please let us know.

BR,

Alan

On Saturday, January 25, 2020, Florian Wehmeyer <flo...@gmx.net> wrote:
Just saw that I had responded to Gregs mail individually.

Sending to the list just to finish the topic..

Best,

Florian


On 24/01/2020 22:07, Florian Wehmeyer wrote:
Hi Greg,

thanks for the ultra-fast reply!!

Turns out the problem of system panic after increasing
CONFIG_NFILE_DESCRIPTORS was due to inconsistent compile, some of the
file descriptor structures might not have been compiled with correct
sizes.

When running a make clean before compiling everything works great.

I guess a "make clean" should be default practice after changing
anything in the config.



CONFIG_STDIO_BUFFER_SIZE for those devices is already 0 because of

CONFIG_STDIO_DISABLE_BUFFERING=y


Best,

Florian




On 24/01/2020 18:24, Gregory Nutt wrote:
1) am I doing bad practice, opening that much file descriptors per
task?
if yes, I could open and close them on each access, which is actually
each 100ms, if that would be less overhead (guess not).
No, it is perfectly fine to change the number of descriptors,
provided that you have at least 3.
2)Of course I tried to set CONFIG_NFILE_DESCRIPTORS=8, but when I do
that,
the system jumps into  arch/arm/src/armv6-m/up_assert.c :_up_assert(),
before even finishing
nx_start().
Is there anything else that must be considered when increasing the
CONFIG_NFILE_DESCRIPTORS?
No, other than it will greatly increase memory usage.  That is a big
deal on that platform.

Check CONFIG_STDIO_BUFFER_SIZE, the increased memory usage will go
into (1) file descriptor structures, and (2) buffers for C-buffered
I/O. You can set CONFIG_STDIO_BUFFER_SIZE as low as zero, but then
you will have no buffering that that will affect realtime preformance.

Greg


--
Florian Wehmeyer
TFW Tech Solutions


--
Florian Wehmeyer
TFW Tech Solutions

Reply via email to