MCUXpresso for VS Code -- 基于VSCode开发RT1176

MCUXpresso for VS Code 是nxp推出插件,旗下MCX LPC, Kinetis和i.MX rt等MCU,都能在VS Code平台进行嵌入式开发。功能框图如下:

请添加图片描述

前期准备:

软件环境:
windows(实际可以跨系统,linux和mac没有测试)
VS Code
ninja
CMake
GNU Arm Toolchain -------- 交叉编译工具链(笔者试过arm开发者官网下载工具链关联nxp插件,编译经常报错,所以建议这里下载安装 MCUXpresso IDE 安装包内有工具链 )
MCUXpresso IDE
Jlink驱动

CMake下载地址

Download | CMake

Ninja下载地址

Ninja, a small build system with a focus on speed (ninja-build.org)

MCUXpresso IDE 下载地址

Design : Product Download : Files (flexnetoperations.com)
解压安装后需要添加环境变量:

请添加图片描述

硬件环境:
rt1176开发板
Jlink调试器

关于MCUXpresso for VS Code如何安装使用,官网给出了安装使用说明:

Training: Walkthrough of MCUXpresso for VS Code - NXP Community

Home · nxp-mcuxpresso/vscode-for-mcux Wiki · GitHub

笔者使用过程中发现,有些功能受到网络等限制(毕竟没梯子)无法实现或体验极差,所以自己摸索了一种方法

1.VS Code 安装(下载安装方法教程一大把,不做具体介绍)

Visual Studio Code - Code Editing. Redefined

2.插件安装

如下位置,搜索MCUXpresso for VS Code插件进行安装

请添加图片描述

常见插件如:C/C++ C/C++ Extension Pack Cortex-Debug 等等都建议安装

请添加图片描述
请添加图片描述

3.MCUXpresso for VS Code 加载nxp sdk

官方教程推荐,安装好插件过后,使用 MCUXpresso Installer 工具安装所有软件,笔者试了安装工具下载速度贼慢,很难下载成功,于是放弃官方方法。下面方法只需要下载安装对应芯片SDK即可进行开发

请添加图片描述

通过窗口我们需要导入SDK便于后面工程搭建,这里插件给了几种方法,前两种我们不需要关注(要么网络不行加载失败,要么安装报错总之很难用),我们直接选择第三种方法,调用本地SDK,获取本地SDK是需要通过官网下载安装包,然后解压某个磁盘路径的

请添加图片描述
请添加图片描述

SDK下载地址:Select Board | MCUXpresso SDK Builder (nxp.com) sdk包下载尽量完整

请添加图片描述

导入成功后如下显示(这里笔者导入了1052和1176的SDK)

请添加图片描述

4.创建一个基础工程

选择 import Example from Repository,后期明白如何搭建可以直接选择 import Project.

需要注意的一点是工具链的选择,笔者试着下载独立工具链关联,工程编译会出现各种问题,所以暂时放弃,后期找原因。这里直接使用 MCUXpresso IDE 安装路径中的工具链,除此之外工作空间路径名称不能带空格,否则编译失败

请添加图片描述

5.编译和仿真

编译可点击齿轮图标,也可以右键弹窗选择更多功能

请添加图片描述

调试模式下我们也能添加调试断点,查看寄存器外设,堆栈等等信息
请添加图片描述

6.工程搭建后期

如果我们决定使用VS Code开发的NXP系列MCU,必须了解CMake基本知识,这里有两个文件十分重要:

CMakeLists.txt

ide_overrides.cmake

请添加图片描述

后期我们添加用户代码,经常要修改 CMakeLists.txt,所以我们得了解基本语法,除此之外ld链接文件语法也需要了解

7.VS Code 其他真香体验

请添加图片描述

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

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

相关文章

git之reflog分析

写在前面 本文一起看下reflog命令。 1:场景描述 在开发的过程中,因为修改错误,想要通过git reset命令恢复到之前的某个版本,但是选择提交ID错误,导致多恢复了一个版本,假定,该版本对应的内容…

【Linux】进程间通信——system V共享内存

目录 写在前面的话 System V共享内存原理 System V共享内存的建立 代码实现System V共享内存 创建共享内存shmget() ftok() 删除共享内存shmctl() 挂接共享内存shmat() 取消挂接共享内存shmdt() 整体通信流程的实现 写在前面的话 上一章我们讲了进程间通信的第一种方式…

【2023年电赛国一必备】A题报告模板--可直接使用

任务 图1 任务内容 要求 图2 基本要求内容 图3 发挥部分内容 说明 图4 说明内容 评分标准 图5 评分内容 正文 (部分) 摘要 本实验旨在设计和制作一个由两个单相逆变器组成的并联系统,用于为电阻负载供电或并入220V电网。采用基于STM…

[openCV]基于拟合中线的智能车巡线方案V2

