芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 6662|回复: 1

终于把AC501板子上的触摸屏驱动搞定了。心累

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 428

    主题

    811

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    16109
    QQ
    发表于 2019-10-17 15:34:29 | 显示全部楼层 |阅读模式
    终于把AC501板子上的触摸屏驱动搞定了。心累。。这里把对应的设备树文件传上来。有几个参考。最终倒腾出来了一个能用的。

    通过对万象SOC板子里面的设备树dtb文件反编译得到dts文件,然后查看dts文件的触摸设备树节点,移植到AC501的设备树中,最终成功加载上了触摸屏。

    万象的镜像存储在nand flash的mtd1空间中,无法像sd卡或者mmc一样直接拷贝dtb文件出来,所以用dd命令将nand中指定地址的数据读取出来,存为dtb文件,然后再用dtc反编译得到dts文件。具体操作命令为:

    1、运行万象Linux开发板,在linux console中执行下述命令以查看nand分区信息:
    cat  /proc/mtd
    结果如下所示:
    dev:   size   erasesize  name
    mtd0: 00400000 00020000 "u-boot"
    mtd1: 00100000 00020000 "dtb"
    mtd2: 01000000 00020000 "kernel"
    mtd3: 00400000 00020000 "logo"
    mtd4: 0e700000 00020000 "rootfs


    2、知道了dtb数据存储的地址和大小,接下来使用dd命令将nand中指定地址的数据读取出来,存为dtb文件:
    dd if=/dev/mtdblock1 of=/home/root/hello.dtb count=256 bs=512
    其中cnt = size除以bs,也就是0x20000/512结果为256
    文件存储在root目录下,名为hello.dtb


    3、将dtb文件反编译得到dts文件:
    dtc  -I  dtb  -O  dts  -o hello.dts   hello.dtb

    现在,设备树文件就可以用各种方法拿到电脑上分析了,网口,U盘,SD卡,怎么爽怎么玩儿。


    4、最终得到正确的能够在ac501开发板上运行的dtb文件,成功加载驱动,在dev/input下生成event0的触摸屏节点。


    AC501改好通过的soc_system.dtb (24.73 KB, 下载次数: 436)
    AC501改好通过的soc_system.dts (46.95 KB, 下载次数: 437)
    AC501上有问题的socfpga.dtb (24.56 KB, 下载次数: 426)
    AC501上有问题的socfpga.dts (30.53 KB, 下载次数: 413)
    万象OK的hello.dtb (128 KB, 下载次数: 454)
    万象OK的hello.dts (25.64 KB, 下载次数: 425)

    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    5

    积分

    新手入门

    Rank: 1

    积分
    5
    发表于 2019-11-29 20:53:33 | 显示全部楼层
    啊 那岂不是可以支持QT触摸屏操作了
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-11-23 18:03 , Processed in 0.114356 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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