rt_sem_take 引起段错误

发布于 2020-09-03 19:22:59

image.png

image.png

image.png

按照文档中心提供的Finsh移植当中,使用串口中断的方式,其中使用了信号量,调用了rt_sem_create(),但是调用rt_sem_take就出出现硬件错误,发现是 rt_ipc_list_suspend(&(sem->parent.suspend_thread),

                            thread,
                            sem->parent.parent.flag);这块出问题,不知道为什么?mcu:stm32f103

查看更多

关注者
0
被浏览
183
2 个回答
iamyhw
iamyhw 2020-09-03

第二段代码中,如果rt_sem_take失败,就rt_sem_delete了,等下一轮循环,shell_rx_sem就不存在了,从而造成内存非法访问.所有这里sem的用法有问题,需要再斟酌一下sem的用法

JQRR_7669
JQRR_7669 认证专家 2020-09-07

bsp_init没有调用,或掉用处于getchar之后了。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览