VSCode搭建ARM开发环境

news2024/11/16 4:20:00

为了构建Cortex M系列单片机免费开源的开发环境,网络上了解来看VSCODE+GCC+JLINK是一套比较高效的组合方式,下面记录环境搭建的流程。

我这边的PC环境为 WIN7专业版64bit。

需要用到的工具

  1. Visual Studio Code
  2. STM32Cubemx
  3. ARM GCC 交叉编译工具链:  arm-none-eabi-gcc
  4. Windows版本的GCC编译器:MinGW-W64或MinGW或TDM-GCC,任选一种。
  5. Msys2
  6. OpenOCD
  7. Make
  8. ST-link
  9. STM32F4板子

工具准备

1. arm-none-eabi-gcc下载及安装

官方下载地址

建议使用gcc-arm-none-eabi版本10.3.1(gcc-arm-none-eabi-10.3-2021.10-win32) 其他版本可能会生成太大的闪存文件。

安装过程没啥难度,记得最后一步勾选“Add path to environment variable”,默认是不打勾的。如下图所示:

这一步可以将arm-none-eabi-gcc 所在bin目录添加到PATH环境变量中,如果忘记勾选该选项,需要在完成安装后,手动添加用户变量。

arm-none-eabi-gcc所在的bin目录添加到PATH环境变量之后,就可以在命令行中使用arm-none-eabi-gcc命令了,例如查看版本:输入arm-none-eabi-gcc -v


 

2. Mingw-w64 GCC for Windows 64 & 32 bits下载及安装 

在嵌入式开发上,我们只要用到Mingw-w64提供的make.exe程序,make是用于解析Makefile文件的软件。可以认为Makefile文件是自动调用gcc,把目录里一个个*.c .*h文件喂给gcc去编译的一个自动脚本文件,用户可以自由决定那些文件是需要编译的,哪些是不用编译的,还可以设置编译的选项,比如"编译优化等级",“宏定义”,"警告等级"等等.

更多Makefile相关资料,参考: GNU Make 使用手册(中译版),
https://blog.csdn.net/weixin_40535588/article/details/89336051

安装Mingw-w64, 推荐使用离线安装包安装,其实就是解压到方便找到的目录。

官方链接一般是官方项目主页SourceForge ,或者官方项目Github release页面进行下载. SourceForge是全球最大的开放源代码软件开发平台和仓库。它集成了很多开放源代码应用程序,为软件开发提供了整套生命周期服务。

下面红框里任选, 都是可以用,区别是Windows下实现的系统调用细节不一样.我选的是i686-posix-dwarf,可能是最佳兼容性,这个是在线下载器默认安装的版本.

下载地址:
MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net

上图不同版本区别的参考文章 :
https://blog.csdn.net/AMDDMA/article/details/111600238

Mingw-w64 包含了Windows下的本机GCC编译器套件, 编译产物一般是原生 Windows 应用, 学习C/C++语言,不使用微软的VC的话,就可以使用GCC进行编译windows下的程序.

下载后解压完毕, 会得到一个bin目录(后面要放入系统环境变量里面Path), 里面有很多exe,都是是windows系统的GCC软件套装.

为了方便以后在命令行执行make指令,而不是输入较长的"mingw32-make", 要把mingw32-make.exe 复制为make.exe.

然后将bin文件路径加到环境变量。设置 -> 系统 -> 关于 -> 高级系统设置

 重启后即可生效。打开cmd,输入gcc -vmake --version验证是否成功即可。

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

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

相关文章

javaWebssh文玩竞价管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh文玩竞价管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0…

MySQL--索引底层数据结构详解

索引是什么? 索引是帮助MySQL高效获取数据的排好序的数据结构,因此可知索引是数据结构。 概念很抽象,但是类比生活中的例子就很容易理解,比如一本厚厚的书,我们想取找某一小节,我们可以根据目录去快速找到…

复试人工智能前沿概念总结

1.大模型相关概念(了解即可) 1.1 GPT GPT,全称为Generative Pre-training Transformer,是OpenAI开发的一种基于Transformer的大规模自然语言生成模型。GPT模型采用了自监督学习的方式,首先在大量的无标签文本数据上进…

Linux配置.bashrc文件导致各种命令(vim、sudo)失效。

Linux配置.bashrc文件导致各种命令(vim、sudo)失效。 起因是 nvcc-V一直报错:-bash:nvcc: command not found 踩坑记录:上网一查说是没有配置cuda的环境变量。于是去修改了bashrc文件,在最下面…

Imagination:RISC-V CPU的重要力量

根据SHD集团最近发布的报告显示,RISC-V正全速发展中。通过分析从2021年到2030年这十年间RISC-V核在不同应用和功能领域的潜在市场,作者Rich Wawrzyniak得出结论称,到2030年,22.3%的SoC将包含RISC-V CPU,RISC-V的收入预…

