- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章VSCode搭建STM32开发环境的方法步骤由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
摘要: 作为一个51单片机或STM32单片机的使用者,keil一直是我们的必备的一款工具之一。但keil的一些问题也一直存在,当然也有人用其他的比如STM32CubeIDE。但是今天推荐的是VScode+Keil Assistant插件,不需要很复杂的配置各种文件和环境变量,只需要一个插件即可!可以编译代码和下载程序.
当我们的工程文件比较大的时候,编译一次代码需要很久可能会花费到四五分钟,但是我们用vscode编写和编译的话时间就会大大缩减,同时还支持右键的函数跳转和自动补齐功能.
。
VScode大家应该不陌生了,Visual Studio Code(简称“VS Code”)是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统.
在官网下载之后安装即可! 。
。
VS Code安装完成之后,首先就要安装C/C++插件,点击软件最右边的扩展按钮,在出来的搜索框中输入C/C++,选择最上面一个然后点击安装即可,因为我这里已经安装过了,所以现实的是卸载.
。
C/C++插件安装完成之后,首先就要安装1Keil Assistant插件,同样点击软件最右边的扩展按钮,在出来的搜索框中输入keil,选择最上面一个Keil Assistant然后点击安装即可.
添加keil可执行文件UV4.exe的绝对路径,这里有两个路径,上面是C51的,下面是MDK的,这里以STM32为例,添加的是我电脑上的MDK的可执行文件的路径,如下:
这里在桌面找到Keil的图标,右键查看文件所在位置,就能看到keil的可执行文件的路径,把它复制到上面就可以了.
至此VScode的MDK环境就搭建好了,是不是很简单.
。
当插件安装完成之后文件界面会出现KEIL UVISION PROJECT,然后点击右边的+加号.
选择我们要打开的keil文件,和用MDK打开工程一样,需要打开后缀名为.uvprojx的文件.
之后项目就打开了! 。
。
这个插件是可以进行编译,烧录的。不需要额外添加其他的插件。提供了3个按钮,分别代表 编译,下载,重新编译.
编译所需要的工具下载器的配置,是在MDK中配置的,也就是说你在MDK中配置好Debug,在VScode中就可以直接点击下载按钮下载程序了,是不是很方便! 。
。
1、编译,烧录:提供了 3 个按钮,分别代表 编译,下载,重新编译 。
2、保存和刷新:在 Keil 上添加/删除源文件,更改,配置项目,更改完毕后点击 保存所有,插件检测到 keil 项目变化后会自动刷新项目 。
3、打开源文件:单击源文件将以预览模式打开,双击源文件将切换到非预览模式打开 。
4、切换 c/c++ 插件的配置:点击目标名称在多个 c/c++ 配置中切换 。
5、切换 keil Target:点击项目的切换按钮,可以在多个Keil Target 之间切换 。
展开引用:在编译完成后,可以点击源文件项的箭头图标展开其引用(仅支持 ARM 项目) 。
。
下面是官方对这个插件的描述:
VScode上的Keil辅助工具,与c/c++ 插件配合使用。能够为Keil项目提供语法高亮、代码片段的功能,并支持对keil项目进行 编译、下载。仅支持 Keil uVison 5 及以上版本。仅支持Windows平台.
功能特性 。
1、加载Keil C51/ARM 项目,并以Keil项目资源管理器的展示方式显示项目视图.
2、自动监视keil项目文件的变化,及时更新项目视图.
3、通过调用Keil命令行接口实现 编译,重新编译,烧录keil项目.
4、自动生成c_cpp_properties.json文件,使C/C++插件的语法分析能正常进行.
结语:编译工具千千万,适合自己最重要。小伙伴你们觉得这个插件好用吗?
到此这篇关于VSCode搭建STM32开发环境的方法步骤的文章就介绍到这了,更多相关VSCode搭建STM32开发环境内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/qq_39400113/article/details/118369583 。
最后此篇关于VSCode搭建STM32开发环境的方法步骤的文章就讲到这里了,如果你想了解更多关于VSCode搭建STM32开发环境的方法步骤的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在对 JVM 上的 STM 技术进行一些研究。阅读了一些文档后,我对 Multiverse 的实现有些困惑。 根据 the Multiverse FAQ , Multiverse 不支持检测。然而
我想知道 Clojure 怎么可能已经实现了软件事务内存并且没有发现任何问题,而微软没有完成它的 C# 工作并注意到一些问题使得实现这里描述的 STM 不切实际: http://www.bluebyt
最后,我有以下设置 C:>哪里玩 C:\apps\play-2.2.0\play C:\apps\play-2.2.0\play.bat C:> 哪里 scala C:\apps\scala\bin\
我试图找出 Clojure 所称的 STM 与 Haskell 中实现的 STM 之间的区别。撇开实际的语言语义差异不谈,正如 Rich Hickey 在他的演讲中所说,Clojure 的 STM 实
阅读 Bartosz Milewski 的精彩作品 blog post在 STM 上,我很兴奋地阅读了以下内容: But take into account an important fact: ST
大家好, 在某些时候,我认为这些 stm 实现(我使用过一点点的多元宇宙......),被过度宣传了。因为在某些时候他们使用 CAS 来为他们提供操作的原子性。如果我直接使用 CAS 而不是使用这些实
haskell 的 stm 库中有一个函数,其类型签名如下: alwaysSucceeds :: STM a -> STM () 根据我对 Haskell 中 STM 的了解,在执行 STM 计算时,
在 Clojure 中,我们使用 STM 来实现并发。 我的问题是STM使用数据的时间点值,这是否会带来歧义? 我们如何知道访问了什么值? 最佳答案 Clojure 中的 STM 提供了(通过 ref
我需要有关用作原子更改日志的数据结构的建议。 我正在尝试实现以下算法。有流量传入更改更新内存中的映射。在类似 Haskell 的伪代码中它是 update :: DataSet -> Some
我正在尝试对这两个(软件事务内存和原子操作,我想两者不一样)进行一些基准测试,尽管我没有使用STM做太多事情(它似乎很难使用),但我成功地尝试了对基准测试进行计数,即所有线程将共享计数器递增 5000
我能够使用 STM 初始化状态并将其打印出来: module Main where import Control.Concurrent.STM data State = State {name ::
我读过两个关于 STM 如何实现的完全不同的描述。也许两者都是正确的,或者一个是错误的,我希望有人能阐明这一点。 Take 1(维基百科):允许所有线程修改共享内存,但事务中的每次读写都会被记录下来。
我知道将具有副作用的函数放在 STM 事务中通常是不好的做法,因为它们可能会被重试和调用多次。 然而,在我看来,您可以使用代理来确保只有在事务成功完成后才会执行副作用。 例如 (dosync //
我正在编写一个程序,其中大量代理监听事件并对其使用react。由于Control.Concurrent.Chan.dupChan已弃用我决定使用 TChan 的广告。 TChan 的表现比我预想的差很
我正在研究 Clojure 中的并发编程。 http://clojure.org/concurrent_programming 我了解到atom、ref和agent形式是用来维护程序状态的。 仅ref
你好,我正在阅读《clojure 的乐趣》这本书,在关于 STM 的部分中,他们有一个 2 个事务的图像,其中 A 最初从引用中检索与 B 相同的值,然后事务 A 和 B 都进行计算但 A 首先完成并
我熟悉Database transactions ,并花费了大量的时间调整isolation levels 。我从未在代码中实现过自己的事务模型。 我已通读 the source code对于 Clo
我有一个事务由于某种原因无限期失败,我想在内部使用跟踪指令。例如,要在执行此片段中的事务之前打印 MVar 的状态: data_out do putTMVar
当我们运行 STM 表达式时,它命中了 retry,线程被阻塞,如果条目被修改,事务将再次运行。 但我想知道: 如果我们读取一个 STM 变量,但在导致重试的特定分支中实际未使用该变量,更新它是否会尝
我正在研究 Clojure 中的并发编程。 http://clojure.org/concurrent_programming 我了解到atom、ref 和agent 表单用于维护程序状态。 只有 r
我是一名优秀的程序员,十分优秀!