上位机图像处理和嵌入式模块部署(软硬结合才是嵌入式的精髓)

news2024/10/1 22:41:10

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        关于嵌入式,有很多的说法。有的认为stm32 mcu那种才是嵌入式;有的认为嵌入式linux也是嵌入式;也有的同学认为,嵌入式无非就是把pc的东西移植到嵌入式板子而已。这些想法,对,其实也不对。现在的很多linux板子,确实很多代码的确都是从pc电脑移植而来。但是如果仅仅是移植,而不做优化,其实是不合算的。

1、算法不能仅仅依靠cpu

        很多的算法,如果是运行在pc电脑上,问题不大。一方面,pc上面的cpu频率够、算力强;另外pc电脑一般连接着外部电源,没有省电的需求,所以算法跑在pc上面一点问题没有。但是如果算法port到嵌入式板子之后,还是靠cpu来运行的话,可能需要非常好的cpu才行,频率也要足够块。但是好的cpu往往价格不便宜,这是很大的一个限制条件。

2、低功耗要求我们cpu不能太快

        嵌入式很多设备是便携式设备,比如mp3、dv之类的设备。既然如此,那么上面的电池电量就是一定的。这就要求我们开发的时候有必要做好省电处理。大家比较了解的手机,其实就是这么处理的。玩游戏的时候,运行的cpu可能性能比较强;但是如果是平时一般操作,接接电话、发发微信,运行的cpu就会自动切入到低频的cpu来处理。

3、硬件加速是必选项

        很多的应用如果靠cpu运行,很多时候即使靠cpu,也是没有办法做到实时输出的。比如说某些需要定时输出的算法,例如定位、运动控制、图像处理等等。硬件加速具有天然的优势,这个时候如果可能把soc上面的硬件加速用起来,让cpu仅仅是负责控制功能,这还是非常方便的。

        有的同学也许会说,如果没有这样的IP怎么办?答案就是自己写一个,无论是外挂的fpga,还是内嵌fpga的zynq,都是不错的选择。

4、成本控制要求我们必须软硬结合

        前面说过,好的cpu往往都比较贵。如果我们又想性能好,又不想太贵,这个时候只能想尽办法把soc上面的资源都用起来。不管是cpu、gpu、dsp、mcu,还是自带的编码、解码、ai、isp算法,又或者是自己设计的fpga算法,只要是能解决问题,都应该为我们所有。算法如果仅仅可以跑在高端的soc上面,这其实不是自己的优势,而是soc芯片公司的优势。

5、软硬结合就是写驱动、做控制

        怎么做软硬结合,其实就是做驱动。软件从传感器拿到数据,放到指定内存,接下来送给硬件。硬件处理好了,通过中断告诉我们,我们再从指定内存获取结果。这就是一个循环往复的过程。有些同学如果还不理解的话,我们可以以网络为例进行说明,

        读书的时候,一般都认为网络有五层,分别是应用层、传输层、网络层、mac层和物理层。至下而上地去看,物理层是phy芯片完成,mac层是soc内部ip完成。这个时候的驱动,就是配置soc内部的ip,分别去访问mac层和物理层芯片。那传输层和网络层呢,就是kernel内部实现的tcp/ip协议。应用层,就是windows/linux上面写的application程序,这都是常规操作。

        这个时候,大家有没有想过,如果是想加快报文处理的速度,怎么用软硬结合实现呢?其实有一个思路是这样的,传输层只用udp,这样不用超时重传。网络层限制报文大小,这样不用分包。mac层和物理层呢,则不变。有了这个思路,其实就可以把应用层以下的code全部ip话,上层报文分发下来,直接udp送出去,没有了tcp/ip协议栈,每一步都是硬件完成,这样的处理速度,肯定是一般芯片没有办法比拟的。而上层应用来说,除了udp和报文大小做了一点限制之外,其他的使用基本和原来一样。但整体效率高了很多。

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

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

相关文章

比较10大热门低代码开发平台及其适用性

本文介绍10款主流低代码开发平台,包括ZohoCreator、OutSystems、Mendix等,它们各具特色,如定制能力强、集成方便、全栈开发等,适合不同企业快速构建应用程序,提升开发效率。 一、Zoho Creator Zoho Creator低代码开发…

沂机管理系统存在存储型XSS漏洞

漏洞描述 沂机管理系统存在存储型XSS漏洞,窃取用户Cookie获取用户信息 漏洞复现 body"后台管理系统演示版" POC GET /data/Ajax.aspx?methoduser_save&frandom0.15233733802978144&FCloud_OrgID1&FCloud_UserID167636&FCloud_EmpID1…

2024年10月HarmonyOS应用开发者高级认证全新题库

注意事项:切记在考试之外的设备上打开题库进行搜索,防止切屏三次考试自动结束,题目是乱序,每次考试,选项的顺序都不同 新版题库:单选题40题 多选题20题 注意选项答案顺序不一样,大家记得看选项…

