一板网电子技术论坛

发表于: 2017-3-30 13:19:22 | 显示全部楼层

译者注:本文译自:https://mcuoneclipse.com/2017/03/28/mcuxpresso-ide-unified-eclipse-ide-for-nxps-arm-cortex-m-microcontrollers/,感谢Erich Styger做出的贡献。如有错漏,敬请指正。


半导体行业内上演了很多的并购案,其中最大的一个是2016年飞思卡尔半导体与恩智浦半导体的合并,两者同时为其客户群提供基于Eclipse的IDE。 于是,公司并购引发了IDE的合并,并且恩智浦上周发布了其全新的开发环境:MCUXpresso IDE。

mcuxpresso-ide.png



概述

MCUXpresso基本上是“开挂的LPCXpresso”,支持NXP Kinetis和LPC器件(ARM Cortex-M0(+)/ M4 / M7),它基于LPCXpresso的功能集。 它从LPCXpresso继承了Pro版本选项(IDE电子邮件支持和扩展跟踪功能),并且和Kinetis Design Studio一样,它是免费使用的,并且无代码大小限制。 对于现有的LPCXpresso IDE用户,它增加了无代码大小限制功能(免费的LPCXpresso IDE的代码大小限制为256 KB),除了这些,还包含一些其他功能,如支持MCUXpresso SDK。


在大学,我们通常会一起使用到CodeWarrior for MCU 10.x、Kinetis Design Studio v3.2和LPCXpresso v8.2。 因为新的IDE支持Kinetis和LPC器件,我打算将LPCXpresso和Kinetis Design Studio课程资料迁移到新的MCUXpresso IDE。 在这篇文章中,我简要介绍一些认为非常有用的主要功能。 除此之外,我认为以下信息对于计划从LPCXpresso或Kinetis Design Studio升级到新的NXP Eclipse IDE的任何人都是有用的。


安装

该IDE可以从http://www.nxp.com/mcuxpresso/ide获得。下载软件需要恩智浦的用户帐户,但免费和代码大小无限制版本不需要其他的注册或激活。

