上位机图像处理和嵌入式模块部署(mcu常见三种烧录方法)

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

        和单纯的windows上位机开发、嵌入式linux开发不一样,mcu的开发,是需要通过烧录器把编译好的镜像烧入到开发板里面的。这是很大的一个不同点。当然,除了烧录,一般它们还有仿真功能,可以用来进行debug调试使用。用类似keil的编译器编写代码、生成镜像文件,这一点都差不多,但是烧录这是mcu开发板特有的。因为像linux开发后期,基本就是ssh拷贝和粘贴了,没有烧录的流程了,windows qt开发就更不用说了。

        所以,我们购买开发板的时候一般都要购买一个烧录器。目前mcu的烧录器主要有三种,一种是st-link v2这种;一种是cmsis-dap这种,还有一种是jlink。实际的使用过程中应该如何来选择呢,我们简单聊一下。

1、下载电路

        这是实际mcu的下载电路,一般都是这个样子的。即电路中有四条线,一个是vcc 3.3,一个是gnd。这意味着,可以通过烧录器给开发板供电。另外两个就是dio和clk,一个是数据,一个是时钟,有点类似于iic。不管我们使用哪一种烧录器,连接的都是这四根线,各种烧录器的不同,本质上只是协议的不同而已。

2、sw-link v2烧录器

        sw-link v2是意法半导体公司推出来的烧录器。意法半导体可能大家不熟悉,但是它们家的stm32系列mcu,大家应该都用过。所以一般来说,只要是stm32系列的mcu,都可以使用这个烧录器进行版本烧录。而且,st-link v2现在某宝上面的价格非常便宜,十几块就可以买到。此外,st-link v2本身是需要额外安装驱动的,这一点稍微注意下。

3、cmsis-dap烧录器

        dap系列的烧录器,都是arm公司推出来的默认烧录器。这意味着,只要是arm系列的cpu,理论上都可以用这个烧录器进行版本烧录的,并且它是免驱动安装的。按照这个思路,相对于stm32而言,各路国产的arm系列mcu,比如说gd32,比如说普冉,比如说华大mcu系列,都可以使用这类烧录器进行版本烧录。电商网站上面的某火、某原子,推出来的大部分也是dap烧录器。

4、jlink烧录器

        jlink实现的是jtag协议,要说到jtag,那就非常悠久了,一般来说默认的soc、fpga、dsp等芯片都支持jtag,只要对应的jlink烧入相应的firmware固件即可。不仅如此,jlink还支持多种cpu,不仅是arm,还可以是mips、powerpc、riscv,所以jlink是使用范围最广的一类烧录器。就目前情况来说,国产的mcu大部分还是arm为主,只有某恒wch采用了risc-v cpu,所以理论上它也是可以通过jlink进行烧入的。mcu或者soc里面的jtag接口一般都是这样的,如下图所示,

        现在用的比较多的jlink,都是v9版本。如果正常走jtag接口,除了vcc、gnd之外,连接传统jtag的tck、tms、tdi、tdo四个pin即可。反之,jlink连接swd接口电路的时候,需要从20pin当中找出对应的swd接口,连接到开发板上。此外,有一个rst连线可接可不接。连接好之后,我们就可以把jlink转成swd,进行版本烧录了。当然,jlink也是需要进行驱动下载的。从arm烧录角度来说,dap能使用的地方,jlink也可以的。如果不是arm,像wch这种risc-v的情况,个人建议还是专门买一个官方的专业烧录器,或者用某原子的v-link烧录器,这样使用起来更方便一点。

        jlink转swd有现成的接法,主要就是3.3v、gnd、clk和dio。接好了之后,没有什么问题的话,就可以在keil里面看到jlink被识别到了,对应的arm cpu也被识别到了。

5、烧录算法

        烧录算法一般都是提前配置好的,在keil下面一般是依赖于某一个flm或者flx文件,目录在C:\Keil_v5\ARM\Flash下面。截图部分的话,就如下图所示,

