Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
7 years, 2 months ago.
System WorkBench UART interrupt Crash
Hi I am working on STM32L475 IoT Board
My code is
UART1 CODE
//GPS and GPRS
#define AT_SIM_VERSION "ATI"
#define AT_BOARD_PWR_ON "AT+CGPSPWR=1"
#define AT_CGPSINF_O "AT+CGPSINF=0"
#define AT_CGPSINF_32 "AT+CGPSINF=32"
#define AT_3D_FIX_CHECK "AT+CGPSSTATUS?"
#define AT_GET_CONT_COORD "AT+CGPSOUT=32"
#define AT_GET_ONCE_COORD "AT+CGPSOUT=1"
#define AT_STOP_COORD "AT+CGPSOUT=0"
#include "mbed.h"
Serial uart(A4,A5,115200);
Serial pc(USBTX,USBRX,115200);
void gps_pos();
void rx_fun()
{
if(uart.readable())
{
pc.putc(uart.getc());
}
}
int main(int argc, char* argv[])
{
uart.attach(&rx_fun, Serial::RxIrq);
gps_pos();
}
void gps_pos(){
uart.printf("%s\n\r",AT_SIM_VERSION);
wait(1);
//AT+CGPSPWR=1
uart.printf("%s\n\r",AT_BOARD_PWR_ON);
wait(28);
uart.printf("%s\n\r",AT_CGPSINF_32);
wait(2);
uart.printf("%s\n\r",AT_3D_FIX_CHECK);
}
/*
CRASH LOG
++ MbedOS Error Info ++
Error Status: 0x80010133 Code: 307 Module: 1
Error Message: Mutex: 0x20001508,
Location: 0x800b01b
Error Value: 0x20001508
Current Thread: Id: 0x20002f2c Entry: 0x800bf55 StackSize: 0x100 StackMem: 0x20003078 SP: 0x10007f20
-- MbedOS Error Info --
*/
My Above code compiled in System WorkBench Successfully, but crashes in run_fun() function. But same thing works fine without crash if i use online Mbed Compiler, can some one help please.
1 Answer
7 years, 2 months ago.
Hi,
I saw a very similar thing today : ( But, it got solved by not using debug.json, and instead using release.json. See here: https://raw.githubusercontent.com/ARMmbed/mbed-os/master/tools/profiles/release.json
Use it like this:
mbed compile -t GCC_ARM -m K64F --profile release.json