和Kinetis Design Studio和LPCXpresso一样,免费版本的支持是基于社区(https://community.nxp.com/community/mcuxpresso/mcuxpressoide)的。 有一个Pro版本可以添加一年IDE电子邮件支持和扩展跟踪支持(现有的LPCXpresso Pro许可证也被MCUXpresso IDE认可)。

我使用的是版本10.0.0(Build 344):

与其他IDE相比,下载大小相当小(Windows上为576 MB),并且可以在Mac和Linux上使用(我到目前为止已成功安装在Windows 7和10上)。它安装所有的调试驱动程序。


快速启动面板

和LPCXpresso一样,MCUXpresso IDE包括一个快速启动面板,从这里可以访问最常用的功能:

quickstart-panel.png


学生通常会很难在Eclipse中找到项目设置,或者不知道如何进行构建/调试。 使用该面板将使他们很轻松地找到。

它包含一个“蓝色”调试按钮启动调试会话,这是启动调试器的推荐方法。 “蓝色”调试按钮也存在于工具栏中。

debug-toolbar-button.jpg

还有Eclipse的默认“绿色”调试图标,但是只有配置了调试连接(启动配置)才可以使用,而“蓝色”调试按钮可以自动检测调试器并自动进行配置(稍后会详细介绍)。


MCUXpresso SDK

IDE提供了对LPC设备的传统LPCOpen支持。其他一切都是通过添加MCUXpresso(以前的Kinetis)SDK来驱动的。

需要从https://mcuxpresso.nxp.com/使用SDK Builder下载某个器件的SDK:

sdk-builder.png


当构建一个新的SDK/配置时,请确保选择了MCUXpresso IDE,使得其可以与IDE一起使用:

mcuxpresso-configuration-setting.png



SDK Package Manager

在IDE中,有一个SDK Package Manager,位于Window> Show View> MCUXpresso IDE:

mcuxpresso-installed-sdks-view.png


导入SDK的最简单方法是将SDK zip文件拖放到该视图中:

installed-sdks.png


SDK包不仅包括驱动程序源文件,还包括示例工程和IDE需要知道的关于器件的其他内容,例如工具链支持和调试器信息。

默认情况下,SDK作为zip文件使用。这样,IDE从zip中提取文件,并将文件复制到工程中。 有一个工作区选项来解压文件以允许项目中的“链接文件”,但我不建议在项目中使用这样的链接文件。

从“Installed SDK”视图中,我可以使用工具栏按钮直接打开Config和Builder页面:

button-to-open-sdk-builder-page.png



新项目

可以创建项目(“New Project...”)或从SDK示例导入项目:

new-project-or-import-example-project.png

对于新的项目,可以在SDK Wizard中选择使用的器件或者是开发板。

sdk-wizard.png


在接下来的对话框中,我可以选择在工程里面我想使用什么:

sdk-wizard-options1.png


在接下来的Advanced Projects设置中,选择库和内存设置选项。除了通常的Newlib和Newlib-nano之外,我可以选择Redlib,这是一种针对嵌入式设备进行了优化的专有库:

sdk-wizard-options.png


导入示例项目非常相似,不同的是我可以选择导入哪个示例:

sdk-example-importer.png



构建系统

MCUXpresso IDE使用的是GNU Tools for ARM Embedded Processors第5版(2016年第3季度版本)。 IDE使用与LPCXpresso相同的项目文件格式/构建设置,因此可以轻松导入旧版LPC项目。 现有的Kinetis Design Studio可以使用一些迁移/移植步骤。

在项目设置中有一个“MCU Setting”面板,告诉IDE与内存映射一起使用的器件:

mcu-settings.png


此信息用于托管链接描述文件:默认情况下,IDE创建并维护GNU链接描述文件,并使用其他设置来管理库、堆和栈设置:

managed-linker-scripts.png


我可能会禁用托管链接描述文件功能:GNU链接器文件真的不是很难读/写/使用,并且隐藏链接器脚本在该生成器后面使得对象分配不是很透明。 但对于没有经验的用户来说,这当然是一个有用的功能。


调试器

IDE支持P&E调试器(Multilink,...)、SEGGER调试器(J-Link、...)和LPC-Link / LPC-Link2(CMSIS-DAP)调试器。 因此,Kinetis Freedom和Tower开发板上的恩智浦嵌入式OpenSDA电路支持P&E、Segger和CMSIS-DAP固件,SEGGER和P&E商业调试器,恩智浦嵌入式LPC-Link和LPC-Link2调试器。使用不同的Tower、Freedom和LPC开发板和调试器, IDE正常工作:

boards-and-probes.png


对于Kinetis Design Studio用户来说,新功能是:它支持LPC-Link2调试器,可以加载CMSIS-DAP或Segger固件(LPC)。 KDS的CMSIS-DAP真的从未运行良好,所以现在我可以使用LPC-Link2和CMSIS-DAP来调试机器人上的Kinetis K22:

lpc-link2-with-cmsis-dap-debugging-robot.png


所以这将是一个非常实惠的调试器选项,因为LPC-Link2的价格是20美元。

要调试项目,重要的是使用蓝色调试图标(而不是正常的绿色!)。

debug-button-in-the-eclipse-toolbar.png


或者快速启动面板中的调试选项:

debug-button-in-the-quickstart-panel.png


probe discovery真的很酷:当我开始调试项目时,它可以让我挑选任何一个检测到的调试器:

probes-discovered.png


这样,它会自动在项目根文件夹中创建启动配置文件。


开发者视图

和LPCXpresso一样,MCUXpresso提供了一个开发者视图:

debugging-with-mcuxpresso.png


在正常的Eclipse中我需要在C/C++和Debug视图间进行切换,与这个不同,在MCUXpresso中我可以一直留在开发者视图中。


全局变量

普通的Eclipse有一个问题,它并没有显示正常的全局变量。 相反,必须使用表达式视图。 MCUXpresso提供了一个Global Variables View,解决了该问题。我可以浏览并添加全局变量到该特殊视图:

global-variables-view.png



Peripherals+视图

Kinetis Design Studio包含了EmbSysRegView,其工作运行良好,但并未自动使用目标设备的SVD文件。 在MCUXpresso IDE中有“Peripherals +”视图,它基本上扩展了内存视图:

peripherals-view.png



FreeRTOS

我真正喜欢的是在IDE中对FreeRTOS的支持:-)。 所有调试连接(P&E、Segger和CMSIS-DAP)都包括了FreeRTOS线程感知:

freertos-thread-awareness.png


此外,IDE还包括NXP FreeRTOS Kernel 视图,用于任务、堆、计时器和队列:

task-list.png


freertos-timers.png


freertos-queues.png




总结

MCUXpresso IDE结合了Kinetis Design Studio和LPCXpresso的功能。对于LPC用户,新增了无代码大小限制,添加了Segger和FreeRTOS支持。对于Kinetis用户,它添加了CMSIS-DAP、跟踪支持、自动调试器发现,但没有包括Processor Expert。对于Kinetis和LPC,它提供了一个统一和现代的IDE和构建系统,通用的SDK和漂亮的项目创建,并增加了很友好的调试功能。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



手机版|

GMT+8, 2020-6-6 09:12 , Processed in 0.062501 second(s), 32 queries . Powered by Discuz! X3.4

YiBoard一板网 © 2015-2018 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表