6、总结

        大家实际使用mcu进行电路开发、固件开发的时候,如果只是使用stm32,那么买一个st-link v2就好了。如果是需要支持其他的国产arm mcu,这个时候可以再买一个cmsis-dap仿真器或者jlink仿真器即可。针对risc-v的mcu,单独买一个官方的或者第三方出品的仿真器就好了。

        当然不管是三种方法中的哪一种方法,最重要的是可以借助烧录模块识别到arm内核,这样才能进行后面的操作,不然后面的一起都无从谈起。

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

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

相关文章

Unreal Engine5 Landscape地形材质无法显示加载

UE5系列文章目录 文章目录 UE5系列文章目录前言一、解决办法 前言 在使用ue5做地形编辑的时候,明明刚才就保存的Landscape地形完全消失不见,或者是地形的材质不见了。重新打开UE5发现有时候能解决,但大多数时候还是没有解决,我下…

QT5.15.2及以上版本安装

更新时间:2024-05-20 安装qt5.15以上版本 系统:ubuntu20.04.06 本文安装:linux-5.15.2 下载安装 # 安装编译套件g sudo apt-get install build-essential #安装OpenGL sudo apt-get install libgl1-mesa-dev# 下载qt安装器 https://downl…

Java之SpringSecurity使用心得

文章目录 一、内存身份认证二、jdbc身份认证三、自定义登录页 一、内存身份认证 添加pom依赖 <!-- Spring Security提供的安全管理依赖启动器 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-s…

必示科技参与智能运维国家标准预研线下编写会议并做主题分享

近日&#xff0c;《信息技术服务 智能运维 第3部分&#xff1a;算法治理》&#xff08;拟定名&#xff09;国家标准预研阶段第一次编写工作会议在杭州举行。本次会议由浙商证券承办。 此次编写有来自银行、证券、保险、通信、高校研究机构、互联网以及技术方等29家单位&#xf…

YoloV8改进策略:蒸馏改进|CWDLoss|使用蒸馏模型实现YoloV8无损涨点|特征蒸馏

摘要 在本文中&#xff0c;我们成功应用蒸馏策略以实现YoloV8小模型的无损性能提升。我们采用了CWDLoss作为蒸馏方法的核心&#xff0c;通过对比在线和离线两种蒸馏方式&#xff0c;我们发现离线蒸馏在效果上更为出色。因此&#xff0c;为了方便广大读者和研究者应用&#xff…

1076: 判断给定有向图是否存在回路

解法&#xff1a; 直观的方法用邻接矩阵dfs,这是错误的代码 #include<iostream> #include<vector> using namespace std; int arr[100][100]; int f 0; void dfs(vector<int>& a, int u) {a[u] 1;for (int i 0; i < a.size(); i) {if (arr[u][i]…

Github 2024-05-25 Rust开源项目日报Top10

