在调试的时候发现,从startup.s中逐步运行到b __main,但下一步就是不跳转到main函数,后来发现问题出现在以下两个函数:
1、void _mutex_acquire(void *m)
2、void _mutex_release(void *m)
为了保证malloc是线程安全的,必须重写这两个方法,保证开关中断,但千万不能在函数里加printf打印,因为这时候还没有初始化串口,会跳不进main。
在调试的时候发现,从startup.s中逐步运行到b __main,但下一步就是不跳转到main函数,后来发现问题出现在以下两个函数:
1、void _mutex_acquire(void *m)
2、void _mutex_release(void *m)
为了保证malloc是线程安全的,必须重写这两个方法,保证开关中断,但千万不能在函数里加printf打印,因为这时候还没有初始化串口,会跳不进main。