搜索

2

主题

5

帖子

35

积分

新手上路

Rank: 1

积分
35
发表于 2020-7-23 14:56:47 11749 浏览 4 回复

800x600 LCD驱动问题

为支持800x600的屏幕,参照群里的文档修改LCD屏幕驱动,会报下列错误:
[    0.587000] nxp-fb.0: dma addr = 0x63600000, buf[0xe32bcb40]
[    0.593000] nxp-fb.0: dma addr = 0x637d5000, buf[0xe32bcc80]
[    0.599000] nxp-fb.0: dma addr = 0x639aa000, buf[0xe32bcdc0]
[    0.657000] Unable to handle kernel paging request at virtual address efa05000

经过简单调试发现在nxp-fb.c的nxp_fb_copy_boot_logo函数中的memcpy((void*)dest, (const void*)virt, size)会出错,比这更大或更小的屏幕都不会出错,不知道为什么,也不知道怎么改,麻烦帮忙看一下,谢谢!

回复

使用道具 举报

44

主题

151

帖子

475

积分

版主

Rank: 7Rank: 7Rank: 7

积分
475
发表于 2020-7-25 09:21:22
板子是哪款呢,看上去不是4418, 如果是6ULL的话可以调试一下是不是内存越界了,可以更改一下别的分辨率找一下规律。
回复 点赞

使用道具 举报

2

主题

5

帖子

35

积分

新手上路

Rank: 1

积分
35
 楼主| 发表于 2020-7-25 15:27:38
TOPEET_Sun 发表于 2020-7-25 09:21
板子是哪款呢,看上去不是4418, 如果是6ULL的话可以调试一下是不是内存越界了,可以更改一下别的分辨率找 ...

板子是iTOP4418,很奇怪改成其他分辨率是可以的,改成768x600都可以,1024x768也可以,但是800x600就是会出这个错
回复 点赞

使用道具 举报

2

主题

5

帖子

35

积分

新手上路

Rank: 1

积分
35
 楼主| 发表于 2020-7-25 15:28:45
本帖最后由 lwjobs 于 2020-7-25 15:35 编辑
TOPEET_Sun 发表于 2020-7-25 09:21
板子是哪款呢,看上去不是4418, 如果是6ULL的话可以调试一下是不是内存越界了,可以更改一下别的分辨率找 ...

出错的是 memcpy((void*)dest, (const void*)virt, size) 这一行,还有代码中480x272的分辨率做了特殊处理,不知道为何?




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 点赞

使用道具 举报

151

主题

506

帖子

3587

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3587
发表于 2020-7-29 16:39:15
应该还是缓冲区不够造成的,可以在分配frambuffer的地方改大,应该就没有问题了
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表