根据Github Trendings的统计,今日(2024-05-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Svelte项目1TypeScript项目1Python项目1Go项目1Dart项目1RustDesk: 用Rust编写的开源远程桌面软件 创建周期:1218 天开发语言:Rust…

Linux--动静态库制作使用及使用

目录 0.文件系统 1.软硬链接 2.静态库 2.1先见一见 2.2 制作静态库&#xff0c;并使用制作的静态库 3.动态库 3.1制作动态库&#xff0c;并使用制作的动态库 4.推荐一个第三方库&#xff08;ncurses&#xff09; 5.动态库的加载 6.动态库VS静态库 0.文件系统 Linux…

北理工提出 LTrack 双摄像头系统 | 专注于暗场景多目标跟踪,自动驾驶和夜间监控的福音!

低光照场景在现实世界应用中很普遍&#xff08;例如自动驾驶和夜间监控&#xff09;。最近&#xff0c;在各种实际用例中的多目标跟踪受到了很多关注&#xff0c;但在暗场景中的多目标跟踪却鲜少被考虑。 在本文中&#xff0c;作者专注于暗场景中的多目标跟踪。为了解决数据集…

9.5 Go语言入门(条件语句和循环语句)

Go语言入门&#xff08;条件语句和循环语句&#xff09; 目录四、条件语句和循环语句1. 条件语句1.1 if 语句1.2 if-else 语句1.3 if-else if-else 语句1.4 带初始化语句的 if1.5 switch 语句1.6 带条件的 switch1.7 多个条件的 case 2. 循环语句2.1 基本 for 循环2.2 省略初始…

转行3年涨薪300%,我总结了一套产品经理快速入门指南!

想转行的产品小白&#xff0c;初期一定会遇到这个问题——我要如何 0 基础转行产品经理&#xff1f; 要想 0 基础快速转行产品经理&#xff0c;我通过个人实践总结了 5 个关键点&#xff0c;可以参考。 一、熟悉产品经理的工作全流程 转行的产品小白&#xff0c;首先要建立产…

Amesim应用篇-制冷剂压焓图软件Coolpack简介与冷媒流量评估

前言 空调系统仿真不可避免的会涉及到冷媒的物性参数、压焓图等信息。冷媒的物性可以在Amesim中自带的模型中查看。而压焓图可以通过Coolpack软件绘制。 一 软件介绍 Coolpack是个独立的小程序&#xff0c;集成了各种冷媒的性能参数&#xff0c;可以直观查看冷媒工作工况曲线…

c语言:摆脱对指针的恐惧【4】

在上一期指针我们讲到了二级指针是的作用是存放一级指针的地址&#xff0c;还讲了指针数组是一个可以存放若干个指针变量的数组&#xff0c;这里我们再复习一下&#xff0c;下面指针数组是什么意思&#xff1f; int* arr1[10]; //整形指针的数组 char *arr2[4]; //一级字符指针…

Python中动态调用C#的dll动态链接库中方法

在Python中调用C#的dll库_哔哩哔哩_bilibili 环境准备&#xff1a; 安装 pythonnet pip install pythonnet在Python中调用C#动态链接库&#xff08;DLL&#xff09;&#xff0c;可以使用pythonnet库&#xff0c;它允许直接使用 .NET 的程序集。以下是一个示例&#xff0c;…

C++ 写的_string类,兼容std::string, MFC CString和 C# 的string

代码例子&#xff1a; using namespace lf; int main() { CString s1 _t("http://www.csdn.net"); _string s2 s1; CString s3 s2; _pcn(s1); _pcn(s2); _pcn(s3); return 0; } 输出&#xff1a; _Str.h /***************************************…

在使用LabVIEW控制多个串口设备进行数据读取时,读取时间过长

在使用LabVIEW控制多个串口设备进行数据读取时&#xff0c;如果发现数据更新时间超过5秒&#xff0c;可以从以下几个方面进行分析和解决&#xff1a; 1. 串口配置与通信参数 确保每个串口的通信参数&#xff08;波特率、数据位、停止位、校验位等&#xff09;配置正确&#x…

【数据结构】二叉树的功能实现

文章目录 关于二叉树的创建如何创建二叉树实现二叉树的前、中、后序遍历层序遍历 关于二叉树的创建 在笔者的上一篇文章中堆进行了一个详细介绍&#xff0c;而二叉树是以堆为基础进行创建&#xff0c;它与堆的显著不同是 堆像是一个线性结构&#xff0c;堆的结构往往是一个数…

springboot项目,@Test写法 @Before @After

某文件示例 package cn.xxx.crm.boss;import cn.xxxx.crm.manager.mq.rabbit.AliyunCredentialsProvider; import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; im…

2024电工杯数学建模B题Python代码+结果表数据教学

2024电工杯B题保姆级分析完整思路代码数据教学 B题题目&#xff1a;大学生平衡膳食食谱的优化设计及评价 以下仅展示部分&#xff0c;完整版看文末的文章 import pandas as pd df1 pd.read_excel(附件1&#xff1a;1名男大学生的一日食谱.xlsx) df1# 获取所有工作表名称 e…

XSS漏洞:pikachu靶场中的XSS通关

目录 1、反射型XSS&#xff08;get&#xff09; 2、反射性XSS&#xff08;POST&#xff09; 3、存储型XSS 4、DOM型XSS 5、DOM型XSS-X 6、XSS之盲打 7、XSS之过滤 8、XSS之htmlspecialchars 9、XSS之href输出 10、XSS之js输出 最近在学习XSS漏洞&#xff0c;这里使用…