首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在yocto中安装CANopen包

在yocto中安装CANopen包
EN

Stack Overflow用户
提问于 2021-08-06 06:05:45
回答 1查看 100关注 0票数 0

我已经尝试使用下面的命令在yocto中安装CANopen。但是CANOpen没有安装。

代码语言:javascript
复制
bitbake canopensocket_git

在我添加的local.conf文件中

代码语言:javascript
复制
CORE_IMAGE_EXTRA_INSTALL += " canopensocket_git "

如何安装canopen包?

任何输入都会被考虑在内。

EN

回答 1

Stack Overflow用户

发布于 2021-08-06 09:56:33

首先,这是一个语法错误canopensocket_git

食谱名称${PN}canopensocket_后面的所有内容都是版本号${PV}

因此,您只需要指定配方名称。或者,如果您有不同的版本,可以通过以下方式指定一个:

代码语言:javascript
复制
PREFERRED_VERSION_canopensocket = "version_here"

话虽如此,我还是在here中找到了canopensocket的一个配方。

但是如果失败了,并且没有使用最新的github提交进行更新。

我对它做了一些修改,这是我的食谱:

代码语言:javascript
复制
SUMMARY = "Linux CANOpen tools"
DESCRIPTION = "Linux CANOpen Protocol Stack Tools"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"

SRC_URI = "git://github.com/CANopenNode/CANopenSocket.git"
SRCREV = "ec9735165502e08b5d2e84d641833709b6faeb96"

S = "${WORKDIR}/git"

do_compile_prepend() {
    cd ${S}
    git submodule init
    git submodule update
}

do_compile() {
    cd ${S}/cocomm
    make
    cd ${S}/canopencgi
    make
}

do_install(){
    install -d ${D}${bindir}
    install -m 0755 ${S}/cocomm/cocomm ${D}${bindir}
    install -m 0755 ${S}/canopencgi/canopen.cgi ${D}${bindir}
}

FILES_${PN} += "${bindir}/*"

我修改了do_compiledo_install,并添加了FILES的包装。

我将SRCREV设置为最新的v4标记commit,而不是AUTOREV

我不知道这个配方是做什么的,但是我编译了它,在zeus版本上构建对我来说是可以的。

构建生成了两个二进制文件:cocommcanopen.cgi

不,如果你想把它安装到你的镜像中,把这个添加到你的cutom镜像配方中:

代码语言:javascript
复制
IMAGE_INSTALL_append = " canopensocket"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68676864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档