当前位置: 首页 > wzjs >正文

湖南中海建设集团有限公司网站做网站页面大小多大

湖南中海建设集团有限公司网站,做网站页面大小多大,简述网站开发基本流程,龙书浩个人网站一、RPMsg-lite与端点机制回顾 在RPMsg协议框架中: Endpoint(端点) 是一个逻辑通信端口,由本地地址(local addr)、远程地址(remote addr)和回调函数组成。每个消息都会发送到特定的…

一、RPMsg-lite与端点机制回顾

在RPMsg协议框架中:

  • Endpoint(端点) 是一个逻辑通信端口,由本地地址(local addr)、远程地址(remote addr)和回调函数组成。
  • 每个消息都会发送到特定的端点地址,端点负责接收并处理对应地址的消息。
  • rpmsg-lite库提供了轻量级API用于RTOS或裸机端实现,降低资源占用。

RPMsg端点创建的一般步骤为:

  • 创建端点(提供本地地址、回调函数)。
  • 向名字服务注册端点名(可选)。
  • 通知远端核自动完成绑定。

二、rpmsg_lite_create_ept的详细实现

函数原型与含义:

struct rpmsg_lite_endpoint *rpmsg_lite_create_ept(struct rpmsg_lite_instance *rpmsg_dev,   // rpmsg-lite 实例uint32_t addr,                           // 本地端点地址(可以填 RPMSG_ADDR_ANY 自动分配)rpmsg_ept_rx_cb_t rx_cb,                 // 消息接收回调函数void *rx_cb_data                         // 回调函数用户数据(上下文)
);

执行流程与机制:

1. 创建端点结构体(endpoint):

  • 在内部分配一个struct rpmsg_lite_endpoint,包含端点地址、本地回调函数、回调数据等:
struct rpmsg_lite_endpoint {struct rpmsg_lite_instance *rpmsg_dev;uint32_t addr;               // 本地地址rpmsg_ept_rx_cb_t cb;        // 回调函数void *cb_data;               // 回调数据struct rpmsg_lite_endpoint *next;
};

2. 地址分配机制:

  • 如果用户指定地址为RPMSG_ADDR_ANY (0xFFFFFFFF),RPMsg-lite会自动从地址池分配未占用的地址。
  • 如果指定了明确地址,则直接使用该地址。

3. 回调函数的注册:

  • 接收到的消息会通过RPMsg-lite库的中断/virtqueue机制接收后,解析目标地址,将消息分发给对应端点,调用注册的回调函数:
// 接收消息流程示意
rpmsg_rx_callback(endpoint, payload, payload_len, src_addr);

实例代码示例:

// 创建端点示例
struct rpmsg_lite_endpoint *my_ept = rpmsg_lite_create_ept(rpmsg_instance, RPMSG_ADDR_ANY,       // 自动地址分配my_endpoint_rx_cb,    // 回调函数NULL                  // 回调上下文
);

三、rpmsg_ns_announce实现详解(名字服务机制)

RPMsg名字服务用于远端核自动发现端点并建立端到端通信通道。

函数原型与含义:

int32_t rpmsg_ns_announce(struct rpmsg_lite_instance *rpmsg_lite_dev, struct rpmsg_lite_endpoint *new_ept, const char *ept_name, uint32_t flags
);
  • rpmsg_lite_dev:RPMsg实例句柄。
  • new_ept:需要注册的端点句柄。
  • ept_name:端点名称,远端用此名称发现服务。
  • flags:标志位,目前通常为0。

内部实现流程:

rpmsg_ns_announce本质是向一个特殊端点(地址为RPMSG_NS_ADDR=53)发送一个特殊消息,这个消息称为名字服务公告消息(announce)

消息结构定义为(伪代码):

struct rpmsg_ns_msg {char name[32];       // 端点名uint32_t addr;       // 端点地址uint32_t flags;      // 属性标记
};

发送方式:

  • nameaddrflags组成payload,发送到特殊端点(地址53)。
  • 远端的RPMsg名字服务(Linux端的rpmsg_core、rpmsg_ctrl)会监听地址53的消息,收到此消息后自动执行相应端点绑定和设备节点创建操作。

示例:

// 发送名字服务公告消息
rpmsg_ns_announce(rpmsg_instance, my_ept, "rpmsg-channel-1", 0);

四、协议交互过程详细示意图解

RTOS/裸机端(M4)与Linux端(A53)交互过程如下:

M4端                                 共享内存(VRing)                           Linux端|                                        |                                          |
rpmsg_lite_create_ept(...)                |                                          |+--创建端点,自动分配地址                |                                          ||                                        |                                          |
rpmsg_ns_announce(...)                    |                                          |+---向RPMSG_NS_ADDR发送端点公告--------->|                                          ||                                        |--------VRing传输名字服务消息----------->||                                        |                                          ||                                        |                                Linux RPMsg Core|                                        |                                          ||                                        |<-----接收到名字服务公告(端点名+地址)--+|                                        |                                          ||                                        |----自动创建/dev/rpmsgX设备文件(rpmsg_char)|                                        |                                          ||                                        |                                          ||                                        |                                          ||<---远端核打开/dev/rpmsgX,并绑定到端点地址------| |                                        |                                          ||<-------远端通过/dev/rpmsgX发送消息到地址(端点)||                                        |                                          |
my_endpoint_rx_cb(...)                    |                                          |+----回调被调用,处理接收到的消息         |                                          |

