0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Modbus TCP Server程序开发与Yocto系统构建

瑞萨嵌入式小百科 来源:瑞萨MCU小百科 2025-02-14 13:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

13.8 Modbus TCP Server程序开发

源码为:

b89652ea-ea88-11ef-9310-92fbcf53809c.png

解压后,源码为“modbus_server_tcp.c”,它模拟一个Modbus TCP传感器。源码的讲解请参考《11.7 Modbus TCP编程与实验》。

当前台程序、MQTT程序使用RPC接口读写Modbus TCP传感器时,后台程序(控制中心)发出的Modbus TCP请求将到达“modbus_server_tcp”。

第14章 系统构建

14.1 Yocto系统简述

14.1.1 Yocto框架介绍

THE YOCTO PROJECT. IT'S NOT AN EMBEDDED LINUX DISTRIBUTION,IT CREATES A CUSTOM ONE FOR YOU.(YOCTO项目:他不是一个嵌入式Linux发行版,是一个专门创建属于你的自定义系统!)

Yocto项目(YP)是一个开源协作项目,可帮助开发人员创建基于Linux的定制系统,无论硬件架构如何。该项目提供了一套灵活的工具和空间,全世界的嵌入式开发人员可以共享技术、软件堆栈、配置和最佳实践,这些技术、软件堆栈、配置和最佳实践可用于为嵌入式和物联网设备或任何需要定制Linux操作系统的地方创建定制的Linux映像。

➢Poky:Poky有两个含义。第一个含义是用来构建Linux的构建系统,值得注意的该Poky仅仅是一个概念,而非一个实体:它包含了BitBake工具、编译工具链、BSP、诸多程序包或层,可以认为Poky即是Yocto的本质;此外Poky还有另外一层意思,使用Poky系统得到的默认参考Linux发行版也叫Poky(当然,我们可以对此发行版随意命名)。Poky的两个含义千万不能混淆。

➢Metadata:元数据集,所谓元数据集就是发行版内各基本元素的描述与来源。

Recipes:.bb/.bbappend文件,配方文件,描述了从哪获取软件源码,如何配置,如何编译。bbappend和bb的区别主要在于bbappend是基于bb的,功能是对相应的bb文件作补充和覆盖,有点类似于“重写”的概念。

Class:.bbclass文件。

Configuration:.conf文件,即配置文件,我们可以用它来改变构建方式。

➢Layers即各种meta-xxx目录,将Metadata按层进行分类,有助于项目的维护。

➢Bitbake:一个任务执行引擎,用来解析并执行Metadata。

➢Output:即各种输出image。

总结:

假如用烹饪一桌酒席来形容构建发行版,则Yocto就是饭店名,Poky就是厨房(以及提供作为参考的菜的搭配套餐),Metadata就是烹饪资源(.bb/.bbappend表示配方/配方上的贴士,.conf表示厨房里的管事的小组长),Layers就是菜谱的分类(如川菜谱、粤菜谱),Bitbake就是厨师,Output就是得到的一桌酒席。

下图介绍了Yocto POKY参考示例的整个框架,其中POKY是一个YoctoProject的参考发行版。它包含OpenEmbedded构建系统(BitBake和OpenEmbedded Core)以及一组meta,可帮助您开始构建自己的发行版。要使用Yocto项目工具,您可以下载Poky并使用它来引导您自己的发行版。请注意,Poky不包含二进制文件。

b8af39e0-ea88-11ef-9310-92fbcf53809c.png

14.1.2 Yocto构建流程

下图是Yocto-Project项目的一个完整的构建嵌入式工作流,以右上角颜色说明块来阅读此图,分别从各种Metadata元数据(系统源码配置软件包配置板级包支持等)以及上面黄色区域是专门的针对于各个构建工程部分所需的源码获取,包含了各种协议下载方式,把下载下来所需的源码保存起来,之后通过淡蓝色Build System来分别处理不同的源码和元层软件包同时进行构建,最后输出不同镜像以及多种格式软件包,SDK系统镜像等。为了方便理解,我这里专门使用红字和红色箭头进行简单说明。

b8b97c34-ea88-11ef-9310-92fbcf53809c.png

如果您对yocto很感兴趣,想深入学习使用可以直接访问官方提供的使用教程(您可复制下方链接至浏览器,或扫描二维码查看),在这个页面内,官方针对于整个yocto做了非常详细的图文教程,可以参考下图Manuals手册下不同章节后面红字描述来选择合适的篇幅进行阅读学习。

