曾听一位前辈说过,在电子产业,原地踏步或是前行缓慢,实则是在退步,非常危险。如今看来,确实如此,摩托罗拉、诺基亚移动等都成了生动的例子。而 作为更新周期较快的嵌入式半导体行业,竞争同样激烈,前有Atmel 推出的Xplained Pro平台生态圈,现又出现了意法半导体的Nucleo系列板卡。
Nucleo是意法半导体加入ARM embed项目后 的又一个风格系列板卡,有两个鲜明的特点:1.兼容Arduino UNO R3 Shield扩展板、2. 支持ARM embed项目。或许有人会有疑问,什么是ARM embed项目?mbed是一个面向ARM Cortex-M系列处理器的原型开发平台,主要用于培育物联网(IoT)的协作项目,包括了免费的软件库(SDK),硬件参考设计(HDK)和在线工具 (Web)三部分,为用户提供简单、方便快捷的基于ARM Cortex-M处理器的MCU开发、调试等操作。最近,爱板网也拿到了一款由贸泽电子提供的 基于ARM Cortex-M4处理器的意法半导体Nucleo系列板卡——STM32F401 Nucleo,这是意法半导体不久前才推出的板卡,在惊叹于贸泽电子能第一时间拿到货源的同时也非常感谢贸泽电子将板子提供给爱板网评测,让广大网友第一 时间体验ST的最新板卡。
STM32F401 Nucleo开发板
拿到STM32F401 Nucleo开发板第一感觉就是“改变了”,变好看了,同样是STM32F系列板卡的包装,但是板卡不再是最常见的绿色PCB板,这是一块精致小巧的乳白 色板卡,让人过目不忘,在包装盒上板卡的特点介绍中我们还能看到特别标注的mbed-enabled功能。
STM32F401 Nucleo开发板
从包装中取出板卡,精致小巧,仅有成人的巴掌那般大小。板卡布局也一目了然,被很好的分为微控制器部分以及调试器部分,下面一起先了解下STM32F401 Nucleo板卡主要有哪些特点。
STM32F401 Nucleo开发板正面
STM32F401 Nucleo开发板反面
STM32F401 Nucleo开发板扩展IO接口定义图
STM32F401 Nucleo开发板硬件原理框图
STM32F401RET6微控制器,基于ARM Cortex-M4处理器,带DSP,最高支持84MHz主频
支持Arduino UNO R3 Shield扩展板,微控制器所有IO口引脚通过排针座引出
ST-LINK/V2-1调试器,支持对外部微控制器调试
3个LED:一个USB通讯LED、一个电源LED、一个用户LED;两个机械按键:复位、用户
USB接口的3个不同功能:虚拟串口、容量存储、调试接口
3种不同供电方式:mini USB接口供电、IO引脚用电、通过Arduino UNO R3 Shield接口供电
支持Keil、IAR、embed在线IDE的设计工具
STM32F401 Nucleo开发板包含了STM32F系列板卡惯有的机械按键、LED指示灯、mini USB调试接口,众多IO口外设通过排针座引出等功能,除此之外,也有与众不同之处,如兼容Arduino Shield接口,并且可以通过Arduino Shield扩展接口给板卡供电,板卡搭载了STM32F401RET6核心微控制器,基于32位的高性能ARM Cortex-M4处理器,带FPU单元,最高能支持84MHz主频,见下图。
STM32F401RET6微控制器
STM32F401RET6微控制器硬件框图
STM32F401RET6微控制器采用了1.7V~3.6V供电,集成了512KB Flash以及96KB SRAM,最大可支持扩展50个GPIO口,集成USB OTG功能,定时器*8、SPI*3、I2S*2、I2C*3、USART*3、SDIO*1、12位ADC*1等,更具有意法半导体独有的自适应实时 (ART)加速器,可以实现从512KB片上闪存执行代码零等待状态,这在爱板网先前评测的STM32F429I Discovery开发板的STM32F429ZIT6U微控制器中也有介绍,功能也是一样的。
与STM32F429ZIT6U微控制器相比,MCU STM32F401RET6虽然基于同样的M4处理器,但是无论是功能或者性能都有不少的差距,而且面向的领域不同。如果细细观察则能发现其功能与爱板网评测过的Atmel SAMG53-XPRO板卡中的微控制器特点类似,同样是面向传感器集线器类的应用。
STM32F429ZIT6U微控制器传感器集线器应用
当然,除此之外STM32F401RE微控制器同样可以适用于其他不同的应用领域,如管理医疗和移动应用或现场总线驱动的工业传感器模块等领域。
STM32F401 Nucleo开发板上电使用
事实上,STM32F401 Nucleo开发板的硬件组成确实很简洁,在基本了解其硬件原理后我们试着上电启动玩玩。首先,老规矩,自己准备一根miniUSB线,连接电脑上电启 动。上电后,可以看到首先USB通讯LED点亮,其次电源LED点亮,紧接着,黄色用户LED闪烁,此时按一下板卡上的用户机械按键,用户LED切换闪烁 频率,这是开发板自带的出厂程序功能。
STM32F401 Nucleo开发板上电启动
同时,电脑上会提示安装驱动,主要是虚拟串口及ST-LINK的驱动,先不管放一边,打开电脑上的计算机硬盘分配空间,发现多出一个可用空间为512KB 的Nucleo的盘符。
开发板内置528KB 存储
Flash中的文件内容
点击进入后发现有一个网页链接以及一些系统文件(隐藏的)。此时可以打开网页链接图标,网页链接指向的地址为ST Nucleo F401RE开发板的资料站, 即STM32F401 Nucleo开发板,包括板卡基本资料信息、在线IDE工具,讨论区等,要确保完美的使用这些功能,我们首先需要做的是注册一个账号,这个账号也就是你在 开发STM32F401 Nucleo板卡时候的云端账号,可以保存你的云端资料信息及代码开发等情况,非常重要。
注册mbed通行证
注册完账号就可以尽情享用STM32F401 Nucleo开发板了,在网页下面可以看到此时板卡的固件可以更新,点击下载最新的V2.J20.M4固件。
STM32F401 Nucleo开发板V2.J20.M4固件
更新固件需要通过USB通讯接口,所以我们要安装之前未安装的驱动,在ST官方资料库中下载STM32F401 Nucleo开发板的USB驱动。下载的压缩包中包含了32位系统以及64位系统不同的驱动,根据自己电脑的系统信息安装对应的驱动文件。
STM32F401 Nucleo开发板资料
STM32F401 Nucleo开发板驱动
安装完USB驱动文件后,我们就能通过USB通讯接口更新固件,打开固件更新程序
STM32F401 Nucleo开发板更新固件
STM32F401 Nucleo开发板固件更新完成
更新完固件,那就是万事具备了,此时我们可以畅享在线IDE设计工具mbed,见下图。
打开mbed在线IDE设计工具
mbed编译器打开的速度取决于你的网速,打开后可以选择相应的例程或是新建例程,选择完成点击OK。
mbed编译器界面
正式进入到mbed编译器界面,非常简洁,笔者以刚选的PWM例程实际体验了一把,点击编译后,编程生成的bin会自动下载到电脑上,见下图。
编译下载bin文件
然后呢?这是要如何将bin文件烧录到开发板中?超级简单,找到刚下载好的bin文件,直接 复制或者拖动到STM32F401 Nucleo开发板的存储中(一开始介绍的512KB Flash),复位一下板卡就自动运行程序了,若是要更换其他例程,只需将你所需求的bin文件再次拖进Nucleo开发板的盘符中就行了,它会自动覆盖 原程序。
接着笔者又试了下开发板的串口程序,编译->复制进U盘->打开串口工具,设置9600波特率,正常输出数据。
STM32F401 Nucleo串口程序代码
相对于目前常用的Keil、IAR等软件mbed要方面多了,首先,不需要下载安装软件,其 次,一个账号足以,无论何时何地只有有网络就可以进行在线设计开发。不过mbed在实际使用中也存在一些不足,而且可以说是硬伤,mbed仅仅适用于代码 的编写以及编译下载操作,无法执行调试,对于简单的代码程序还好,对于复杂的代码程序在调试时无疑是不足的,如果需要更深入的分析软件程序运行还是需要用 到Keil、IAR等专业的IDE设计工具中的调试功能。
不过由于STM32F401 Nucleo开发板刚出来不久,需要使用Keil、IAR等软件调试功能的朋友最好还是下载最新的IDE设计工具(老版本的IDE设计工具可能找不到此微 控制器的库文件),笔者这里使用的是Keil 5版本,STM32F401 Nucleo开发板的例程可以在ST的官方资料库中找到。
Keil 5例程
通过keil软件调试
通过对STM32F401 Nucleo开发板的使用,我们感受到了一种全新的设计体验,方便好用的云端设计,一个账号,一台可以联网的电脑,即可在不同的没有安装专业的IDE设计 工具的电脑上执行代码编译、下载等操作。不过在方便的同时也存在了不少令人担忧的隐患,如云端账号的问题,假设一个公司或者企业的重要项目,在云端开发真 适合吗?最近小米论坛800万用户数据的泄密不得不让人们重视这个问题,而这也是笔者无法下定论的,可能就是个仁者见仁智者见智的问题。
小结
体验了意法半导体全新系列的STM32F401 Nucleo开发板,精致小巧乳白色外观,带FPU单元、功能性能强大的STM32F401RE微控制器,板卡兼容Arduino Shield、支持ARM mbed在线编译器,方便的U盘式下载程序,让人们耳目一新,这对于喜欢简单、喜欢尝鲜的朋友是个非常不错的选择,况且,STM32F401 Nucleo开发板目前在贸泽电子仅有 68 RMB的报价,极具性价比,有需要的朋友可以去看看。