2

directfb をクロスコンパイルして directfb の例を実行しようとしています

directfb ソースをダウンロードし、同じものをクロスコンパイルしました。directfb のサンプルを実行中に問題が発生しました。

次のプログラムを使用してキャラクターデバイス(/dev/fb0)を登録しました(.koファイルとして作成)

static struct file_operations fops=
{
    .open=dev_open,  //To open device - file operation
};
int init_module(void)
{
    static dev_t dev_major;
    static struct cdev*dev_cdev;
    int ret=-EIO;
    /* register char-dev */
    dev_major=MKDEV(29,0);
    ret=register_chrdev_region(dev_major,1,"fb0");
    if (ret)
    {
        printk(KERN_ERR "fb0 : can't get chrdev %d\n",29);
        return ret;
    }
    /* allocate cdev */
    dev_cdev=cdev_alloc();
    dev_cdev->ops=&fops;
    /* cdev_init(&dev_data.cdev,&dev_file_ops); */
    ret=cdev_add(dev_cdev,dev_major,1);
    if (ret)
    {
        printk(KERN_ERR "fb0 : can't allocate cdev\n");
        return ret;
    }
    return 0;
}

その後、次のコマンドを実行しました。

# insmod directfb_ko.ko
# mknod /dev/fb0 c 29 0

次に、Directfb の例を実行しようとしました。次のエラーが発生しました

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.1 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2009  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2015-11-19 10:49) 
(!) DirectFB/FBDev/vt: FBIOGET_CON2FBMAP failed!
    --> Inappropriate ioctl for device
(!) DirectFB/FBDev/vt: FBIOPUT_CON2FBMAP failed!
    --> Inappropriate ioctl for device
(*) Direct/Thread: Started 'VT Switcher' (-1) [CRITICAL OTHER/OTHER 0/0] <8388608>...
(*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0] <8388608>...
(!) DirectFB/FBDev: Could not get fixed screen information!
    --> Inappropriate ioctl for device
(!) DirectFB/Core: Could not initialize 'system_core' core!
    --> Initialization error!
(!) Tools/Screen: DirectFBCreate() failed!
    --> Initialization error!

このエラーについて何か考えはありますか。この問題を解決するために私を助けてください。

4

0 に答える 0