外包兼职做图的网站/故事型软文广告

外包兼职做图的网站,故事型软文广告,网页模板图片高清,响应式网站背景近年来,随着半导体产业的快速发展和技术的不断迭代,物联网设备种类繁多(如智能家居、工业传感器),对算力、功耗、实时性要求差异大,单一架构无法满足所有需求。因此米尔推出MYD-YT113i开发板(基…

近年来,随着半导体产业的快速发展和技术的不断迭代,物联网设备种类繁多(如智能家居、工业传感器),对算力、功耗、实时性要求差异大,单一架构无法满足所有需求。因此米尔推出MYD-YT113i开发板(基于全志T113-i)来应对这一市场需求。

米尔基于全志T113-i核心板及开发板

part 01  T113-i芯片及OpenAMP简介

  • T113-i芯片简介

T113-i由两颗ARM A7 、一颗C906(RISC-V)和一颗DSP(HIFI 4)组成。

  • C906(RISC-V核)特性:

  1. 主频最高1008MHz

  2. 32KB I-cache+32 KB D-cache

  3. 操作系统支持裸跑和FreeRTOS实时操作系统

  4. 支持少量数据核间通讯(RPMsg)和大量核间数据(RPBuf)

  • DSP(HIFI 4)特性:

  1. 最高主频600MHz

  2. 32KB L1 I-cache+32 KB L1 D-cache 

    64KB I-ram+64KB D-ram

  3. 操作系统支持裸跑和FreeRTOS实时操作系统

  4. 支持少量数据核间通讯(RPMsg)和大量核间数据(RPBuf)

    • OpenAMP系统原理

    T113-i=2×ARM A7 + 1×C906(RISC-V) + 1×DSP(HIFI 4)组成,其中两个A7核为主核心,C906(RISC-V核)和DSP为双副核心。而其中的RISC-V属于超高能效副核心,标配内存管理单元,可运行RTOS或裸机程序,T113的主核运行Linux进行人机界面的交互和应用流程,而RISC-V则是后台可进行大数据数据采集,或者相关编码器的控制等,降低主核被中断的次数,大大提供了主核的运行效率。每个处理器核心相互隔离,拥有属于自己的内存,既可各自独立运行不同的任务,又可多个核心之间进行核间通信,这些不同架构的核心以及他们上面所运行的软件组合在一起,就成了 AMP 系统(Asymmetric Multiprocessing System 异构多处理系统)即非对称多处理架构。

    part 02  AMP系统通信机制详解

    • AMP通信原理

    由于两个核心存在的目的是协同的处理,因此在异构多处理系统中往往会形成Master-Remote结构。主核心启动后启动从核心。当两个核心上的系统都启动完成后,他们之间就通过IPC(Inter Processor Communication)方式进行通信,而 RPMsg就是IPC中的一种。
    在AMP系统中,两个核心通过共享内存的方式进行通信。两个核心通过AMP中断来传递讯息。内存的管理由主核负责。

    • 使用 RPMsg进行核间通信

    RPMsg整体通讯框架

    上面介绍了通讯原理,这里讲解如何通讯,AMP使用RPMsg框架进行通讯,该框架用于AMP场景下处理器之间进行相互通信。OpenAMP内部实现了可用于RTOS或裸机系统中的RPMsg框架,与Linux内核的RPMsg框架兼容。

    其通信链路建立流程如下:

    1. RTOS 端调用 rpmsg_create_ept 创建指定 name 的端点。

    2. Linux 端 rpmsg core 层收到端点创建消息,调用 rpmsg_register_device 将其作为一个设备注册到 rpmsg bus。

    3. Linux 端 rpmsg bus 匹配到相应的驱动,触发其 probe 函数。

    4. Linux 端驱动 probe 函数完成一些资源的分配以及文件节点的生成。

    5. Linux 端驱动的 probe 函数调用完后,rpmsg bus 会回复一个 ACK。

    6. RTOS 端收到 ACK 后设置端点的状态,此时使用 is_rpmsg_ept_ready 函数会返回 true。

    RPMsg数据传输流程如下:

    下面展示一次RPMsg数据传输的通信过程,下面详细说明:

    1. arm端把数据拷贝到buffer中,在初始化时已经将buffer和payload memory地址绑定,因此数据拷贝后相当于存放到了payloadmemory中。

    2. 在消息传输命令后加上数据在payload memory中的起始地址和长度,组成数据包,调用RPMsg接口发送。

    RPBuf:基于共享内存和RPMsg消息通知,实现传输大数据传输的框架。

    RPMsg:基于VirtIO管理的共享内存,实现数据传输的框架。

    VirtIO:原本是一套用在虚拟化环境中传输数据的框架,这里用作共享内存(VRING)的管理。

    OpenAMP:OpenAMP框架为RTOS、裸机和Linux用户空间提供了RPMsg、VirtIO、re-moteproc(未列出)的实现,并且与Linux内核兼容。

    Msgbox:是全志平台提供的一套消息中断机制,已通过linux内核中原生的mailbox框架作适配。

    MSGBOX_IRO_REG:Msgbox的中断相关寄存器。

    buffer:表示申请到的共享内存。用户通过操作buffer对象,可直接访问对应的共享内存。

    payload memory:用来存放实际传输数据的共享内存,因此称为payload(有效负载)。

    VRING:由Virtl0管理的一个环形共享内存。

    part 03  案例与性能测试

    • A核与RISC-V核通讯流程

    A核与RISC-V核通讯流程如下:

    1. 首先监听端点

    2. 创建端点

    3. 节点通讯

    linux向riscv发送

    4. riscv接收数据

    • A核与RISC-V核数据传输性能测试

    A核与RISC-V核数据传输性能测试,使用rpmsg_test命令对rpmsg进行性能测试,测试发送方向和接收方向各自的耗时以及速率。

    1. 主核测试结果:

    2. 从核测试结果:

    3. 通过输出的结果可以得到:

    [rpmsg1] send: 496.000000Kb 20.000000ms 24.799999M/s

    [rpmsg1] receive : 496.000000Kb 9980.000000ms 0.049699Mb/s

    发送496KB数据耗时20ms发送速率为24.79Mb/s

    接收496KB数据耗时9980ms发送速率为0.049699Mb/s

    • DSP GPADC采集测试

    采集流程如下:

    1. 开启DSP

    2. DSP核打印

    3. 开启DSP后,把GPADC0引脚接入1.8V电源,此时用户可以执行A核应用程序与DSP进行通讯,使DSP进行GPADC采集并返回数据

    可以看到GPADC0收的电压数据为1792,转换为电压值为:1792/1000=1.792V。

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/74110.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    Tomcat虚拟主机配置详解:Centos环境下多域名部署(详细教程!)

    🏡作者主页:点击! Tomcat服务器📝专栏:点击! 🐧Linux高级管理防护和群集专栏:点击! ⏰️创作时间:2025年3月18日14点14分 最近在折腾 Tomcat 的时候&…

    dfs刷题排列问题 + 子集问题 + 组和问题总结

    文章目录 一、排列问题全排列II题解代码 优美的排列题解代码 二、子集问题字母大小写全排列题解代码 找出所有子集的异或总和再求和题解代码 三、组合问题电话号码的字母组合题解代码 括号生成题解代码 组合题解代码 目标和题解代码 组合总和题解代码 总结 一、排列问题 全排列…

    【Linux】VMware17 安装 Ubuntu24.04 虚拟机

    目录 安装教程 一、下载 Ubuntu 桌面版iso映像 二、安装 VMware 三、安装 Ubuntu 桌面版 VMware 创建虚拟机 挂载 Ubuntu ISO 安装 Ubuntu 系统 安装教程 一、下载 Ubuntu 桌面版iso映像 链接来自 清华大学开源软件镜像站 ISO文件地址:ubuntu-24.04.2-des…

    CVPR2025 | 对抗样本智能安全方向论文汇总 | 持续更新中~

    汇总结果来源:CVPR 2025 Accepted Papers 若文中出现的 论文链接 和 GitHub链接 点不开,则说明还未公布,在公布后笔者会及时添加. 若笔者未及时添加,欢迎读者告知. 文章根据题目关键词搜索,可能会有遗漏. 若笔者出现…

    PostgreSQL_数据回退,数据库导出、导入

    目录 前置: 1 数据回退 1.1 代码 1.2 pgAdmin4 中查看 1)t_daily 2) t_stock_daily 2 数据库导出、导入 前置: 本博文是一个系列。在本人“数据库专栏”-》“PostgreSQL_”开头的博文。 1 数据回退 上一节“PostgreSQL_数据下载并…

    golang单机锁实现

    1、锁的概念引入 首先,为什么需要锁? 在并发编程中,多个线程或进程可能同时访问和修改同一个共享资源(例如变量、数据结构、文件)等,若不引入合适的同步机制,会引发以下问题: 数据竞…

    【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解

    【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解 一、前言 鸿蒙中实现弹框目前官方提供openCustomDialog和CustomDialog两种模式。推荐前者,详情见下图和官网文档链接: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V14/arkts-u…

    机器学习算法实战——天气数据分析(主页有源码)

    ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 引言 天气数据分析是气象学和数据科学交叉领域的一个重要研究方向。随着大数据技术的发展,气象数据的采集、存储和分…

    炫酷的3D按钮效果实现 - CSS3高级特性应用

    炫酷的3D按钮效果实现 - CSS3高级特性应用 这里写目录标题 炫酷的3D按钮效果实现 - CSS3高级特性应用项目介绍核心技术实现1. 基础结构设计2. 视觉效果实现2.1 背景渐变2.2 立体感营造 3. 交互动效设计3.1 悬停效果3.2 按压效果 技术要点分析1. 深度层次感2. 动画过渡3. 性能优…

    解决python配置文件类configparser.ConfigParser,插入、读取数据,自动转为小写的问题

    配置类 [Section1] Key_AAA Value[Section2] AnotherKey Value默认情况下,ConfigParser会将ini配置文件中的KEY,转为小写。 重载后配置类: 继承类从configparser.ConfigParser改为configparser.RawConfigParser重载方法optionxform&#…

    微服务的网关配置

    微服务的网关配置 1. 网关路由 1.1 网关 1.1.1 存在问题 单体架构时我们只需要完成一次用户登录、身份校验,就可以在所有业务中获取到用户信息。而微服务拆分后,每个微服务都独立部署,这就存在一些问题:每个微服务都需要编写身…

    区间震荡指标

    区间震荡指标的逻辑如下: 一、函数注解 1. Summation函数 功能: 计算给定价格序列Price的前Length个数据点的和,或在数据点数量超过Length时,计算滚动窗口内的价格和。 参数: Price(1):价格序列&#…

    C语言-数组指针和指针数组

    指针 数组指针与指针数组 数组指针 定义 概念:数组指针是指向数组的指针,本质上还是指针 特点: ①先有数组,后有指针 ②它指向的是一个完整的数组 一维数组指针 语法: 数据类型 (*指针变量名)[容量]; 案例&a…

    31天Python入门——第5天:循环那些事儿

    你好,我是安然无虞。 文章目录 1. while循环1.1 while循环的嵌套1.2 补充学习:print函数 2. for循环2.1 range函数2.2 for循环2.3 continue和break以及return2.4 for循环的嵌套 3. 补充学习3.1 enumerate函数3.2 zip函数3.3 不要在遍历列表的过程中删除元素 循环 是…

    c#难点整理

    1.何为托管代码,何为非托管代码 托管代码就是.net框架下的代码 非托管代码,就是非.net框架下的代码 2.委托的关键知识点 将方法作为参数进行传递 3.多维数组 4.锯齿数组 5.多播委托的使用 6.is运算符 相当于逻辑运算符是 7.as 起到转换的作用 8.可…

    数据结构之栈的2种实现方式(顺序栈+链栈,附带C语言完整实现源码)

    对于逻辑关系为“一对一”的数据,除了用顺序表和链表存储外,还可以用栈结构存储。 栈是一种“特殊”的线性存储结构,它的特殊之处体现在以下两个地方: 1、元素进栈和出栈的操作只能从一端完成,另一端是封闭的&#xf…

    Jmeter旧版本如何下载

    1.Jmeter最新版本下载位置 https://jmeter.apache.org/download_jmeter.cgi2.Jmeter旧版本下载位置 https://archive.apache.org/dist/jmeter/binaries稳定版本:5.4.1

    css-grid布局

    文章目录 1、布局2、网格轨道3、间距Gap4、网格线5、网格别名 当一个 HTML 元素将 display 属性设置为 grid 或 inline-grid 后,它就变成了一个网格容器,这个元素的所有直系子元素将成为网格元素。 1、布局 启用grid布局类似与flex布局,不过g…

    SolidWorks使用显卡教程

    操作步骤: 打开注册表编辑器 按下键盘上的 Win R 组合键,输入 regedit 并按回车键,打开注册表编辑器。 导航到显卡信息路径 在注册表中依次展开以下路径: plaintext HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2021\Per…

    【C++11】左值引用、右值引用、移动语义和完美转发

    🦄个人主页:修修修也 🎏所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 📌左值引用和右值引用 🎏左值和左值引用 🎏右值和右值引用 📌左值引用和右值引用比较 🎏左值引用 🎏右值…