痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是MCUXpresso IDE下SDK工程导入与workspace管理机制。
MCUXpresso IDE是恩智浦软件团队倾注很大心血研发的免费集成开发环境,基本上一般MCU开发IDE有的功能它都有,一般IDE没有的功能它也有。但是酒香也怕巷子深,网上关于MCUXpresso IDE教程太少,很多人连MCUXpresso IDE基本操作都不熟练,也就更谈不上去接触它功能强大的一面,工具推广任重道远,痞子衡且去做这个布道师吧。
今天痞子衡要介绍的是MCUXpresso IDE联合官方SDK软件包的workspace管理机制,算是MCUXpresso IDE入门第一步。
一、准备开发环境
首先需要准备好环境,包含必要的软件,痞子衡的环境如下:
二、Workspace机制
第一次打开MCUXpresso IDE,首先会让你选一个Workspace路径,如果不主动选,会有一个默认的路径。Workspace其实是所有基于Eclipse的工具的通用概念,对于嵌入式工程来说,它主要用于集中放置项目的所有资源,包括工程源文件以及MCUXpresso IDE本身的配置等。现在你对Workspace作用可能还没深刻感受,没关系,咱们继续往下看。
三、导入SDK工程
选好Workspace路径便会进入MCUXpresso IDE主界面,在左侧Quickstart Panel有三种进入工程的方法,第一种是从零开始创建全新工程(这个痞子衡不推荐),后面两种导入工程方式才是比较推荐的,因为基于一个现有工程去改,会让你更快地得到你想要的工程。
- Import SDK example(s): 从恩智浦SDK包里导入示例工程
- Import project(s) from file system: 从本地直接导入已有工程。
那么对于恩智浦SDK包来说,两种导入工程方式有什么区别呢?咱们以下载好的SDK_2.8.0_EVK-MIMXRT595_PRC.zip包为例。
3.1 Import SDK example(s)
先来看第一种 Import SDK example,默认Installed SDKs界面框里没有RT500,我们直接将SDK_2.8.0_EVK-MIMXRT595_PRC.zip包(解压亦可)拖到Installed SDKs界面框中。
这时候Installed SDKs界面框里可以看到RT500的SDK包,选中它继续操作来导入SDK包里的example,我们就选demo_apps下的hello_world例程。

