上位机图像处理和嵌入式模块部署(f407 mcu和其他mcu品类的选择)

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

        很多朋友读书的时候学的是stm32,工作中用的也是stm32。这本来问题不大,但是过去两三年的经历告诉我们,mcu的使用一定要进行分散采购,不能把鸡蛋放在一个篮子里面。对于个人来说,stm32这样的经典mcu需要学习,而国产的mcu也同样需要学习,很多项目,比如说军工、央企或者的国企的项目,会指定要求国产mcu。这个时候如果我们没有对应的国产mcu预案,整体就会显得很被动。当然,不仅仅是mcu国产化的问题,还有一些其他的事情,我们可以一并讨论下。

1、熟悉不同stm32 mcu的区别

        一般用的比较多的mcu就是stm系列。103负责基础领域的应用,但是没有浮点,频率也比较低,同时没有网络mac。407系列在运动控制比较多,频率也是103的2倍多,有浮点、有网络。750系列的mcu,频率更高,可以达到480m,搭配sdram、摄像头sensor,还可以做一些图像方面的应用,openmv就是这个道理。

2、了解同系列stm32 mcu的区别

        很多情况下,我们选择mcu外设资源是够的,但是片内资源就不太够了。同样以103为例,如果我们选择的是stm32f103c8t6,它的资源只有20k ram和64k flash。一旦我们编写的代码复杂一点,这里面空间很容易就不够了。所以这个时候,一般会选择stm32f103cbt6。当然,如果不幸的是,ram也不够,那么这种情况,相同pin脚的mcu已经无法满足要求了,只能重新找一个新的103芯片了。厂家一般都会提供类似下面这张表,大家可以灵活选择。

3、国产mcu的选择

        目前为止,我尝试使用了3款国产mcu,分别是沁恒wch、普冉puya和广芯微。整体用下来效果还是可以的,这也许是因为自己只用了数字电路部分的原因。只需要安装keil软件,加上各个厂家的pack包和示例代码,mcu这部分上手其实还是比较容易的。如果操作比较快的话,基本上1-2h就可以开始干活了。只要克服了心里上的顾虑,剩下来的问题其实并不大。毕竟,大部分厂家的mcu示例代码,基本上和stm32是一样的。

4、三种烧录方式最好都要学会

        大部分同学学习mcu的时候,一般都是通过某原子、某火的开发板来学习的。用的烧录方式就是dap。但是一旦涉及到其他品牌的mcu,特别是国产的mcu,则有可能是st-link v2,也有可能是j-link。特别是j-link,这是用的比较多的烧录方式,建议大家可以自己买一个j-link仿真器,使用上面也不是很复杂。自己平时三种仿真器都准备下,这样不管遇到那种情况,都能灵活应对。

        对于某些特殊的下载方法,到时候购买特定的仿真器就好了。

5、arm vs risc-v

        不是所有的mcu都是arm系列的,这里面沁恒wch的ch32v307系列的mcu,本身的cpu就是risc-v。它使用的IDE是mounriver,调试器是wch-link调试器。使用上面基本上没有什么差别。ch32v307vct6本身集成了高速usb和eth phy,同价位的mcu,这是很大的一个优势,所以实际使用的场景还是非常多的。有兴趣的同学可以去好好测试下。

6、让我们自己的业务代码解耦特定的mcu

        现在的mcu很多,不管是进口的还是国产的,这就要求我们在编写代码的时候,要脱离具体mcu的束缚。不管是中间件的代码,还是业务的代码,都要实现和mcu之间的解耦。这样,一旦因为供应、或者是成本的考量,需要替换mcu的时候,我们的软件可以很容易port到其他mcu上面。

        另外,这也提示我们,对mcu的熟悉和掌握,这不是我们的核心竞争力。我们自己的优势,应该是怎么把mcu和具体的业务绑定在一起,并且提供有高性价比的嵌入式产品,这才是我们应该努力的方向。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vmess协议是什么意思? VLESS与VMess有什么区别?

VMess 是一个基于 TCP 的加密传输协议,所有数据使用 TCP 传输,是由 V2Ray 原创并使用于 V2Ray 的加密传输协议,它分为入站和出站两部分,其作用是帮助客户端跟服务器之间建立通信。在 V2Ray 上客户端与服务器的通信主要是通过 VMes…

表格状态码转换,其他索引串转成名字

1.问题分析 原数据库 关联指标为数字串的形式,每个小数对应的是另一张表index的属性,我们想知道对应指标的名称,怎么在这里下面这种形式呢? 两种思路: 1.修改在后端处理,把后端关联指标部分修改成图二的…

数据结构之线性表(3)

