使用NXP MCX-N板卡搭建环境及点灯

描述

前言    

恩智浦“FRDM-MCXN947”评测活动由安富利和与非网协同举办。本篇内容由与非网用户发布,已授权转载许可。原文可在与非网(eefocus)工程师社区查看。

简介

NXP FRDM-MCXN947开发板是一个基于MCXN947器件的低成本设计的评估板。MCXN947器件将两个Arm Cortex-M33微控制器和神经处理单元(NPU)集成在一个封装中。恩智浦对MCXN947器件提供了硬件评估板、软件开发IDE、示例程序和驱动的支持。

FRDM-MCXN947开发板由一个MCXN947器件组成,配备了64Mbit的外部串行闪存。该板卡还具有P3T1755DP I3C温度传感器、TJA1057GTK/3Z CAN PHY、以太网PHY、SDHC电路(卡槽未焊)、RGB LED、触摸板、高速USB电路、按钮和板载MCU-Link调试电路。该板卡与Arduino扩展板、Pmod板卡以及mikroBUS兼容。此板卡也支持摄像头模块和NXP的低成本LCD模块PAR-LCD-S035。

板载的MCU-Link调试器是基于LPC55S69微处理器,在使用MCU-Link功能前请确保给它刷入了合适的固件。

FRDM-MCXN947的方框图如下:

NXP

安装开发工具

NXP为自家的处理器开发了很多工具,其中适用于MCX家族的有MCUXpresso IDE以及MCUXpresso Config Tools,另外不同的器件有不同的SDK,NXP在官网也提供给了视频教程,手把手教用户入门,非常友好。

例如FRDM-MCXN947新手入门向导,教用户熟悉开发板、安装软件、编译示例工程、调试工程,非常完善。

