嵌入式技术论坛
直播中

马祥

7年用户 774经验值
私信 关注
[问答]

请问一下怎么解决nuc977运行LVGL死机的问题?

static void rt_thread_idle_entry(void parameter)
{
#ifdef RT_USING_SMP
if (rt_hw_cpu_id() != 0)
{
while (1)
{
rt_hw_secondary_cpu_idle_exec();
}
}
#endif /
RT_USING_SMP */
while (1)
{
#ifdef RT_USING_IDLE_HOOK
rt_size_t i;
void (idle_hook)(void);
for (i = 0; i < RT_IDLE_HOOK_LIST_SIZE; i++)
{
idle_hook = idle_hook_list[i];
if (idle_hook != RT_NULL)
{
idle_hook();
}
}
#endif /
RT_USING_IDLE_HOOK /
#ifndef RT_USING_SMP
rt_defunct_execute();
#endif /
RT_USING_SMP /
#ifdef RT_USING_PM
rt_system_power_manager();
#endif /
RT_USING_PM */
}
}

2.jpg

用jtag 调试,发现一直运行的是这个 这个怎么解决

回帖(7)

李玲

2023-1-31 15:34:25
这个不是死机啊,这个是 idle 线程的代码,没有其它线程占用 cpu 的时候必然在 idle 线程里运行的嘛。
你可能想说的是 lvgl 界面没有及时刷新改变吧。
应该是跟你的 lvgl 应用程序逻辑有关系。
举报

马祥

2023-1-31 15:34:38
你好,我main函数 里面还在跑{{image.png(uploading…)}} main也不动了 看着就像死机了,jtag 进去看,就在idle 里面
举报

李玲

2023-1-31 15:34:53
上面这俩图片都没上传成功。main线程不被调用,说明了啥
main线程已经变僵尸线程了,和消息机制脱开关系了。
是什么引起的这种情况?野指针,数组越界访问….
举报

马祥

2023-1-31 15:35:07
你好,大佬,我上次用给的nuc977移植lvgl ,不会死机,但是显示的颜色不对,
举报

李玲

2023-1-31 15:35:16
我跑的emwin。你那个屏幕时序配置有问题?
在你那个会出现死机的系统上显示正常吗?
官方有个裸机的lcd的程序,跑那个如果颜色显示正常,起码能说明 VPOST 结构体变量里的配置值是对的。
然后 lvgl 里可能也就是 rgb 顺序调整,比如 lvgl 里显示蓝色可能看着像是红色。
举报

马祥

2023-1-31 15:35:26
死机的显示是正常的,死机的不知道在哪个大佬的仓库搞的。裸机的显示是正常的,显示很正。我的lcd是可以设置的,我把我屏幕设置了,但是还是不行,
举报

李玲

2023-1-31 15:35:36
显示只跟两个部分有关系,drv_lcd.c 里是 lcm 配置。lcd_port.c 文件里是 vpost 定义。
lvgl 部分是你提供的了,在两个系统上应该是相同的吧。
核对一下死机的那个系统配置 lcm 的过程和我那个有啥区别,是不是因为这些差异引起的?
我开了两个 led ,不会是 gpio 初始化和你的屏幕的引脚冲突了?
举报

更多回帖

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