助力“云端”开发——STM32F302R8 Nucleo评测

作者: 独活草
上传时间为: 2014-07-18 01:01 AM

全球领先的半导体供应商、全球领先的ARM® Cortex®-M微控制器厂商意法半导体(STMicroelectronics,简称ST)进一步强化STM32系列微控制器的易用性和设计灵活性, 推出适用于STM32全系产品的经济型且易于扩展的原型开发板。STM32 Nucleo将易用性、灵活性、连接功能和主流工具资源兼容性完美地融合在一起,是当今的嵌入式开发人员的理想的开发平台。

使用硬件

开发板名:STM32 Nucleo-F302R8

下载线:mini-USB数据线

使用软件

mbed 在线编译器 ,keil 5

正文

知晓“Nucleo”这一词,是源于在爱板网论坛上读到这样一篇测评文章:《从繁至简,颠覆传统设计的云端开发——极具性价比的STM32F401 Nucleo开发板评测 》。在钦佩作者的文笔之余,更惊喜于意法半导体加入ARM embed项目这一杰出的实践。 ARM embed项目旨在为用户提供简单、方便快捷的基于ARM Cortex-M处理器的MCU开发、调试等操作,这种更具人性化的、缩短开发周期的、加速开发效率的MCU开发模式,无疑会吸引众多该行业开发者们的眼球。

“通过加入mbed项目,意法半导体可以使开发人员能够针对不同市场快速创建基于领先的MT32微处理器的新产品”,意法半导体MCU市场经理丹尼尔·科隆纳(Daniel Colonna)如是说。

据说第一款拥有mbed功能的STM32开发板将于2014年2月面世,爱板网论坛工程师们也于2014年5月份做出基于ARM Cortex-M4处理器的意法半导体Nucleo系列板卡——STM32F401 Nucleo 的测评文章。最近,本人有幸得到Nucleo系列的又一板卡——STM32F302R8 Nucleo ,不才做一个试用测评。STM32F302R8 Nucleo

STM32F302R8 Nucleo包装背面      板卡采用透明塑料简洁包装,让人一眼就可以看到板子上的所有硬件资源。

从包装纸卡简介上看到:

这款板卡的名字:STM32F302 Nucleo;

板卡的核心CPU是:STM32F302R8T6,64个引脚,普通贴片式封装(TQFP64),该核心芯片是具有Cortex-M4 架构的,具有主频最高达72MHz,片内具有64K Flash容量,16K SRAM 即内存容量;

板卡上集成了ST-LINK,可用于调试和下载程序;

板卡支持Arduino 接口,同时还提供ST Morpho 扩展排针,用于连接微控制器的所有周边外设;

特别突出的是此款板卡支持mbed项目。

首先简单熟悉下板子的硬件资源:STM32F302R8 Nucleo硬件资源

还有板子的背面照STM32F302R8 Nucleo 背面

MCU的I/O引脚全部引出,焊接的金黄色的排针有着高上大的感觉。

迫不及待找来mini-USB数据线,给板子通上电之前,检查了下板上的JP1、JP5、JP6,USB大头端插在笔记本电脑的USB端口。STM32F302R8 Nucleo通电点亮

立刻三个LED灯依次都点亮了,首先是USB通讯指示灯LED1,然后是电源指示灯LED3,最后的用户LED灯是绿色的,处于闪亮状态。然后用手按一下那个蓝色的用户按钮,绿灯闪亮的频率变慢了,再按一下,闪亮频率又会改变。说明MCU已经处在执行板子出厂时的用户程序了,正在正常工作中。

同时会看到电脑桌面上弹出提示安装驱动,需要安装的应该是ST-LINK debug驱动和虚拟串口的驱动。同时在电脑的硬盘存储-可移动存储的设备,里面多出了一个盘符为NUCLEO的80K容量的存储盘。STM32F302R8 Nucleo安装盘

打开后看到一个网页链接文件mbed.htm,其他的3个是隐藏文件。STM32F302R8 Nucleo安装盘文件

点击mbed.htm,注册登录 mbed界面

链接的是注册登录 mbed的界面。我就赶紧注册了一个账户并登录进去,

网址变成了https://mbed.org/platforms/ST-Nucleo-F302R8/登录后页面

好有感觉的编程学习网页!里面有很多优质资源!

我的笔记本是win 7 系统,自动联网安装ST-LINK debug驱动失败了,打开设备管理器,看到ST-LinK Debug 那里有个黄色的感叹号。安装ST-LINK debug驱动失败

然后我在刚才的网页里找到这个链接https://mbed.org/teams/st/wiki/ST-Link-Driver页面驱动下载

点击Download ST-Link Driver,下载成功安装后,再打开设备管理器看到:

Download ST-Link Driver

驱动安装成功。

在刚才的https://mbed.org/platforms/ST-Nucleo-F302R8/网页界面看到Nucleo 板子固件升级

这个是可以给Nucleo 板子固件升级的。鼠标点击蓝色的字母,链接进的网页可以看到:

      Nucleo Firmware

Latest version Download firmware version V2.J22.M5

同时可以看到:固件升级的指导教程