Getting Started with FRDM-MCXN947 | NXP Semiconductors(复制链接前往:https://www.nxp.com/document/guide/getting-started-with-frdm-mcxn947:GS-FRDM-MCXNXX)

NXP提供了很多的开发环境:

MCUXpresso IDE

MCUXpresso IDE for VS Code

Keil MDK

IAR

这几个我都试过,总结如下:

1. MCUXpresso IDE官方开发,基于Eclipse,且把MCUXpresso_Config_Tools集成在里面,另外还集成了RTOS调试组件、SWO追踪、功耗分析工具,这些组件都是其他IDE没有的或者安装插件也比较麻烦的;

2.MCUXpresso IDE for VS Code,是一个VS Code的插件,但是也需要另外安装MCUXpresso IDE,配置GCC编译环境,总的来说安装体积很大;仅限于基本的调试功能,不具备上面那么多的组件;

3.Keil MDK需要安装PACK包,另外安装MCUXpresso_Config_Tools,没有那么多的调试组件;且新增软件组件不方便;

4.IAR同Keil MDK;

最后,非常推荐MCUXpresso IDE,安装简单、无需配置额外创建、调试功能丰富、增删软件组件非常方便。

01         MCUXpresso IDE

从MCUXpresso IDE for NXP MCUs | Linux, Windows and MacOS | NXP Semiconductors | NXP Semiconductors(复制链接前往:https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE)下载适合自己电脑的版本,这里以WIN10系统为例。

下载MCUXpressoIDE_11.10.0_3148.exe并双击安装,一路Next即可。

注意,为了开发FRDM-MCXN947程序,还需要下载FRDM-MCXN947 SDK。

02         FRDM-MCXN947 SDK

进入MCUXpresso SDK Builder网页,登录NXP账号,如下图所示:

1.选择SDK使用的操作系统;

2.选择工具链,根据需要选择工具链,如果不确定则选择All Toolchains

3.选择软件组件,推荐全选;

4.最后点击BUILD SDK确认;

NXP

NXP

03         MCUXpresso IDE导入SDK

在MCUXpresso IDE菜单栏选择窗口-->显示视图-->Installed SDKs

NXP

如下图,拖到下载的SDK到此窗口空白或者鼠标右键点击空白区域,选择第一项,浏览文件夹找到刚下载的SDK也可。

NXP

运行一个UART示例

01         导入工程

第一次运行MCUXpresso IDE,可以从已安装的SDK导入一个示例工程。可以从(1)处选择Import SDK examples(s)...也可以从(2)处导入示例工程。

NXP

在SDK导入向导界面,先选择开发板frdmmcxn947,如下图所示:

NXP

选择工程界面,可以在(1)处输入uart快速找到UART相关的示例工程,这里选择lpuart_polling示例工程,最后在(3)点击完成即可。

NXP

02         编译工程

如下图所示,在(1)处点击Build开始编译。在(2)处显示编译结果,成功编译生成frdmmcnx947_lpuart_polling.axf文件。

NXP

03         下载运行

使用USB Type-C线一头接开发板上的MCU-Link,另一头接电脑。

点击(1)处的Debug,MCUXpresso IDE开始识别调试器。如下图,由于我的电脑同时接了两个调试器,另外一个是J-Link(忽略),这里选择MCU-LINK即可,然后点击(3)处确定。

NXP

MCUXpresso IDE弹窗提醒选择SWD器件。由于MCXN947有两个Arm Cortex-M33,所以这里识别出两个。按照默认的选择0号即可,点击确定。

NXP

下载完成后,从电脑的设备管理器可以看到开发板对应的串口为COM34:MCU-Link VCom Port,打开串口助手,设置串口波特率115200。

NXP

在发送串口填写Hello, MCXN947点击发送,开发板打印同样的字符串。

04         下载程序出问题

如果下载程序时出现这样的问题Debug server could not be started: null,如下图所示:

NXP

可以按照下面的方法解决程序烧录问题,但是还不能进入调试模式。即单击(1)处LinkServer图标,选择(2)处的Program flash action using LinkServer,即只下载程序不调试。这样就可以顺利下载程序了。

![[PIC14-LinkServer-Program-Flash-Action.png]]

 

NXP

下图,顺利下载程序。

NXP

05         点灯

拿到新开发板,当然需要点灯了。从文档《FRDM-MCXN947 Board User Manual.pdf》中可知,开发板上有3个LED:

D1,红色,表示复位的LED,按下SW1复位按钮,D1 LED点亮;

D2,RGB LED,用户LED,每一个都可以由用户控制;

D5,绿色,P3V3电源指示灯;

所以我们的点灯程序只需要D2即可。

06         原理图

D2原理图如下:

NXP

红色LED,接P0_10;

绿色LED,接P0_27;

蓝色LED,接P1_2;

07         配置管脚

MCUXpresso IDE点击菜单栏配置工具然后选择引脚

NXP

MCUXpresso_Config_Tools简介

新打开的视图是MCUXpresso_Config_Tools提供的视图,如下图:

输入引脚名称、标签,快速搜索引脚;

已配置号的引脚在这里列出;

配置完引脚,点击更新源代码即可;

NXP

配置RGB LED
 

首先配置红色LED,它对应的引脚为P0_10,如下图所示操作:

1.在(1)处输入P0_10快速搜索对应的管脚B12

2.在(2)处单击B12然后弹出引脚[B12]功能选择界面;

3.在(3)处浏览找到GPIO0:GPIO,10(PIO0_10)选项,并勾选前面的方框;

4.在(4)处点击完成确认所选功能;

NXP

最后在路由详情标签页,给3个LED配置GPIO方向为Output,GPIO初始状态为Logical 1

NXP

最后,点击更新源代码确保引脚配置代码更新。

NXP

写程序

添加宏定义

 

 

#define LED_ON 0


#define LED_OFF 1

 

 

添加函数,控制LED亮灭(滑动查看)

 

 

/**
 * 1 -- Red ON,   2 -- Red OFF
 * 3 -- Green ON, 4 -- Green OFF
 * 5 -- Blue ON,  6 -- Blue OFF
 */
static void led_control_command(char cmd)
{
  switch (cmd) {
  case '1':// Red ON
    GPIO_PinWrite(BOARD_INITPINS_LED_RED_GPIO, BOARD_INITPINS_LED_RED_GPIO_PIN, LED_ON);
    break;
  case '2': // Red OFF
    GPIO_PinWrite(BOARD_INITPINS_LED_RED_GPIO, BOARD_INITPINS_LED_RED_GPIO_PIN, LED_OFF);
    break;
  case '3': // Green ON
    GPIO_PinWrite(BOARD_INITPINS_LED_GREEN_GPIO, BOARD_INITPINS_LED_GREEN_GPIO_PIN, LED_ON);
    break;
  case '4': // Green OFF
    GPIO_PinWrite(BOARD_INITPINS_LED_GREEN_GPIO, BOARD_INITPINS_LED_GREEN_GPIO_PIN, LED_OFF);
    break;
  case '5': // Blue ON
    GPIO_PinWrite(BOARD_INITPINS_LED_BLUE_GPIO, BOARD_INITPINS_LED_BLUE_GPIO_PIN, LED_ON);
    break;
  case '6': // Blue OFF
    GPIO_PinWrite(BOARD_INITPINS_LED_BLUE_GPIO, BOARD_INITPINS_LED_BLUE_GPIO_PIN, LED_OFF);
    break;
  default:
    break;
  }
}

 

 

函数调用(滑动查看)

 

 

while (1)
{
  LPUART_ReadBlocking(DEMO_LPUART, &ch, 1);
  LPUART_WriteBlocking(DEMO_LPUART, &ch, 1);


  led_control_command(ch);
}

 

 

  结果  

红灯亮

NXP

蓝灯亮

NXP

三灯亮

NXP

总结

NXP的MCUXpresso IDE非常容易上手,集成了MCUXPresso Config Tools,配置引脚非常方便。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分