b8d30cbc-ea88-11ef-9310-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2574

    文章

    54428

    浏览量

    786285
  • 嵌入式
    +关注

    关注

    5186

    文章

    20164

    浏览量

    329034
  • MODBUS
    +关注

    关注

    28

    文章

    2388

    浏览量

    82300
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1418

    浏览量

    83033
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    飞凌全志T527开发modbus移植使用教程

    random-test-server和random-test-client为例进行测试,其中开发板为server,电脑为client。 开发板 首先进入tests目录下,将random
    发表于 07-18 15:00

    特别着急:modbus i/o server failed to connect to the modbus ethernet slave

    如题,我用的是modbus tcp通信,今天当我运行程序时,出现错误,错误代码是 -1967353901,提示的可能原因是modbus i/o se
    发表于 05-06 21:53

    Modbus TCPModbus RTU的实现

    设施,而大批量的Modbus RTU设备已经存在。用一个统一的Modbus TCP客户端软件去访问所有的Modbus设备,统一、集中式管理将大大提高
    发表于 08-10 10:04

    Modbus开发笔记之九:利用协议栈开发Modbus TCP Server应用

    Server应用。开发Modbus TCPServer首先需要有TCP Server的支持以及网络的配置等,但这些与
    发表于 08-26 15:56

    如何快速实现Modbus RTU和Modbus TCP协议转换?

    Modbus协议是工业现场串口设备之间常用的连接方式,其中最常见的就是Modbus RTU和Modbus TCP两种。许多工厂需要将现场各种不同型号设备的数据都能够通过一个上位机软件或
    发表于 08-18 18:36

    使用Yocto映像构建synaptics 4375驱动程序失败怎么解决?

    电路板:Myir i.mx8mm我想用 Yocto 图像打包 4375 wifi 驱动程序的 synaptics 版本。如果通过“SDK”构建此PCIE或SDIO版本驱动程序,完成并创
    发表于 04-07 08:14

    Zybo board 开发记录: 使用Yocto建立系统

    Project是近年来各大 SoC 商以及开发板商皆参与的 Linux 系统构件工具,透过 Yocto Project 的协助,使用者可以针对自己的需求构件想要的映像档(image)或是 Root File System,和
    发表于 11-10 14:49 3251次阅读

    利用Yocto构建嵌入式Linux教程01--第一个Yocto项目构建

    大家好,从今日开始,计划写一个利用Yocto构建嵌入式Linux的教程,算是对个人工作和学习的一个总结。本教程选用的Yocto版本为3.0.4,我使用的Linux发行版为Ubuntu 18.04
    发表于 11-01 17:22 13次下载
    利用<b class='flag-5'>Yocto</b><b class='flag-5'>构建</b>嵌入式Linux教程01--第一个<b class='flag-5'>Yocto</b>项目<b class='flag-5'>构建</b>

    嵌入式Linux系统移植开发-(1)基于Yocto构建嵌入式u-boot,内核,文件系统

    基于Yocto构建嵌入式u-boot,内核,文件系统Yocto是什么?简单地概括,它是一个工具,可以用来构建u-boot,kernel,文件
    发表于 11-01 17:38 14次下载
    嵌入式Linux<b class='flag-5'>系统</b>移植<b class='flag-5'>开发</b>-(1)基于<b class='flag-5'>Yocto</b><b class='flag-5'>构建</b>嵌入式u-boot,内核,文件<b class='flag-5'>系统</b>

    基于Yocto的openEuler Embedded构建实践

    欧拉openEuler Summit 2021-边缘&嵌入式分论坛上,介绍了基于Yocto的openEuler Embedded构建实践。
    的头像 发表于 11-10 14:10 3206次阅读
    基于<b class='flag-5'>Yocto</b>的openEuler Embedded<b class='flag-5'>构建</b>实践

    Yocto三大关键组件及优缺点

    各个嵌入式开发团队出于不同的原因,都希望构建适合自己开发需求的嵌入式系统Yocto正是这样一个工具,任何一个厂商都可以根据
    的头像 发表于 07-08 09:55 5963次阅读

    S7-300/400集成PN口 MODBUS TCP通讯(TIA)

    下面以S7-300单站系统Modbus Slave软件为例,详细介绍如何将S7-300单站系统CPU的集成PN口配置为Client,Modbus Slave作为
    的头像 发表于 03-08 11:24 9592次阅读

    AT32讲堂023 | AT32 MCU TCP client与TCP server如何与PC端通信

    使用LwIP作为协议栈,可以使用tcp_bind(),tcp_listen()与tcp_accept()这三种系统呼叫来使Server端接受
    的头像 发表于 08-19 09:52 2162次阅读
    AT32讲堂023 | AT32 MCU <b class='flag-5'>TCP</b> client与<b class='flag-5'>TCP</b> <b class='flag-5'>server</b>如何与PC端通信

    【EsDA 应用】Modbus RTU Master 转 TCP Server

    随着物联网技术蓬勃发展,Modbus 设备数据采集上报需求日益增加,本文将具体介绍如何利用 EsDA 快速实现Modbus RTU Master数据转TCP Server数据,缩短产品
    的头像 发表于 07-19 11:55 1366次阅读
    【EsDA 应用】<b class='flag-5'>Modbus</b> RTU Master 转 <b class='flag-5'>TCP</b> <b class='flag-5'>Server</b>

    浅谈S7-300 CPU集成PN口配置的Modbus TCP通讯技术

    以S7-300单站系统Modbus Slave软件为例,详细介绍如何将S7-300单站系统CPU的集成PN口配置为Client,Modbus Slave作为
    发表于 10-17 15:36 4792次阅读
    浅谈S7-300 CPU集成PN口配置的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>通讯技术