如何保证消息不丢之MQ重试机制消息队列

1. 简介 死信队列,简称:DLX,Dead Letter Exchange(死信交换机),当消息成为Dead message后,可以被重新发送到另外一个交换机,这个交换机就是DLX 那么什么情况下会成为Dead message&a…

Unity中PICO实现移动交互

文章目录 前言一、在允许行走的地面加上对应的组件1、Teleportation Anchor 移动锚点2、Teleportation Area 移动区域 二、在 玩家(需要移动的对象)上挂载对应组件1、Teleportation Provider 被移动对象2、在 Teleportation Anchor 或 Teleportation Are…

<商务世界>《第9课 产品地图》

1 产品地图 产品地图的核心是产品或用户的业务流程或地图导航,从用户和产品两条路线出发,搭建业务架构,并划分明确的功能模块,用图形化方式记录、整理、表现出产品的清晰特点。其中,包括用户在使用过程中做了什么、感…

景联文科技:专业提供高质量大语言模型训练数据

2024年,数字经济被再次写入政府工作报告中,报告指出要深化大数据、人工智能等研发应用,打造具有国际竞争力的数字产业集群。 大模型作为生成式人工智能的基础,日益成为国际科技竞争的焦点。人大代表杨剑宇指出,尽管我国…

SHARE 100M PRO:航测领域的多面手

在无人机航测领域,SHARE 100M PRO单镜头航测相机以其1.02亿像素的中画幅传感器和创新技术,正在重塑倾斜摄影的精度和效率。这款相机不仅在城市规划和土地管理中发挥着重要作用,还在环境监测、基础设施建设、农业管理等多个航测领域展现出其卓…

2024 RubyMine 激活,分享几个RubyMine 激活的方案

文章目录 RubyMine 公司简介我这边使用RubyMine 的理由RubyMine 2023.3 最新变化AI Assistant 正式版对 AI 生成名称建议的支持改进了 Ruby 上下文单元测试生成 RailsRails 应用程序和引擎的自定义路径Rails 路径的自动导入对存储在默认位置之外的模型、控制器和邮件器的代码洞…

Vue.js 进阶技巧:keep-alive 缓存组件解析

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

视频点播系统|基于SSM 框架+ Mysql+Java+B/S架构技术的视频点播系统设计与实现(可运行源码+数据库+设计文档+部署说明+视频演示)

目录 文末获取源码 系统功能实现 学生前台功能 学生登录、学生注册 个人中心 视频信息 我的收藏 系统公告 教师功能实现 管理员登录 管理员功能实现 视频分类管理 轮播图管理 数据库设计 系统的功能结构图 lumwen参考 概述 源码获取 文末获取源码 系统功能实…

C语言分析基础排序算法——选择排序

目录 选择排序 选择排序 堆排序 选择排序 选择排序 选择排序的基本思路是,定义两个区间指针begin和end,遍历数组中的每一个数据找出最大的数据的下标和最小的数据的下标,之后与begin和end指针分别交换小数据与begin的位置以及大数据和e…

华为北向网管NCE开发教程(1)闭坑选接口协议

华为北向网管NCE开发教程(1)闭坑选接口协议 华为北向网管NCE开发教程(2)REST接口开发 华为北向网管NCE开发教程(3)CORBA协议开发 本文一是记录自己开发华为北向网管遇到的坑,二是给需要的人&…

自研cloud框架专题–web模块(三)

项目特点一:框架集成 1.引入核心依赖2.配置相关功能 二:功能介绍 1.swagger支持并提供swagger快速配置2.knife增强swagger支持3.全局请求参数校验(Validation)支持4.字段脱敏支持5.默认jackson序列化6.xss,cors支持7.访问日志支持8.全局异常处理,统一返回结果9.系统关键及常用信…

AI新工具 百分50%算力确达到了GPT-4水平;将音乐轨道中的人声、鼓声、贝斯等音源分离出来等

1: Pi 百分50%算力确达到了GPT-4水平 Pi 刚刚得到了巨大的升级!它现在由最新的 LLMInflection-2.5 提供支持,它在所有基准测试中都与 GPT-4 并驾齐驱,并且使用不到一半的计算来训练。 地址:https://pi.ai/ 2: Moseca 能将音乐…

Java项目:基于SSM框架实现的二手车交易平台【源码+开题报告+任务书+毕业论文+答辩ppt】

一、项目简介 本项目是一套基于SSM框架实现的二手车交易平台 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能齐…

【漏洞复现】锐捷 EWEB auth 远程命令执行漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

WPF开源的一款免费、开箱即用的翻译、OCR工具

前言 今天大姚给大家分享一款由WPF开源的、免费的(MIT License)、即开即用、即用即走的翻译、OCR工具:STranslate。 WPF介绍 WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 Windows 应用。它提供了灵活的布局、…