directfb移植到telichip平台上

    技术2025-03-13  38

    1,  交叉编译的方法:

    export LDFLAGS="-L/media/work/a8-work/htpc/dest/freetype/lib -L/home/harrison/V43/telechips/lib " export CFLAGS="-g -I/media/work/a8-work/htpc/dest/freetype/include -I/home/harrison/V43/telechips/include" ./configure --host=arm-linux --prefix=/data/directfb --with-gfxdrivers=davinci --enable-fbdev --with-inputdrivers=none  --enable-zlib=yes --enable-sdl=no --enable-gif=no --disable-x11 --enable-debug --with-tests --enable-unique --sysconfdir=/etc

     

      其中   --sysconfdir=/etc  用来指定directfb配置文件directfbrc的位置。

      directfbrc文件存放在/etc目录下。

     

    2, 编译好的软件不能运行,用strace能看到下面信息。

    open("/dev/fb2", O_RDWR)                = 3 fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0 setsid()                                = 1744 open("/dev/tty0", O_RDONLY|O_NOCTTY)    = 4 ioctl(4, VT_GETSTATE, 0xbe8f88fa)       = 0 ioctl(4, VIDIOC_QUERYCAP or VT_OPENQRY, 0x15740) = 0 ioctl(3, FBIOGET_CON2FBMAP, 0xbe8f88d8) = 0 fstat64(3, {st_mode=S_IFCHR|0660, st_rdev=makedev(29, 2), ...}) = 0 ioctl(3, FBIOPUT_CON2FBMAP, 0xbe8f88d0) = 0 ioctl(4, VIDIOC_G_COMP or VT_ACTIVATE, 0x2) = 0 ioctl(4, VIDIOC_S_COMP or VT_WAITACTIVE

     

    这个信息是输入设备不能被操作的问题。

     

    需要在directfbrc文件中增加一行

    no-vt

    就能运行了。

     

    有可能找不到tty0设备需要创建一个链接

    ln  -sf   /dev/ttySAC0    /dev/tty0

    从串口输入。

     

    最新回复(0)