一板网电子技术论坛

发表于: 2017-4-5 13:56:08 | 显示全部楼层

译者注:本文译自:https://mcuoneclipse.com/2017/04 ... gn-studio-projects/,感谢Erich Styger做出的贡献。如有错漏,敬请指正。


我的许多当前活跃的工程都在使用恩智浦的Kinetis Design Studio(KDS)V3.2.0(我在GitHub上发表了许多工程)。 现在随着MCUXpresso IDE的出现(参见“MCUXpresso IDE:用于NXP ARM Cortex-M微控制器的统一Eclipse IDE”),我已将KDS的几个工程迁移到了MCUXpresso。 这篇文章是关于如何轻松实现将KDS项目移植并在MCUXpresso IDE中运行。


debugging-kds-project-in-mcuxpresso-ide.png


概述

MCUXpresso IDE使用的是比KDS(Luna)的较新的Eclipse IDE(Neon),具有不同的构建系统:MCUXpresso IDE使用的是与LPCXpresso相同的构建系统和集成环境,而KDS使用的是GNU ARM Eclipse插件。这两种方法都有各自的优缺点。 另外,MCUXpresso IDE不包括Processor Expert,而KDS包括。要使用MCUXpresso IDE移植和使用KDS工程,有以下几种基本方法:

1.  导入KDS(非Processor Expert)工程:为此,需要安装GNU ARM Eclipse插件以及GNU ARM Eclipse构建工具。这使得可以像在KDS一样使用KDS工程,同时具有MCUXpresso IDE的额外功能。

2.  导入Processor Expert工程:与上面的方法一样,但这种方法需要安装Processor Expert插件。这样我可以像在KDS一样继续使用Processor Expert工程,但请记住,NXP不会为Processor Expert提供更新的设备支持。

3.  将KDS工程移植到MCUXpresso IDE:这意味着将KDS项目移植到MCUXpresso构建系统。这是一个相当简单的方法,基本上是在MCUXpresso IDE中创建一个新项目,然后移动文件。

因为在一篇文章中描述这所有的内容实在太多了,我在本文中只专注于方法1。


使用的软件

在编写本文时,我使用的是以下软件:

■    使用Kinetis Design Studio V3.2.0的KDS项目

■    MCUXpresso IDE V10.0.0 build 344

■    GNU ARM Embedded Toolchain v6-2017-q1

■    GNU ARM Eclipse Build Tool v2.8-201611221915

■    GNU ARM Eclipse插件v3.3.1-201702251311


我使用Windows作为主机,但类似的步骤适用于Mac和Linux主机。假设你已经安装了Kinetis Design Studio V3.2.0。如果没有,以下步骤安装在MCUXpresso中使用Kinetis Design Studio项目所需的所有内容,并且您不需要安装KDS V3.2.0。


GNU ARM Embedded Toolchain

MCUXpresso IDE已经预装了GNU ARM Embedded Toolchain。虽然可以使用相同的版本,但我使用的是https://launchpad.net/gcc-arm-embedded的最新版本6-2017-q1-update,下载地址:https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

6-2017-q1-update.png


建议下载安装程序并使用默认设置运行安装程序:

installing-gnu-arm-embedded-toolchain.png


安装GNU ARM Eclipse Build Tools

在Windows上,我需要安装其他构建工具,这些工具已经是Kinetis Design Studio的一部分(在<kds> \ bin文件夹中)。

按照http://gnuarmeclipse.github.io/windows-build-tools/install/上的说明进行操作,并从https://github.com/gnuarmeclipse/windows-build-tools/releases下载最新的安装程序,然后使用默认设置运行安装程序:

gnu-arm-eclipse-build-tools-setup.png


GNU ARM Eclipse插件

要使构建工具在Eclipse中正常工作,我需要安装GNU ARM Eclipse插件,否则MCUXpresso IDE中的KDS项目将显示类似于以下内容的错误消息:

  1. Orphaned configuration. No base extension cfg exists for ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1376620489
复制代码

orphaned-configuration.png

基本上这意味着项目(.cproject文件)需要ilg.gnuarmeclipse.managedbuild.cross.config.elf构建插件/集成,默认情况下不会在MCUXpresso IDE中安装。一般过程在http://gnuarmeclipse.github.io/install/中描述。


要安装插件,有两种方法:

1.   Eclipse Marketplace(首选)

2.   安装新软件


Eclipse Marketplace

使用Eclipse Marketplace,您需要安装该插件,使用菜单“Help”>“Eclipse Marketplace”

eclipse-marketplace-menu.png

搜索插件并安装它:

gnu-arm-eclipse-in-eclipse-marketplace.png

我建议安装所有插件:这样可以创建和调试任何ARM Cortex-M项目(不仅仅是恩智浦):

installing-from-marketplace.png

如果您遇到“Handshake”问题,则安全设置有问题,可以访问SourceForge(请参阅此链接)。

handshake-problem.png

在这种情况下,我建议下载下一步中描述的zip文件。


安装新软件

我可以使用菜单帮助>安装新软件并指向以下更新站点:

http://gnuarmeclipse.sourceforge.net/updates

但请注意,这可能不起作用,因为SourceForge最近更改了安全设置(请参阅此链接)。相反,我建议从中下载zip文件

https://sourceforge.net/projects/gnuarmeclipse/files/Current%20Releases/


然后在“帮助”>“安装新软件”中的对话框中使用该zip文件:

installing-gnu-arm-eclipse-plugins-from-zip-file.png


导入工程

通过这些,我已经准备好导入、构建和调试Kinetis Design Studio V3.2.0工程:-)。导入工程有多种方法,最简单的方法是使用快速入门面板,并使用'Import project(s) from file system…':

import-projects-from-file-system.png

