zlgopen / awtk-linux-fb

awtk port for linux framebuffer
108 stars 49 forks source link

海思嵌入式平台demoui运行报Segmentation fault #21

Closed kent52712 closed 4 years ago

kent52712 commented 4 years ago

跟踪代码发现在fb_open函数 if(fb_is_2fb(fb)) { fb->fbmem1 = fb->fbmem0 + size; memset(fb->fbmem1, 0xff, size);//此行导致了段错误 }

xianjimli commented 4 years ago

具体情况不清楚,你按下面的方法试试: 1.用root用户运行。 2.fb_is_2fb检测出支持2fb的,看看驱动是不是正确实现了2fb。 3.让fb_is_2fb返回FALSE。

kent52712 commented 4 years ago

具体情况不清楚,你按下面的方法试试: 1.用root用户运行。 2.fb_is_2fb检测出支持2fb的,看看驱动是不是正确实现了2fb。 3.让fb_is_2fb返回FALSE。

您好,经测试,将fb_open中fb->fbmem0 = (uint8_t*)mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fb->fd, 0); 第二个参数size改为 fb->fix.smem_len就运行正常了, 其中size=8294400 smem_len=16588800