上位机图像处理和嵌入式模块部署(f407 mcu中的项目开发特点)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
和soc相比较,mcu的项目规模一般不算大。因为,soc项目中,从规划、硬件开发、驱动、应用端、服务器端到测试,一个产品的完成有赖于好多人的努力。但是mcu不一样,很多时候,一个mcu模块只需要一个人就能完成,软硬件+测试都是他做,并不需要很多人的参与。所以,有的时候你会发现很多,很多做mcu的同学做着做着就出来单干了,这也是常有的事情。如果我们自己再细心一点,你会发现很多mcu项目都有这么几个特点。

1、mcu项目成本一般都不高
抛却特定军工、航空和航太领域的mcu,一般的mcu都不贵。所以用mcu解决的问题,都是具体而单一的问题。因此,基于mcu的项目一般成本都不高。硬件部分一般就是数字输入、数字输出、模拟输入、模拟输出、频率输入、频率输出这6个部分,至于是它是用来做什么的,这个就取决于具体的用途了。
2、mcu项目更好落地
soc虽然也是软硬件结合,无奈专业化分工太复杂,但是mcu没有这个问题。纯软件开发,目前在国内一般是和项目绑定在一起的,小微公司希望靠软件产品生存还是比较困难的。所以,对于有创业想法的同学,mcu本身其实是非常好的立脚点和出发点。
3、mcu项目要比我们想象的多得多
之前,我一直以为mcu应用无非就是一些家用电子、医疗电子和工业电子设备上使用。高端的设备还是要上linux、上soc、上fpga。但事实上,mcu市场是一个非常庞大的市场,很多时候mcu做成的一些模块本身都有很大的市场和需求,比如说串口屏、烧录器、调试器、网口转485、232转can等等。做电路板设计或者是嵌入式开发的同学,每个人不可能了解所有的领域,所以这个时候要是有一个模块可以帮助自己解决特定的问题,那未尝不是一个选择,只要价格公道即可。
4、mcu项目也需要靠算法、经验、行业知识增值
之前大家一提到算法,可能认为是人工智能、机器视觉、语音识别、高速通信这样复杂的算法。其实,在mcu里面通过算法解决特定的需求问题,或者是某个行业一个方向的细分问题,也会产生巨大的收益。比如说mcu光源控制、信号滤波、双cpu同步计算等等,也是有非常大的意义。就拿最简单的pid来说,只要用对了地方,照样可以发挥巨大的作用。
不仅仅算法,经验和行业知识也是非常重要的。比如一些参数的标定,那就是老师傅更加有经验一点。
5、mcu最终的价值升级来自于和上位机的配合
mcu中cpu、ram和flash的约束,决定了它更加适合做执行层面的事情。复杂算法的进一步分析,或者说协议的解析、需求的拆解这部分,都适合放在上位机来做。比如说,传统的逻辑分析仪一般就是解算下波形,但是高端的逻辑分析仪可以用借助于上位机做协议解析。还比如说,mcu用来做运动控制非常合适,但是怎么把雕刻文字、雕刻图案的需求拆分成一个一个运动控制的执行命令,这还得看上位机。在这个角度上说,上位机是mcu的灵魂,一点也不为过。
6、mcu产品思维给linux程序员、纯软件程序员带来的思考
一个程序员终究要跳出技术的藩篱,多思考思考自己的技术可以做出什么样的产品才能满足别人的需求。大部分人,对技术其实并不care,他们关注的是这个东西,能不能给自己带来价值。从这一点说,mcu开发者无疑是非常合格的。
相关文章:
上位机图像处理和嵌入式模块部署(f407 mcu中的项目开发特点)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 和soc相比较,mcu的项目规模一般不算大。因为,soc项目中,从规划、硬件开发、驱动、应用端、服务器端到测试&…...
插入排序—Java
插入排序 基本思想 :代码实现 基本思想 : 实现数组从小到大排从第二个数开始跟前面的数比较 找到合适的位置插入 后面的数往后推移 但推移不会超过原来插入的数的下标 代码实现 public static void InsertSort(int[] arr) {for(int i 1;i<arr.len…...
c语言速成系列指针上篇
那么这一篇文章带大家学习一下c语言的指针的概念、使用、以及一些注意事项。 指针的概念 指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。 大白话讲解…...
c++ 里函数选择的优先级:普通函数、模板函数、万能引用,编译器选择哪个执行呢?
看大师写的代码时,除了在类里定义了 copy 构造函数,移动构造函数,还定义了对形参采取万能引用的构造函数,因此有个疑问,这时候的构造函数优先级是什么样的呢?简化逻辑测试一下,如下图࿰…...
网鼎杯 2020 玄武组 SSRFMe
复习一下常见的redis主从复制 主要是redis伪服务器的选择和一些小坑点 <?php function check_inner_ip($url) { $match_resultpreg_match(/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/,$url); if (!$match_result) { die(url fomat error); } try { …...
纪念日文章:我的博客技术之路——两年回望
两年前的今天,我怀揣着对技术的热情和对知识的渴望,在CSDN这片技术的沃土上,播下了属于我自己的种子——“技术之路”https://jiubana1.blog.csdn.net/ 这个博客不仅是我个人技术成长的见证,更是我与广大技术爱好者交流、学习的桥…...
course-nlp——6-rnn-english-numbers
本文参考自https://github.com/fastai/course-nlp。 使用 RNN 预测数字的英文单词版本 在上一课中,我们将 RNN 用作语言模型的一部分。今天,我们将深入了解 RNN 是什么以及它们如何工作。我们将使用尝试预测数字的英文单词版本的问题来实现这一点。 让…...
qnx 查看cpu使用
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.utilities/topic/h/hogs.html 【QNX】Hogs命令使用总结-CSDN博客 hogs hogs -S c #按照cpu排序 hogs -S m #按照内存排序 hogs -s 2 869113958 查看某一进程 hogs -% 10c 只看cpu超过…...
设备上CCD功能增加(从接线到程序)
今天终于完成了一个上面交给我的一个小项目,给设备增加一个CCD拍照功能,首先先说明一下本次使用基恩士的CCD相机,控制器,还有软件(三菱程序与基恩士程序)。如果对你有帮助,欢迎评论收藏…...
QT C++ QTableWidget 表格合并 setSpan 简单例子
这里说的合并指的是单元格,不是表头。span的意思是跨度、宽度、范围。 setSpan函数需要设定行、列、行跨几格,列跨几格。 //函数原型如下 void QTableView::setSpan(int row, i nt column, 、 int rowSpanCount,/*行跨过的格数*/ int columnSpanCount…...
Nvidia/算能 +FPGA+AI大算力边缘计算盒子:医疗健康智能服务
北京天星医疗股份有限公司(简称“天星医疗”)作为国产运动医学的领导者,致力于提供运动医学的整体临床解决方案,公司坐落于北京经济技术开发区。应用于肩关节、膝关节、足/踝关节、髋关节、肘关节、手/腕关节的运动医学设备、植入物和手术器械共计300多个…...
Oracle 误删数据后回滚
使用闪回查询 使用闪回查询,可以回滚到指定时间点的数据,可以通过系统时间(YYYY-MM-DD HH24:MI:SS)或SCN回滚数据。 SQL> select * from tableName as of timestamp(sysdate-1/24); SQL> select * from tableName as of scn(123456); 3、闪回事务或…...
【RAG提升技巧】查询改写HyDE
简介 提高 RAG 推理能力的一个好方法是添加查询理解层 ——在实际查询向量存储之前添加查询转换。以下是四种不同的查询转换: 路由:保留初始查询,同时查明其所属的适当工具子集。然后,将这些工具指定为合适的选项。查询重写&…...
前端面试题日常练-day56 【面试题】
题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末 1. PHP中的预定义变量$_SERVER用于存储什么类型的数据? a) 用户的输入数据 b) 浏览器发送的请求信息 c) 服务器的配置信息 d) PHP脚本中定义的变量 2. 在PHP中,以下哪个函数…...
【frp】frpc客户端在ubuntu服务器上的配置
FRP简单配置内网穿透 官方仓库 ,说明比较简单 复杂一点要付费加入星球了。 而且frp还支持插件,目前还不清楚具体使用。 幸好,这位大神给出的非常详细 而且客户端与服务端都是部署在ubuntu的: 【frp】服务端配置与systemd启动 进行了frps的简单配置。 局域网内的机器是ubunt…...
构建LangChain应用程序的示例代码:20、使用LangChain的SQLDatabase包装器连接到Databricks运行时并执行查询操作教程
Databricks SQL 数据库连接 概述 这个笔记本介绍了如何使用LangChain的SQLDatabase包装器连接到Databricks运行时和Databricks SQL。 内容分为三个部分:安装和设置、连接到Databricks以及示例。 安装和设置 !pip install databricks-sql-connector # 安装Datab…...
PHP Standards Recommendations(PSR)
以下是 PHP Standards Recommendations(PSR)的全部内容: PSR-1:基础编码标准:规定了 PHP 代码的基本格式和要求,包括文件的编码、标签的使用、代码的组织等。PSR-2:编码风格指南:是对…...
[word] word2019中制表符的妙用 #媒体#笔记#知识分享
word2019中制表符的妙用 word2019表格功能是非常强大的,很多朋友都认为以前的制表符已经没有什么用途了,其实不然,在一切特殊的场合,word2019制表符还是非常有用的,下面就为大家介绍word2019中制表符的妙用。 步骤1、…...
太阳能航空障碍灯在航空安全发挥什么作用_鼎跃安全
随着我国经济的快速发展,空域已经成为经济发展的重要领域。航空运输、空中旅游、无人机物流、飞行汽车等经济活动为空域经济发展提供了巨大潜力。然而,空域安全作为空域经济发展的关键因素,受到了广泛关注。 随着空域经济活动的多样化和密集…...
NineData云原生智能数据管理平台新功能发布|2024年5月版
重点发布 数据库 DevOps - 表分组查询 在企业用户规模达到一定程度后,分库分表成为一种常见的数据库架构选择。在这种情况下,查询和维护数据需要高效的解决方案,以避免手动逐一查询、变更和汇总多个分库和分表的繁琐操作。 库分组变更…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