导入完成后,在workspace路径下,你可以看到多了一个名为evkmimxrt595_hello_world文件夹,这个文件夹下既有MCUXpresso IDE的工程文件(.project/.cproject),也有SDK包里hello world例程所需的全部源文件。是的,Import SDK example 操作会从SDK包里拷贝出全部必要的文件组成一个独立的项目文件夹,从此这个项目文件夹将不再依赖原始的SDK包。
上述操作得以实现,主要依赖SDK包里存放的如下xml描述文件,这些xml会指示MCUXpresso IDE在导入中创建工程文件,以及重组独立文件夹。
\SDK_2.8.0_EVK-MIMXRT595_PRC\EVK-MIMXRT595_manifest_v3_6.xml
\SDK_2.8.0_EVK-MIMXRT595_PRC\boards\evkmimxrt595\demo_apps\hello_world\hello_world.xml
3.2 Import project(s) from file system
再来看第二种 Import project(s) from file system,这是从本地直接导入现有工程,那么解压后的SDK_2.8.0_EVK-MIMXRT595_PRC包里有没有工程呢?我们试着导入看看瞧:
我们发现SDK包里仅有dsp相关的例程,并没有上一种 Import SDK example 方式看到的那么多基础例程,这是为何?其实如果你认真看过SDK包里\boards\evkmimxrt595\demo_apps\hello_world文件夹下的内容,你会发现存在IAR/MDK工程文件,但时并没有MCUXpresso IDE的工程文件。因此这种导入方式,并不适用原始SDK包,它更适合经过上一种 Import SDK example 方式导入后生成的独立项目文件夹(文件夹里要包含.project/.cproject文件)。
最后再提一下上图中红框标起来的 Copy projects into workspace 选项,对于一个放置在本地的包含.project/.cproject文件的独立项目文件夹,导入过程中如果勾选这个选项,那么workspace路径下也会被复制一份项目,这样workspace路径与project路径是一致的。如果不勾选这个选项,则两个路径不一致,这会在工程编译时受影响,因为默认工程MCU C Compiler/Includes选项里用得路径就是基于workspace_loc路径,关于这个会在后面文章继续讲。
至此,MCUXpresso IDE下SDK工程导入与workspace管理机制痞子衡便介绍完毕了,掌声在哪里~~~
欢迎订阅
文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制的更多相关文章
- 痞子衡嵌入式:MCUXpresso IDE下SDK工程在Build配置上与IAR,MDK差异
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下SDK工程在Build配置上与IAR,MDK差异. 恩智浦 SW 团队每个季度都会公布 SDK.Tool ...
- 痞子衡嵌入式:恩智浦MCUX SDK在GitHub上线了
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是恩智浦MCUX SDK 在GitHub上线一事. 其实在差不多一个月前(2021年1月6日),恩智浦MCUX SDK就在GitHub悄悄上 ...
- 痞子衡嵌入式:MCUXpresso IDE下添加新路径下源文件进工程编译的方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下添加新路径下源文件进工程编译的方法. 接着上篇文章 <MCUXpresso IDE下SDK工程导入与 ...
- 痞子衡嵌入式:MCUXpresso IDE下工程链接文件配置管理与自动生成机制
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下工程链接文件配置管理与自动生成机制. 痞子衡在 2018 年初写过一个专题 <嵌入式开发文件系列&g ...
- 痞子衡嵌入式:MCUXpresso IDE下将应用程序RW段分散链接的几种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下将应用程序RW段分散链接的几种方法. 早期的 MCU 芯片,一般都会嵌入内部 Flash 和 RAM,并且 ...
- 痞子衡嵌入式:MCUXpresso IDE下将关键函数重定向到RAM中执行的几种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是MCUXpresso IDE下将关键函数重定向到RAM中执行的几种方法. 前段时间痞子衡写了一篇 <在IAR开发环境下将关键函数重 ...
- 痞子衡嵌入式:超级下载算法RT-UFL v1.0在恩智浦MCUXpresso IDE下的使用
痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...
- 痞子衡嵌入式:MCUXpresso IDE下将源码制作成Lib库方法及其与IAR,MDK差异
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是MCUXpresso IDE下将源码制作成Lib库方法及其与IAR,MDK差异. 程序函数库是一个包含已经编译好代码和数据的函数集合,这 ...
- 痞子衡嵌入式:MCUXpresso Config Tools初体验(Pins, Clocks, Peripherals)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso Config Tools三大件(Pins, Clocks, Peripherals). 不知道大家有没有这样的感受 ...
随机推荐
- 【mq读书笔记】mq消息存储
comitlog文件 ConsumerQueue文件 IndexFile文件 RocketMQ将所有主题的消息存储在同一个文件中,确保消息发送时顺序写文件. 为了提高消息消费的效率RocketMQ引入 ...
- LeetCode 046 Permutations
题目要求:Permutations(全排列) Given a collection of numbers, return all possible permutations. For example, ...
- Spring Cloud 学习 (八) Spring Boot Admin
Spring Boot Admin 用于管理和监控一个或者多个 Spring Boot 程序 新建 spring-boot-admin-server pom <parent> <ar ...
- Python中sorted(iterable, *, key=None, reverse=False)函数参数定义中的独立星号(*)的含义
老猿在 <Python中函数的参数带星号是什么意思?>中介绍了Python函数中参数带星号的含义,而在实际使用和Python的标准文档中,会看到某写函数(如sorted(iterable, ...
- PyQt(Python+Qt)学习随笔:QDockWidget停靠部件的setTitleBarWidget方法
setTitleBarWidget方法用于给停靠窗口设置个性化的标题栏,调用语法如下: setTitleBarWidget(QWidget widget) 说明: widget参数可以是任意一个QWi ...
- 【Azure Redis 缓存 Azure Cache For Redis】Azure Redis由低级别(C)升级到高级别(P)的步骤和注意事项, 及对用户现有应用的潜在影响,是否需要停机时间窗口,以及这个时间窗口需要多少的预估问题
问题描述 由于Azure Redis的性能在不同级别表现不同,当需要升级/缩放Redis的时候,从使用者的角度,需要知道有那些步骤? 注意事项? 潜在影响?停机事件窗口? 升级预估时间? 解决方案 从 ...
- LeetCode初级算法之数组:217 存在重复元素
存在重复元素 题目地址:https://leetcode-cn.com/problems/contains-duplicate/ 给定一个整数数组,判断是否存在重复元素.如果任意一值在数组中出现至少两 ...
- pl/sql12;pl/sql14激活注册码
搜集的plsql 12激活码: Product Code(产品编号):4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number(序列号):601769 pass ...
- 半夜删你代码队 Day2冲刺
一.每日站立式会议 1.站立式会议 成员 昨日完成工作 今日计划工作 遇到的困难 陈惠霖 整理任务 了解相关网页设计 任务安排有的不合理,需改进 侯晓龙 学习了解相关知识 尝试写第一个实例子 无 周楚 ...
- 利用promise实现间隔1s打印1,2,3
利用promise结合数组的rduce方法 let arr = [1, 2, 3]; arr.reduce((pre, cur) => { return pre.then(() => { ...