I found a temporary solution to my problem, but I don't like it:
Instead of using the malloc-function I did it like this:
double * m4x4_ptr_array;
for (i=0; i<4;i++) m4x4_ptr_array[i] = &m4x4_data[i][-1];
m4x4 = &m4x4_ptr_array[-1];
If anybody has an idea why the malloc function gives a allocation failure, I am still interested in it!
why the malloc function gives a allocation failure Did you put aside enough heap memory? in .cydwr view, system tab, set the heap to as much memory as you need + 0x0200 bytes.
Thank you for your answer! Heap Size? When I look in the .cydwr view, there is written: 0x80. What means this exactly?
0x80 bytes for heap. A bit few. When you use sprintf increase that to 0x0200 (bytes)
Ok, I found here something about the heap. So when I increase this storage, some library-functions like sprinf and malloc have more space. So do I have increase this value, until these failures are disappeared? Do you know any rule how to dimension this value?
As I said: set the heap to as much memory as you need + 0x0200 bytes.