4 Replies Latest reply on Dec 6, 2013 1:21 PM by james_patterson

    malloc causing hard faults - how to adjust stack/heap

    jwoolston

      I've been working on firmware for one of our projects for a while now and all the features are starting to come together, which is causing some problems. I have several modules of code which have been tested independently so I know that by themselves they work fine, but now with the complete program I am encountering hard faults when malloc calls are made. Specifically, they occur in a module of code which processes incoming telnet command strings and allocates a new string to copy a subset of the incoming string:

       

      raw_args = (char**) malloc(count * sizeof(char*));

       

      Where raw_args is declared as a function local variable. It is used as an array of strings representing key/value pairs. Count is also a function local variable and where the offending line of code is executed, guaranteed to be greater than 0.

       

      I strongly suspect I have exceeded my heap size but I am unaware of how to see how large the heap is or what my consumption is. The target processor is a STM32F407IG.