I am compiling speex library for arm-cortex-m4. My development board is stm32f407. Toolchain used to compile speex library is gcc-arm-none-eabi-5_2-2015q4.Same toolchain is used to compile my project. I am compiling my project in coocox ide. Project compilation is successful without any undefined reference errors. But whenever I call functions of libspeeex ( for example lib_speex_get_mode()) facing hard fault and flow goes to default handler. My question is, is it possible to compile open source package for example libspeex and link statically in my project? I am not understanding this. If there are issues with linking it should through undefined reference!!! But that's not the issue. Please help me out guys.
Hi, Hard fault may arise from uninitialized resources, accessing non-existent memory areas, stack problems or many other causes. If you use an IDE, like Eclipse, then in Debug window (upper left) you have all stack frames available, the faulty function/module is shown below the stack frame for hard fault(which is the top one). Click on it and you will go to the code line which caused the fault (in source window, in debugger). Also, ARM documentation is useful - read before, you are the only one to discover first what caused hard fault, then examine the rest of speex code.