Application built with M2M studio reboots


#1

I’m experiencing a frustrating problem while using M2M studio and are wondering if anyone else experienced the same problem as me.

The problem is this : When I compile my fairly large application under M2M for Target Mode, the application reboots continously after it is loaded on the target HW. I get no errors or warnings when I compile my application under M2M. If I then compile the same application using the older GCC compiler and using command line “wmmake” method, then it runs correctly on the same target HW.

Note that I use exactly the same source code and same hardware . Only difference is M2M compiler versus the older one. The dwl generated by the old compiler works, but the one generated by M2M does not. But if I compile small sample applications in M2M studio, they run correctly. It is only my big application that does does like M2M.

I’m not sure if this is important but I also noticed the size of the DWL binaries from the two compilers is quite different in size. The M2M one is 151.3 Kb while the older GCC one yields a 155.6 Kb sized binary when compiling exactly the same source code.

Did anyone else experience the same?


#2

What about your call stack size?

Old IDE V1 used to implicitely multiply your call stack by 3 before the compilation when yau are using GCC: if you compare the .c file in the src directory, and the one in the gcc/out directory, you will see what I mean.

M2M Studio seems not to do the same (since it doesn’t copy source files before compiling them).

It adds a stack size “*3” factor when:

  • you create a sample from the wizard
  • you use the IDE V1 project import wizard

It doesn’t add the “*3” factor when you simply drag’n drop or import manually your source files in an already created project.


#3

It is a good suggestion to look at the stack size. However, even after I manually tripled the stack size in main.c of my application, it still reboot if compiled with M2M. Thanks for the suggestion anyway.


#4

After the reset, trying to retrieve teh BAckTraces, that should give you a reason for the reset.

Also the binary size is less when compiled with M2M Studio is because, M2M studio uses the “ARM_ELF GCC cross compiler” which is a better optimized compiler than the GCC compiler used previous IDE.