Devicenet从站数据 转profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关用DEVICENET协议采集数据 3 5 用PROFINET IO协议转发数据 4 6 案例总结 7 1 案例说明 设置网关采集Devicenet从站设备数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协…

HarmonyOS NEXT:实现电影列表功能展示界面

时至今日HarmonyOS NEXT早已发布运行了,等其正式推出并大规模商用后,HarmonyOS的历史使命就完成并将退出历史舞台,为用户提供丰富的应用选择。但是Harmony NEXT是在HarmonyOS基础上剔除安卓(AOSP)后的产品,…

【2023工业3D异常检测文献】M3DM: 基于混合融合的多模态工业异常检测方法

Multimodal Industrial Anomaly Detection via Hybrid Fusion 1、Background 随着3D传感器的发展,最近发布了具有2D图像和3D点云数据的MVTec-3D AD数据集,促进了多模态工业异常检测的研究。 无监督异常检测的核心思想是找出正常表示与异常之间的差异。…

[云服务器16] 搭建flarum论坛,纯小白向

论: 如何才能正确搭建Flarum论坛? 先看成品(当然还没搭好,直达车): 那么,怎么才能部署如此之好の论坛呢? 本期主要讲述正确搭建Flarum的方法,100%成功,即使…

【STM32单片机_(HAL库)】4-3-4【定时器TIM】测量按键按下时间实现3

1.硬件 STM32单片机最小系统按键模块 2.软件 定时器HAL驱动层文件添加ic驱动文件添加GPIO常用函数定时器输入捕获实验配置步骤main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "uart1.h" #include &qu…

vue3 环境配置vue-i8n国际化

一.依赖和插件的安装 主要是vue-i18n和 vscode的自动化插件i18n Ally https://vue-i18n.intlify.dev/ npm install vue-i18n10 pnpm add vue-i18n10 yarn add vue-i18n10 vscode在应用商城中搜索i18n Ally:如图 二.实操 安装完以后在对应项目中的跟package.jso…

谈谈英国论文写作复合句式的运用

每次在写英国论文的时候,为了力求表达准确,很多留学生会选择使用简单句型来完成整篇文章的写作。这样的写作虽然可以完整地表达论文的意思,但是只用简单句完成全文,可能在grammar部分的评分会比较低。因此学会运用复合句型也成为留…

QT中的按钮控件和comboBox控件和spinBox控件无法点击的bug

如图所示的.ui,执行却无法点击,需要删除布局,重新布局,并且QGroupBox放到后面。

每天五分钟深度学习pytorch:基于pytorch搭建一元线性回归模型

本文重点 前面我们学习了很多零散的知识,比如优化器,学习率,损失函数,反向传播参数计算等等,从本节课程起,我们将这些知识总结起来,本节课程我们看一下,如何才能通过pytorch搭建一元线性回归模型 什么是一元线性回归模型? 一元线性回归是只有一个自变量 (自变量x和…

RabbitMQ的相关题

一、 MQ的作⽤及应⽤场景 类似问题: 项⽬什么场景下使⽤到了MQ, 为什么需要MQ? RabbitMQ 的作⽤?使⽤场景有哪些? RabbitMQ…

python之with

with上下文管理是什么呢? 一般都是使用系统提供的一些with语句,列如我要去读取一些数据进行分析,就可以使用with open去读取某些数据,或者我要把一些图片给他保存到某些地方,可以用with给他写入。 上下午管理器with是…

墙绘艺术在线市场:SpringBoot实现指南

2 相关技术 2.1 SSM框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架…

精选算法入门——day1

题目一 题干 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含…

【STM32单片机_(HAL库)】4-3-1【定时器TIM】串口打印功能打开

1.硬件 STM32单片机最小系统CH340模块 2.软件 main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "uart1.h"int main(void) {HAL_Init(); /* 初始化HAL库 */stm32_clock_init(R…

常见的RTSP播放器有哪些?

VLC播放器 特点:VLC 是一款功能强大、跨平台的多媒体播放器,支持多种音频和视频格式以及流媒体协议,包括 RTSP。它具有广泛的解码器支持,能播放大多数常见的视频和音频格式。其开源特性使得它拥有活跃的开发者社区,不断…

【教学类-59-01】20241001双面五星红旗国旗(中2班)

背景需求: 国庆在即,怎么能不做一面五星红旗呢? 【教学类-39】A4红纸-国旗灯笼纸模(庆祝中华人民共和国成立74周年)_a4 打印 灯笼-CSDN博客文章浏览阅读626次。【教学类-39】A4红纸-国旗灯笼纸模(庆祝中华…

车辆重识别(注意力 U-Net:学习在哪些区域寻找胰腺)论文阅读2024/10/01

什么是注意力机制? 什么是加性注意力? 大致说一下流程: 对于一张特征图来说,对于这张图中的每一个像素向量(例如a),计算该向量与所有像素向量的相似度,对这些相似度进行激活函数…