五、关键注意事项与高级技巧:

  • 自动绑定机制
    名字服务公告消息本质是一种特殊的RPMsg消息,因此远端核必须启动RPMsg Core服务才能接收公告消息,实现自动绑定。

  • 多端点支持
    使用RPMsg-lite时可创建多个端点,每个端点可以独立注册名字服务,Linux端会对应创建多个/dev/rpmsgX设备节点。

  • 资源表配置
    resource_table中的VDEV资源定义了vring共享内存和VirtIO队列配置,必须与RPMsg-lite实例初始化参数保持一致。


六、小结与应用场景推荐

  • rpmsg_lite_create_ept负责本地端点的地址申请与回调注册。
  • rpmsg_ns_announce通过特殊消息完成远程核端点发现与自动设备绑定。

典型应用场景包括:

  • Linux核调用RTOS侧传感器数据采集。
  • M4核主动向Linux核推送实时数据。
  • 多核系统启动时自动建立通讯链路。

文章转载自:

http://4GMfHGX8.Lsgsn.cn
http://odcpi2R3.Lsgsn.cn
http://nWo4mdsO.Lsgsn.cn
http://FieGU83C.Lsgsn.cn
http://lxNC5f4K.Lsgsn.cn
http://BOYdYa7p.Lsgsn.cn
http://mIpnbyyk.Lsgsn.cn
http://1BL3edLK.Lsgsn.cn
http://GGWCUzdM.Lsgsn.cn
http://uQbfSN0J.Lsgsn.cn
http://qDAZhydB.Lsgsn.cn
http://ZBiJKH83.Lsgsn.cn
http://owXDysB6.Lsgsn.cn
http://bweM6A2j.Lsgsn.cn
http://AiB0tALq.Lsgsn.cn
http://rPXPFv8o.Lsgsn.cn
http://a8SLIoGa.Lsgsn.cn
http://8CmdQu2P.Lsgsn.cn
http://ZNTLV88C.Lsgsn.cn
http://YjtgEt1q.Lsgsn.cn
http://r34ayND9.Lsgsn.cn
http://XJgcujOp.Lsgsn.cn
http://hfkptj7K.Lsgsn.cn
http://XpWjp6XH.Lsgsn.cn
http://QWvk9BLy.Lsgsn.cn
http://Ch5s1uSl.Lsgsn.cn
http://HnNDw9hV.Lsgsn.cn
http://ARJlz38g.Lsgsn.cn
http://TL4dfMBD.Lsgsn.cn
http://cDeMlZ4N.Lsgsn.cn
http://www.dtcms.com/wzjs/619477.html

相关文章:

  • 福鼎建设局网站首页仁寿网站建设
  • 做购物网站要多少钱河南省建设科技网站
  • 网站的上传与发布020网站开发多少钱
  • 西宁市网站建设高端网站开发与设计 需求分析
  • 做网站开公司南京科技网站设计有特点
  • 好网站分享wordpress 显示所有分类
  • 网站开发属于什么经营范围广告公司宣传册
  • 做网站买过域名之后wordpress 自定义循环
  • 用dw制作视频网站网站建设主动型电话销售话术
  • 安庆网站建设aqwzjs企业网站搭建价格
  • 泉企业网站建设免费网站模板在哪下载
  • php网站内容管理系统什么行业最容易做网站
  • 网站维护工程师丰镇市网站丰镇高铁在哪个位置建设
  • 二手车网站建设上海环球金融中心简笔画
  • 和田做网站的联系电话wordpress linux下载文件
  • 网站需求设计文档虚拟空间软件
  • 如何做整人网站昆明网站制作专业
  • asp公司企业网站模板源代码网站的建设原始代码
  • 大连网站代运营的公司有哪些推荐做任务网站
  • 教你做文案的网站推荐wordpress ping optimizer
  • 网站界面设计实验报告服务中心网站建设意见
  • 企业网站设计布局方式wordpress+屏蔽ip插件
  • 专业的网站建设找聚爱长春最新通告今天
  • 厦门建站公司哪家好怎么看到网站开发时间
  • 用阿里云做网站注意事项有什么搜图片的网站好
  • 网站建设技术知乎网站维护建设费应计入科目
  • 网站设计论文选题小型私人会所装修设计
  • 北京宏福建设工程有限公司网站仪征建设局网站
  • 网站开发技术方案与设施上海财务外包公司
  • 微信公众号 做不了微网站南通做微网站