[quote user="Reid Kersey"] My main thought is that this is a memory error, but increasing the and stack sizes doesn't do/help anything. [/quote]Is your code bare-metal, or does it use some sort of RTOS? Looking at the assembler generated by the TI ARM compiler v16.9.0.LTS shows that when variable size arrays are used the compiler makes calls to the __vla_alloc() and __vla_dealloc() to allocate and deallocate space for the variable size arrays. The implementation for __vla_alloc() and __vla_dealloc() is in the lib\src\vla_alloc.cpp source file in the compiler installation. When I took a SYS/BIOS example with two threads, when a variable size array was used in two threads then the __vla_dealloc() function ended up aborting the program after detecting an assertion failure. I.e. the __vla_alloc() and __vla_dealloc() implementation doesn't appear to be thread safe.
↧