数据结构之线性表(3) 上文我们了解了线性表的静动态存储的相关操作,此篇我们对线性表中链表的相关操作探讨。 在进行链表的相关操作时,我们先来理解单链表是什么? 1.链表的概念及结构 链表是一种物理存储结构上非连…

​2020-2024 idea最新安装激活

前言:怎么才能既免费,又能使用上正式版呢!(不是正版用不起,而是‘激活’更有性价比) 1-2 下载安装,此处省略 记得安装好不要打开,看下一步。 3.开始 3.1打开idea 首先打开idea&am…

ChatGPT Prompt技术全攻略-总结篇:Prompt工程技术的未来发展

系列篇章💥 No.文章1ChatGPT Prompt技术全攻略-入门篇:AI提示工程基础2ChatGPT Prompt技术全攻略-进阶篇:深入Prompt工程技术3ChatGPT Prompt技术全攻略-高级篇:掌握高级Prompt工程技术4ChatGPT Prompt技术全攻略-应用篇&#xf…

● 343. 整数拆分 ● 96.不同的二叉搜索树

343. 整数拆分 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 10 输出: 3…

Opencv基本操作

Opencv基本操作 导入并使用opencv进行图像与视频的基本处理 opencv读取的格式是BGR import cv2 #opencv读取的格式是BGR import numpy import matplotlib.pyplot as plt %matplotlib inline图像读取 通过cv2.imread()来加载指定位置的图像信息。 img cv2.imread(./res/ca…

公式转换坑

在线LaTeX公式编辑器-编辑器 (latexlive.com) 这个好用 latex输入后转mathtype等 1 \mathcal{V}\{0,1,\ldots,|\mathcal{V}|-1\} 这个玩意在Word死活打不出来 使用下面的方法也不行 mathtype也不行 故换符号之 LaTeX公式与MathType公式如何快速转换-MathType中文网 如何在…

1909java内部知识管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java内部知识管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开 发环境为TOMCAT7.0,Myeclipse8.5开发&…

解决windows11开机xbox自启动

1、同时按键盘“ctrlaltdelete”键,在弹出页面中选择任务管理器; 2、点击启动应用 3、找到软件Xbox App Services,选择“已启用”点击右键,点击禁用;

Redis使用中的性能优化——搭建Redis的监测服务

大纲 环境安装配置Redis安装 安装配置redis_exporter编译运行直接运行以服务形式运行 安装启动Prometheus创建用户下载并解压修改配置启动 安装启动grafana安装启动 测试参考资料 抛开场景和数据,谈论性能优化,就是纸上谈兵。这个系列我们将通过相关数据…

【Python深度学习】——信息量|熵

【Python深度学习】——信息量|熵 假设1. 信息量1.1 含义1.2 信息量的公式: 2. 熵Entropy2. 含义2.2 熵的计算公式:2.3 熵的作用 假设 例子:掷硬币 假设我们有一个公平的硬币。这个硬币有两个面:正面(H)和反面(T&…

Netty

优势 1.API使用简单,开发门槛低 2.功能强大,预置了多种编码功能,支持多种主流协议; 3.定制能力强,可以通过channelHandler对通信框架进行灵活地扩展; 4.性能高,通过与其他业界主流的NIO框架对比…

C++网络编程基础

文章目录 协议局域网通信IP 地址网络通信的本质tcp 和 udp 协议网络字节序网络主机数据转化接口 协议 协议:收到数据后,多出来的那一部分,也叫一种 “约定”,一整套的自硬件到软件,都有协议,需要有人定制&a…

对象存储OSS 客户端签名直传的安全风险和解决方法

1. 前言 阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面…

探索国内大模型AIGC产品

​ 人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗…

在win11系统上安装启动Hyper-V

Hyper-V 是微软公司开发的一种虚拟化技术,它允许一台物理计算机运行多个操作系统和应用程序,从而提供更好的资源利用率和系统灵活性。 win系统的linux子系统开启、android studio的虚拟环境都需要这个东西,而在初始的win11系统上可能没有这个…

Python | Leetcode Python题解之第142题环形链表II

题目: 题解: # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val x # self.next Noneclass Solution(object):def detectCycle(self, head):""":type head: ListNode:…

Redis实战篇02

1.分布式锁Redisson 简单介绍: 使用setnx可能会出现的极端问题: Redisson的简介: 简单的使用: 业务代码的改造: private void handleVoucherOrder(VoucherOrder voucherOrder) {Long userId voucherOrder.getUserI…

【数据结构与算法】使用数组实现栈:原理、步骤与应用

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法》 期待您的关注 ​ 目录 一、引言 🎄栈(Stack)是什么? &#x1…