码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • petalinux的module编译


    本期主题:
    petalinux的module编译


    往期链接:

    • linux设备驱动中的并发
    • linux设备驱动中的编译乱序和执行乱序
    • linux设备驱动之内核模块
    • linux字符驱动
    • linux字符驱动之ioctl部分
    • linux字符驱动之read、write部分
    • linux驱动调试之Debugfs
    • Linux下如何操作寄存器(用户空间、内核空间方法讲解)

    文章目录

    • 1.petalinux是什么
      • 1.yocto概述
    • 2.petalinux如何使用module
      • 1.在petalinux工程中创建module
      • 2.修改module对应代码
      • 3.编译module
      • 4.生成module的路径
    • 3.测试module


    1.petalinux是什么

    petalinux是一种嵌入式Linux软件开发套件(SDK),主要用于Xilinx FPGA片上系统。

    petalinux工具包含:

    • yocto可扩展sdk
    • XSCT和工具链
    • petalinux cli工具

    1.yocto概述

    Yocto是一个开源代码组合,可以用来帮助开发者开发定制化的嵌入式Linux系统,无论是什么样的硬件架构。
    那么为什么要使用yocto呢?主要是yocto有以下对应的优点:

    Yocto project feature:

    • 被广泛使用,在很多产品和商业服务中都使用了Yocto Project;
    • 不关心架构(对架构不敏感),不论是ARM、MIPS、AMD、PPC都能创建对应架构的BSP;
    • 灵活性,公司以多种不同的方式使用 Yocto 项目。 一个例子是创建一个内部 Linux 发行版作为公司可以跨多个产品组使用的代码库。 通过定制和分层,项目组可以利用基础 Linux 发行版来创建满足其产品需求的发行版;
    • 使用分层架构,Yocto 项目层基础设施将相关功能分组到单独的包中,开发者可以根据需要逐步将这些分组功能添加到项目中,使用层来隔离和分组功能降低了项目的复杂性和冗余;
    • ……

    2.petalinux如何使用module

    使用module可以分为以下几个步骤:

    1. 在工程中创建对应Module
    2. 修改module代码
    3. 编译module
    4. 在对应生成路径下,找到module

    1.在petalinux工程中创建module

    1.首先找到对应的petalinux工程,一般是在 petalinux/硬件平台 目录下,我的目录是这个

    在这里插入图片描述
    2. 使用petalinux-create进行创建module

    $ petalinux-create -t modules --name xxxx --enable
    
    • 1

    在这里插入图片描述
    petalinux的其他命令还包括:
    在这里插入图片描述

    2.修改module对应代码

    对应module的代码位置在:
    在这里插入图片描述
    前面提到的yocto,它的分层有一个特点就是以 meta- 作为分层的名字

    3.编译module

    在petalinux工程文件夹下,进行module编译

    $ petalinux-build -c xxx(module_name)
    
    • 1

    4.生成module的路径

    在petalinux工程文件夹下,输入

    $ petalinux-config
    
    • 1

    进行config配置
    Yocto Settings
    在这里插入图片描述
    TMPDIR location
    在这里插入图片描述
    然后在tmpdir location下能找到对应生成的module文件
    在这里插入图片描述

    3.测试module

    在VCK190开发板上进行实测:
    在这里插入图片描述

  • 相关阅读:
    数字图像处理(十二)最大熵算法
    MySQL 篇-快速了解事务、索引
    晴空一“鹤”排“云”上:以数为翅的中国飞鹤
    Flask数据库_SQLAIchemy常用的数据类型与使用
    微服务简介
    一起看 I/O | Flutter 3 正式发布!
    金融行业数据安全法律法规清单
    HTML+CSS大作业:使用html设计一个简单好看的公司官网首页 浮动布局
    倒计时列表实现(小程序端&Vue)
    STM32CubeIDE实现基于STM32的LoRa通信程序移植(SPI接口)
  • 原文地址:https://blog.csdn.net/weixin_37620587/article/details/128042876
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号