或者使用常规的Eclipse方式,使用菜单File > Import > General > Existing Projects into Workspace

然后浏览到文件夹或使用zip存档:

importing-project-directory.png

然后通过对话框导入项目。


验证项目设置

使用前面步骤中安装的插件和软件,应该准备好可以构建和调试导入的项目。以下是一些要验证的东西,并检查一切是否正确配置。

使用“快速入门”面板中的“edit project settings”菜单(或使用菜单“项目”>“设置”):

quickstart-panel-project-settings.png

打开项目属性,设置应该显示的和KDS中的一样:

kds-project-in-mcuxpresso.png

该快速入门菜单操作中有一小小故障,它可能只显示“错误解析器”。在这种情况下,使用“左”图标到达面板的左侧:

only-shows-error-parser.png

该工具链在项目设置中显示为“GNU Tools for ARM Embedded Processors”:

tools-path.png

GNU ARM Eclipse插件允许非常灵活和强大的工具链配置(最多为每个项目分离工具链)。以下是工作区设置(菜单Window > Preferences)。它指定使用哪个工具链和构建工具,它显示了我在前面的步骤中安装的位置:

global-tools-paths.png


MCU设置

MCUXpresso在项目中有一个额外的设置来指定使用的微控制器。因为该项目是在MCUXpresso IDE外部创建的,因此未正确分配MCU。此设置对于使用GNU ARM工具进行构建并不重要,但如果要使用其他高级MCUXpresso IDE设置(如自动调试器发现)(稍后再说),则需要使用此设置。

建议去C / C ++ Build> MCU设置并分配在该项目中使用的正确的MCU:

mcu-settings.png

但是,我需要安装该MCU的MCUXpresso SDK

generic-mcu.png

通过这样,准备好构建和调试!


清除

导入项目后的一个重要步骤是通过“清除”指令摆脱任何旧的文件。最简单的方法是在“快速入门”面板中使用“清除”(或使用菜单Project > Clean):

clean-project-after-import.png


构建

再次,通过Quickstart面板来构建项目(或使用菜单Project> Build):

build-project.png

应该在没有错误的情况下构建工程(和KDS中一样)。


调试

KDS项目使用正常的Ec​​lipse启动配置文件和设置。启动文件通常存储在项目中的“setting”文件夹中:

kds-debug-launch-configurations.png

另一方面,MCUXpresso IDE能够自动检测调试器并创建和管理启动配置。

我可以继续使用项目中的启动配置,就像在KDS中一样。我可以使用Debug Configurations菜单检查它们:

debug-configurations-menu.png

下面的屏幕截图显示了我的工作区中的一些调试配置:

debug-configurations.png

与KDS相比,LPC-Link / LPC-Link2调试器连接的启动配置最上方有一个组。

由于P&E的调试插件是相同的(由P&E提供),该组结合了导入的KDS和MCUXpresso配置。

请注意,Segger调试器插件有两组:一个用于MCUXpresso,另一组用于我们在之前的步骤中安装的GNU ARM Eclipse Segger插件。


如果比较GNU ARM Eclipse SEGGER插件和GNU ARM Eclipse插件安装的功能和响应能力,那么您可能会更喜欢GNU ARM Eclipse插件,特别是因为它提供了更详细的设置。优点是,通过安装GNU ARM Eclipse插件,您可以将其用于任何项目。 但是,它将不能用于MCUXpresso自动探测。

GNU ARM Eclipse调试器插件使用的Segger J-Link二进制文件是菜单Window> Preferences> Run / Debug> SEGGER J-Link中的一个设置:

gnu-arm-eclipse-path-to-segger.png

如果您更新了SEGGER文件,请验证文件夹设置或使用“Restore Defaults”文件夹。

通过这样,我可以在MCUXpresso IDE中调试我的KDS工程了:

debugging-kds-project-in-mcuxpresso-ide (1).png


使用MCUXpresso调试器检测

“组合”IDE和插件的一个好处是,现在我可以为导入的工程使用MCUXpresso的额外功能。其中一个是自动调试器检测(参见“MCUXpresso IDE:NXP ARM Cortex-M微控制器的统一Eclipse IDE”)。使用蓝色调试图标(而不是普通绿色)启动调试器:

debug-blue-button.png

如果您收到一个显示“No MCU associated with this project. Please select an MCU before continuing”的对话框,然后检查上述的“MCU设置”部分:这意味着项目设置没有分配MCU。

no-mcu-associated-with-this-project.png

否则,会弹出自动调试器发现对话框:

probes-automatically-discovered.png

然后它将创建所选的调试器连接/配置,我可以调试它。

要重新触发自动调试器检测对话框,简单的方法是删除创建的启动配置(但是将失去任何自定义设置)

automatic-probe-launch-configurations.png


Processor Expert工程

上文提到的方法甚至可以与Processor Expert工程一起使用,但是无法使用它来生成Processor Expert代码。因此,只要您在KDS工程中已经生成了代码,您可以使用上述方法将其导入,和其他常规工程一样。


总结

我可以轻松导入现有的Kinetis Design Studio(KDS)工程。通过在MCUXpresso IDE中安装工具链以及GNU ARM Eclipse插件,我可以构建和调试现有的KDS项目,而无需任何移植工作或任何项目转换。与原有的KDS相比,我有一个全新的Eclipse,最新的工具链,并且可以使用MCUXpresso提供的额外功能。现在我已经导入了现有的几个KDS项目,并且工作非常好。至此,我可能会离开KDS,并继续使用MCUXpresso IDE的开发所有KDS工程。


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

本版积分规则

主题 11 | 回复: 13



手机版|

GMT+8, 2020-8-14 22:30 , Processed in 0.078126 second(s), 32 queries . Powered by Discuz! X3.4

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

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