Upgrade instructions

  1. First install the ST-Link driver
  2. Extract the latest version of the firmware downloaded from the above link
  3. Run the STLinkUpgrade.exe program
  4. Press Connect
  5. If you installed the ST-Link driver correctly above, you should see your device details
  6. Press 'Yes'
  7. You should now have successfully upgraded the firmware.

上面的第一步已经完成了,下载firmware version V2.J22.M5 ,解压缩后有:

已下载固件

点击运行安装,都很顺利。固件安装

在Nucleo-F302R8 的官方资源网站,找到了Arduino 接口、ST Morpho 扩展接口的分布图,有了这样2个图很方便用户进行开发使用。Nucleo-F302R8接口分布图Nucleo-F302R8接口分布图2

Nucleo板子一个最大的亮点是支持ARM mbed在线编译器,这是一种较新的开发设计体验--不同于常规的IDE软件,方便好用的“云端”设计模式,只需一台可以联网的电脑,便可执行代码编译、下载等操作。由此我想到了这与ubuntu one安装个人软件的模式一样,只需一个账户,就可以保存自己的软件在“云端”,只要可以联网,就随处随时可以下载使用。

现在我将开启我的mbed在线编程之旅啦mbed在线编程

点击图标按钮 Open mbed Compiler点击图标按钮 Open mbed Compiler后

很快就可以见到网页加载进了mbed编译工具的界面,并且弹出一个对话框给出提示:创建一个新的程序。

很容易在Platform 下拉列表中选择 ST Nucleo F302R8Template 下拉列表例程

在Template 下拉列表中有一些选项,这都是一些例程,当然也可以选择空的程序。

我选择了第二个Display a message on PC using UART. 可以看到默认的工程名为:Nucleo_printf.然后点击OK。默认的工程名为:Nucleo_printf

很快,整个工程文件建立起来了,其中用main.cpp 主程序文件,还有用到的一些库文件。

点击main.cpp 文件,立刻就可以看到主程序源码main.cpp主程序原码

值得称赞的是,这里的源码可以直接鼠标选中,然后Ctrl+C 复制出来,

#include "mbed.h"
//------------------------------------
// Hyperterminal configuration
// 9600 bauds, 8-bit data, no parity
//------------------------------------
serial pc(SERIAL_TX, SERIAL_RX);
DigitalOut myled(LED1);
int main()
{
int i = 1;
pc.printf("Hello World ! ");
while(1)
{
wait(1);
pc.printf("This program runs since %d seconds. ", i++);
myled = !myled;
}
}

····························

先补上这样一个信息提示:源码补充信息

上面的源码就很容易理解了,

SERIAL_TX, SERIAL_RX分别用的是PA_2 PA_3引脚,只需把这两个引脚接到TTL电平的RX、TX端,设置好波特率为9600,8个数据位, 无奇偶校验位 这些参加就可以了。

首先找来我的USB转串口模块给接上:USB转串口模块

USB转串口模块连接Nucleo      然后点击mbed菜单栏的 Compile 按钮Compile 按钮

很快就会弹出执行编译的窗口:执行编译窗口

当编译成功后,很快弹出一个这样界面,提示让我下载   **.bin文件:下载bin文件

然后我就点击了下载.bin文件。之后该如何将.bin文件烧录到开发板中?超级方便,把.bin文件,直接复制到Nucleo F302R8开发板的存储盘中,复位一下板子就可自动运行程序了。如果要更换其他程序,只需将新的.bin文件再次拖进Nucleo开发板的盘符中就行了,它会自动覆盖原程序。覆盖原程序

在笔记本电脑的硬件设备管理器中找到USB转的串口号是com18USB转串口号com18

打开串口调试软件SecureCRT,设置好串口通讯参数设置串口通讯参数

点击connect,同时用手按了一下板子的复位按钮,看到输出效果了:输出效果

至此,我已经进行了一次简单的mbed编程体验。用一句话形容,就是so easy!

不过,也可以看出,用mbed只能进行简单的编程,不能像Keil、IAR那样进行代码调试。如果是较复杂的程序,也不知道mbed是否能抗的住,但是mbed上面的很多简单例程是很方便用户学习使用的。

我以前喜欢用keil ,现在笔记本上安装的是keil 5.

打开keil 5,keil 5

点击Pack Installer ;Pack Installer

在打开的Pack Installer界面中,Pack Installer

很容易看到,Devices ,展开的菜单中有 STMicroelectronics ,

令人兴奋的是 这里有支持STM32F3 Series .Devices列表

另外选择 Boards,选择 Boards后界面

可以看到Keil 5 ,支持的NUCLEO 系列板子的有F030R8等,表示没有支持Nucleo F302R8 的库文件。相信不用多久我们就可以在可以在ST的官方资料库中找到Nucleo F302R8的库文件及例程。

小结:

体验了意法半导体全新系列的Nucleo F302R8开发板,喜欢它精致、乳白色的外观,带DSP、 FPU单元、LQFP64包的功能性能强大的STM32F302R8T6微控制器,板卡兼容Arduino Shield、引出全部的IO扩展口,板载了ST-LINK,支持ARM mbed在线编译器,方便的U盘式下载程序,也可用keil等软件编程调试,让人耳目一新。真的是性价比超高的一款板子,你值得拥有!

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示