痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制


  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是MCUXpresso IDE下SDK工程导入与workspace管理机制

  MCUXpresso IDE是恩智浦软件团队倾注很大心血研发的免费集成开发环境,基本上一般MCU开发IDE有的功能它都有,一般IDE没有的功能它也有。但是酒香也怕巷子深,网上关于MCUXpresso IDE教程太少,很多人连MCUXpresso IDE基本操作都不熟练,也就更谈不上去接触它功能强大的一面,工具推广任重道远,痞子衡且去做这个布道师吧。

  今天痞子衡要介绍的是MCUXpresso IDE联合官方SDK软件包的workspace管理机制,算是MCUXpresso IDE入门第一步。

一、准备开发环境

  首先需要准备好环境,包含必要的软件,痞子衡的环境如下:

  • 集成开发环境: MCUXpresso IDE v11.2.1_4149,点此下载
  • 软件开发包: SDK_2.8.0_EVK-MIMXRT595_PRC(Toolchain需包含MCUXpresso IDE),点此下载

二、Workspace机制

  第一次打开MCUXpresso IDE,首先会让你选一个Workspace路径,如果不主动选,会有一个默认的路径。Workspace其实是所有基于Eclipse的工具的通用概念,对于嵌入式工程来说,它主要用于集中放置项目的所有资源,包括工程源文件以及MCUXpresso IDE本身的配置等。现在你对Workspace作用可能还没深刻感受,没关系,咱们继续往下看。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

三、导入SDK工程

  选好Workspace路径便会进入MCUXpresso IDE主界面,在左侧Quickstart Panel有三种进入工程的方法,第一种是从零开始创建全新工程(这个痞子衡不推荐),后面两种导入工程方式才是比较推荐的,因为基于一个现有工程去改,会让你更快地得到你想要的工程。

  • Import SDK example(s): 从恩智浦SDK包里导入示例工程
  • Import project(s) from file system: 从本地直接导入已有工程。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

  那么对于恩智浦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界面框中。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

  这时候Installed SDKs界面框里可以看到RT500的SDK包,选中它继续操作来导入SDK包里的example,我们就选demo_apps下的hello_world例程。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

  导入完成后,在workspace路径下,你可以看到多了一个名为evkmimxrt595_hello_world文件夹,这个文件夹下既有MCUXpresso IDE的工程文件(.project/.cproject),也有SDK包里hello world例程所需的全部源文件。是的,Import SDK example 操作会从SDK包里拷贝出全部必要的文件组成一个独立的项目文件夹,从此这个项目文件夹将不再依赖原始的SDK包。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

  上述操作得以实现,主要依赖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包里有没有工程呢?我们试着导入看看瞧:

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

  我们发现SDK包里仅有dsp相关的例程,并没有上一种 Import SDK example 方式看到的那么多基础例程,这是为何?其实如果你认真看过SDK包里\boards\evkmimxrt595\demo_apps\hello_world文件夹下的内容,你会发现存在IAR/MDK工程文件,但时并没有MCUXpresso IDE的工程文件。因此这种导入方式,并不适用原始SDK包,它更适合经过上一种 Import SDK example 方式导入后生成的独立项目文件夹(文件夹里要包含.project/.cproject文件)。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

  最后再提一下上图中红框标起来的 Copy projects into workspace 选项,对于一个放置在本地的包含.project/.cproject文件的独立项目文件夹,导入过程中如果勾选这个选项,那么workspace路径下也会被复制一份项目,这样workspace路径与project路径是一致的。如果不勾选这个选项,则两个路径不一致,这会在工程编译时受影响,因为默认工程MCU C Compiler/Includes选项里用得路径就是基于workspace_loc路径,关于这个会在后面文章继续讲。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

  至此,MCUXpresso IDE下SDK工程导入与workspace管理机制痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:MCUXpresso IDE下SDK工程导入与workspace管理机制

上一篇:Angular.js 的初步认识


下一篇:JVM指令 bytecode invokespecial