嵌入式技术论坛
直播中

刘丹

8年用户 1563经验值
私信 关注
[问答]

为什么次核的任务调度出现在msh命令之后?

SMP运行之后,使用串口打印调试,为什么次核的任务调度出现在msh命令之后?导致使用不了msh的一些指令了,输入msh的一些指令没反应。
2.jpg

回帖(4)

李鑫

2023-4-3 16:05:23
你是在从核的idle里面打印?不打印时,msh可以输入命令吗?
举报

刘丹

2023-4-3 16:05:30
是在从核的idle打印的。不打印时msh也不可以输入命令。您看它的打印信息,执行流程是这样的:在main_thread_entry中,主核进入到执行rt_hw_secondary_cpu_up()激活次核之后,然后就直接运行main()函数里的“hello world”了。之后次核才激活之后调度,执行它的idle空闲任务。会不会是运行方式不对?还是双核系统运行完之后,就卡死了,就执行不了msh输入的命令了?
举报

刘丹

2023-4-3 16:05:36
不开启SMP,在单核运行msh的命令输入是没有问题的。
举报

张红

2023-4-3 16:05:46
会不会是因为其它cpu核的idle线程是从idle0线程启动的?
其实idle0线程也并不一定是第一个运行起来的线程
2.jpg
3.jpg
举报

更多回帖

发帖
×
20
完善资料,
赚取积分