首页 > 评测 > 至繁归于简——NUCLEO-F411RE开发板评测

至繁归于简——NUCLEO-F411RE开发板评测

STM32   NUCLEO   ST   F411RE   
  • 作者:高扬
  • 来源:21ic
  • [导读]
  • “nucleo”—“核”的意思。这里代表的就像我们熟知的最小系统一样,就是最核心的东西。了解过ST官方开发板产品线的都知道,ST提供了三种定位的开发板:nucleo、discovery和Eval。这三种开发板级别依次由低到高。通常nucleo板子采用白底蓝字,discovery通常采用绿底白字的PCB,由于Eval实在稀有我也没见过,只是听说江湖中有这个东西,具备丰富的板载外设。

1.5 DEMO测试

开发板自带的DEMO是需要配合外接显示屏操作的,我手里没有那块配合NUCLEO的TFT显示屏,外观显示为通过用户按键可以使得绿色LED在慢速闪烁、快速闪烁和熄灭三种状态切换。由于仅仅是核心板,所以开机测试DEMO,乐趣不是很多。

图片13.png

1.6 开发环境与编程

这里基于本地开发推荐使用Keil for ARM,目前最新版为Keil uVision5,版本号5.17。本测评不在对如何使用Keil做深入的介绍。

安装支持包

如下图,点击包管理器启动按钮,从设备列表找到STM32F4系列,单击,之后在右边可以找到相关开发包资源,选择需要的单击对应的Action列的Install按钮即可安装。我们根据描述可以看到如下图中STM Nucleo开发板支持和例程。

图片14.png

如果网速慢,可能会遇到无法完成安装的情况,这个时候可以直接到Keil官网下载该系列支持包。如下图中网址,打开后,下拉找到本开发板需要的STM32F4系列支持驱动例程包,当前最新版本号为2.7。

图片15.png

安装该开发包后可以在以下路径找到本开发板相关示例程序C:\Keil_v5\ARM\Pack\Keil\STM32F4xx_DFP\2.7.0\Projects\STM32F411RE-Nucleo

 

如下图所示,除了出厂板载DEMO之外,提供了7个示例程序,这里不在赘述。

图片15.png

烧录方法

第一种,编译后,可以通过Keil自带的下载工具下载,快捷键为F8,或在菜单栏找到Flash->Download,单击后实现下载。

第二种,通过在工程配置菜单(快捷方式Alt+F7)的Output选项卡里勾选创建HEX文件,这样编译后可以生成HEX文件,之后通过STM32 ST-LINK Utility软件进行烧录,目前最新版本3.7,我会在测评最后的资源下载里提供。

 

第三种,通过配置Keil参数,输出BIN文件,这样可以直接通过复制BIN文件到ST-Link自带的U盘,实现自动烧录功能。配置方法:从菜单栏打开Project->Option for Target‘STM32F4xx_Nucleo’->User,如下图所示,按下图勾选后填写相关指令,其中a.bin即为要生成的Bin文件名字,你可以自定义,也可以为B.bin,out.bin等等。在填写指令时候注意空格:fromelf --bin !L --output a.bin

图片17.png

MBED在线开发

我们知道NUCLEO支持使用MBED在线开发。这里介绍一下如何使用该工具。该在线开发工具具体使用方法请在本论坛搜索关键字:“MBED基础教程”。

访问MBED官方网址: https://developer.mbed.org/compiler/

 

建立如下图工程,把鼠标放到SERIAL_RX处右边立马弹出对应的宏。如下图所示,我们发现只需要使用一个头文件,结构也非常简单的代码就实现了一个串口发送。该在线开发工具是不是很酷,如需要详细了解可访问上面的网址查看相关使用说明。这也说明ST为自己的NUCLEO提供了一个非常方便的开发途径。点击下图中菜单栏的Compile,可在线编译,并弹出.bin文件保存选项。当编译失败后,可能是所采用的库不是最新版的,这时候可以在下图左边列表mbed单击右键,弹出菜单后点击update更新库,再重试Compile即可解决问题。

图片18.png

在线编译成功后,弹出下载保存bin选项,直接保存到NUCLEO可移动盘内,这时候ST-Link会判断芯片内核该bin代码是否一致,如果不一致则更新代码,如果一致丢弃。根据上图代码可知,我们的例程是先发送“Hello World !”字符串,然后进入循环不停的打印字符串,每次打印后翻转绿色LED。我们切看如何使板子和计算机通信。前面我们知道,板载的ST-Link提供了串口接线柱,编号为CN3。根据上图,我们知道发送到PC串口所使用的串口位置在PA_2和PA_3,为了方便开发者准确的定位端口,MBED提供了炫酷的管脚分布图,见下图,左边为Arduino接口分布图,右边为Morpho接口分布图:

图片19.png

图片20.png

我们从上左图可以看到,就在板子的右下角两个接线柱。通过导线连接,记住串口通信采用发送对应接收的。如下图所示,这里说明一下,根据232串口的协议,如果只是给计算机发送信息,只需要把MCU的TX和ST-Link的RX一条线连接上即可。

图片21.png

串口连接实物图

 

在Win7/WinXP系统上大部分串口助手都可以使用,而笔者采用的Win10系统,试了很多串口调试助手均不能工作,在经过多方查找后,下图中串口调试助手可以完美兼容Win10系统。下图是上面MBED中代码运行的结果。

图片22.png

串口助手显示

1.7 小结

NUCLEO系列板子的特点就在于它简单,但是你需要的功能都预留了,这就是至繁归于简。巴掌大小的板子,集成了性能优良的ST-Link编程调试器,集成了USB-to-RS232功能,还提供了串口接线柱。另外集成了两种扩展接口Arduino外扩接口和特有的闪蝶(Morpho)全功能接口。对于基础和入门的学习使用板载的一个按键和一个可编程LED,以及配合板载的串口就可以实现入门的学习,特别设计了断裂线的NUCLEO-64开发板还可以把ST-Link和核心板分离开,作为一个编程调试器或作为一个USB转串口适配器使用。值得一提的是NUCLEO的定位就是学生入门级,首先该开发板价格十分便宜,十美元左右,淘宝售价均不足百元,就可以买到一块这么给力的开发板。

 

在本地开发,推荐采用Keil集成开发环境,建议单独去Keil官网下载Pack支持包,另外建议开发者同时掌握三种烧录方式,这样可以应对各种烧录情况。根据笔者最近的学习情况,发现ARM推出的MBED在线开发环境,采用了面向对象的C++语言,且高度抽象的API接口函数使得使用时候几乎完全脱离了底层,入门更快,而ST在设计NUCLEO时候也更加突破性的采用了两种接口,且针对Arduino的接口均已在PCB上印刷了功能名称,使用起来非常方便,非常适合入门学习,特别推荐学生使用NUCLEO系列作为入门开发板使用。

1.8 相关资料下载

STM32单片机中文官网

STM32单片机官方开发工具

STM32单片机参考设计

官方资料下载地址:

http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF260320

本测评用到的软件和学习该开发板可能用到的资料下载:

http://pan.baidu.com/s/1i3O7LKp 

 

本文系21ic原创,未经许可禁止转载

  • 本文系21ic原创,未经许可禁止转载!

网友评论