import cv2 as cv import os import numpy as np# 遍历文件夹函数 def getFileList(dir, Filelist, extNone):"""获取文件夹及其子文件夹中文件列表输入 dir:文件夹根目录输入 ext: 扩展名返回: 文件路径列表"""newDir d…

ospf于mgre中应用(直连与星型拓扑)

题目 地址配置 R1: R2: R3: R4: R5: ISP: R1/2/3的星型拓扑结构 R1配置: interface Tunnel0/0/0 ip address 192.168.6.1 255.255.255.0 tunnel-protocol gre p2mp source 200.1.1.1 ospf …

Docker网络模型使用详解(2)Docker网络模式

安装Docker时会自动创建3个网络,可以使用docker network ls命令列出这些网络。 [rootlocalhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE ebcfad6f4255 bridge bridge local b881c67f8813 compose_lnmp_lnmp…

blender凹凸感和置换形变

一、怎么做出凹凸感 需要三个部分的内容: 1、一个基础的纹理:告诉计算机需要用一个什么样的纹理做凹凸,纹理一般采用黑白,在计算机里面,从 0 - 1之间的值可以用从黑到白之间不同的灰度来表示因此,有一张黑白…

linuxARM裸机学习笔记(3)----主频和时钟配置实验

引言:本文主要学习当前linux该如何去配置时钟频率,这也是重中之重。 系统时钟来源: 32.768KHz 晶振是 I.MX6U 的 RTC 时钟源, 24MHz 晶振是 I.MX6U 内核 和其它外设的时钟源 1. 7路PLL时钟源【都是从24MHZ的晶振PLL而来…

大数据教材推荐|Python数据挖掘入门、进阶与案例分析

主 编: 卢滔,张良均,戴浩,李曼,陈四德 出版社: 机械工业出版社 内容提要 本书从实践出发,结合11个“泰迪杯”官方推出的赛题,按照赛题的难易程度进行排序,由浅入深…

20天突破英语四级高频词汇——第①天

20天突破英语四级高频词汇~第一天加油(ง •_•)ง💪 🐳博主:命运之光 🌈专栏:英语四级高频词汇速记 🌌博主的其他文章:点击进入博主的主页 目录 20天突破英语四级…

无涯教程-Lua - for语句函数

for 循环是一种重复控制结构,可让您有效地编写需要执行特定次数的循环。 for loop - 语法 Lua编程语言中 for 循环的语法如下- for init,max/min value, increment dostatement(s) end 这是 for 循环中的控制流程- 首先执行 init 步骤,并且仅执行一…

LeetCode-654-最大二叉树

一:题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回…

开源免费用|Apache Doris 2.0 推出跨集群数据复制功能

随着企业业务的发展,系统架构趋于复杂、数据规模不断增大,数据分布存储在不同的地域、数据中心或云平台上的现象越发普遍,如何保证数据的可靠性和在线服务的连续性成为人们关注的重点。在此基础上,跨集群复制(Cross-Cl…

从零开始:手把手搭建 RocketMQ 单节点、集群节点实例

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&…

javaAPI(二):String、StringBuffer、StringBuilder

String、StringBuffer、StringBuilder的异同? String:不可变字符序列;底层结构使用char[]存储; StringBuffer:可变字符序列;线程安全的,效率低;底层结构使用char[]存储; …

LangChain+ChatGLM大模型应用落地实践(一)

LLMs的落地框架(LangChain),给LLMs套上一层盔甲,快速构建自己的新一代人工智能产品。 一、简介二、LangChain源码三、租用云服务器实例四、部署实例 一、简介 LangChain是一个近期非常活跃的开源代码库,目前也还在快速…

(树) 剑指 Offer 32 - I. 从上到下打印二叉树 ——【Leetcode每日一题】

❓剑指 Offer 32 - I. 从上到下打印二叉树 难度:中等 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3/ \9 20/ \15 7返回: [3,9,20,15,7]提示: 节…

机器学习深度学习——非NVIDIA显卡怎么做深度学习(坑点排查)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——数值稳定性和模型化参数(详细数学推导) 📚订阅专栏:机器…

判断酒驾司机是否合法饮酒?呼气酒精测试装置背后科学原理与技术

近年来,酒驾交通事故频繁发生,媒体经常报导司机血液中的酒精含量和法定限量。举个例子,某司机的血液酒精含量检测结果是0.15,而法定上限是0.08。那么这些数字实际意味着什么?警方如何判断涉嫌酒驾的司机是否合法饮酒&a…

pycharm制作柱状图

Bar - Bar_rotate_xaxis_label 解决标签名字过长的问题 from pyecharts import options as opts from pyecharts.charts import Barc (Bar().add_xaxis(["高等数学1,2","C语言程序设计","python程序设计","大数据导论",…