yocto环境学习--新建driver recipe

1.建立目录

yangzhiwen@yzw-kingsee:/home/work/workspace/fsl-release-bsp$ cd sources/meta-elmo

yangzhiwen@yzw-kingsee:/home/work/workspace/fsl-release-bsp/sources/meta-elmo$ mkdir recipes-kernel
yangzhiwen@yzw-kingsee:/home/work/workspace/fsl-release-bsp/sources/meta-elmo$ mkdir recipes-kernel/chardriver


2.建立bb文件
yangzhiwen@yzw-kingsee:/home/work/workspace/fsl-release-bsp/sources/meta-elmo/recipes-kernel/chardriver$ vi chardriver_0.1.bb
#yocto recipe to build a kernel module out of the kernel tree

DESCRIPTION = "Chardriver kernel module out of the kernel tree"
LICENSE = "CLOSED"

PROVIDES = "virtual/kernel-module-chardriver"
RPROVIDES_${PN} = "virtual/kernel-module-driver"
RPROVIDES_${PN}-dev = "virtual/kernel-module-driver"

#PR = "r0"

inherit module

SRC_URI = "file://chardriver.c \
                file://Makefile \
"

S = "${WORKDIR}"
~                  


3.编写Makefile

yangzhiwen@yzw-kingsee:/home/work/workspace/fsl-release-bsp/sources/meta-elmo/recipes-kernel/chardriver$ mkdir files
yangzhiwen@yzw-kingsee:/home/work/workspace/fsl-release-bsp/sources/meta-elmo/recipes-kernel/chardriver$ vi files/Makefile
obj-m := chardriver.o

SRC := $(shell pwd)

all:
        $(MAKE) -C $(KERNEL_SRC) M=$(SRC)

modules_install:
        $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install

clean:
        rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
        rm -f Module.markers Module.symvers modules.order
        rm -rf .tmp_versions Modules.symvers


4.编写驱动C文件
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/mm.h>
#include <linux/cdev.h>
#include <linux/errno.h>
#include <linux/sched.h>
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Yocto Project 中配置 camera-gl-wl 软件时,需要进行以下步骤: 1. 在你的 `local.conf` 文件中添加以下内容: ``` DISTRO_FEATURES_append += " opengl" PREFERRED_PROVIDER_virtual/egl ?= "mesa" PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" ``` 这些配置将启用 OpenGL 特性并设置默认的 EGL 和 GLES 库为 Mesa。 2. 执行以下命令以安装必要的库: ``` $ sudo apt-get install libgles2-mesa-dev libegl1-mesa-dev ``` 3. 在你的 `bblayers.conf` 文件中添加以下内容: ``` BBLAYERS ?= " \ /path/to/yocto/meta \ /path/to/yocto/meta-poky \ /path/to/yocto/meta-yocto-bsp \ /path/to/yocto/meta-oe \ /path/to/yocto/meta-qt5 \ /path/to/yocto/meta-openembedded/meta-oe \ /path/to/yocto/meta-openembedded/meta-multimedia \ /path/to/yocto/meta-openembedded/meta-egl \ /path/to/yocto/meta-openembedded/meta-python \ /path/to/yocto/meta-openembedded/meta-networking \ " ``` 这些配置将添加必要的 OpenEmbedded 层以支持 EGL 和 GLES 库。 4. 添加 camera-gl-wl 软件的 recipe 文件到你的 Yocto 工程中。 在 recipe 文件中,你需要定义软件的名称、版本、源代码地址、依赖项等。具体实现可以参考其他已有的 recipe 文件。 例如: ``` SUMMARY = "Camera application with OpenGL and Wayland support" DESCRIPTION = "This package provides a camera application that supports OpenGL and Wayland." LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" SRC_URI = "git://github.com/user/camera-gl-wl.git;protocol=https" DEPENDS = "wayland egl gles2" S = "${WORKDIR}/git" inherit meson EXTRA_OEMESON += "-Denable_opengl=true" EXTRA_OEMESON += "-Denable_wayland=true" do_install_append() { install -d ${D}${bindir} install -m 0755 ${S}/build/camera-gl-wl ${D}${bindir} } ``` 5. 在你的 Yocto 工程中构建并部署 camera-gl-wl 软件。 你可以使用 `bitbake` 命令来构建和部署软件。 ``` $ bitbake camera-gl-wl ``` 构建完成后,软件将被部署到你的目标系统中,你可以在目标系统上运行 camera-gl-wl 应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值