你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F302R8 Nucleo评测(使用mbed 在线编译器 ,keil 5)

[复制链接]
沐紫 发布时间:2014-7-22 09:11

- J. ?- d6 T" r; \2 Q . x8 P$ |" v- p  i- Y* s! J
使用硬件* A7 P% ^/ D9 Q% G1 J+ ^
开发板名:STM32 Nucleo-F302R8
1 S. d% _/ }; J# u) Q下载线:mini-USB数据线' A& m" x) P9 z% Q; t
使用软件
' B& }% z) W; |9 ?/ z& @mbed 在线编译器 ,keil 5
' Y4 _1 G; k  Z4 v, W正文; t0 N5 S3 q4 B0 j9 t: |
知晓“Nucleo”这一词,是源于在爱板网论坛上读到这样一篇测评文章:《从繁至简,颠覆传统设计的云端开发——极具性价比的STM32F401 Nucleo开发板评测》。在钦佩作者的文笔之余,更惊喜于意法半导体加入ARM embed项目这一杰出的实践。 ARM embed项目旨在为用户提供简单、方便快捷的基于ARM Cortex-M处理器的MCU开发、调试等操作,这种更具人性化的、缩短开发周期的、加速开发效率的MCU开发模式,无疑会吸引众多该行业开发者们的眼球。+ j9 E3 }# V( ]2 k1 K
“通过加入mbed项目,意法半导体可以使开发人员能够针对不同市场快速创建基于领先的MT32微处理器的新产品”,意法半导体MCU市场经理丹尼尔·科隆纳(Daniel Colonna)如是说。2 K1 L2 c& g" m; v0 `) W
据说第一款拥有mbed功能的STM32开发板将于2014年2月面世,爱板网论坛工程师们也于2014年5月份做出基于ARM  Cortex-M4处理器的意法半导体Nucleo系列板卡——STM32F401 Nucleo  的测评文章。最近,本人有幸得到Nucleo系列的又一板卡——STM32F302R8 Nucleo ,不才做一个试用测评。& m. n* V. X% j( ]: Z2 r
      板卡采用透明塑料简洁包装,让人一眼就可以看到板子上的所有硬件资源。
& x, `$ l% |9 Z3 F从包装纸卡简介上看到:
! a# q9 E7 _" s; e这款板卡的名字:STM32F302 Nucleo;
, S! Z: F1 H7 v5 [0 o7 a/ e板卡的核心CPU是:STM32F302R8T6,64个引脚,普通贴片式封装(TQFP64),该核心芯片是具有Cortex-M4 架构的,具有主频最高达72MHz,片内具有64K Flash容量,16K SRAM 即内存容量;
; z1 \( E. S1 G  s! |板卡上集成了ST-LINK,可用于调试和下载程序;
# t0 B) O; U/ Y板卡支持Arduino 接口,同时还提供ST Morpho 扩展排针,用于连接微控制器的所有周边外设;
1 R8 R1 C+ Z1 l! X特别突出的是此款板卡支持mbed项目。0 [+ y8 r4 B% d3 q
首先简单熟悉下板子的硬件资源:
% n$ b' ~4 M, Q8 ]. s6 ?2 A
还有板子的背面照

0 X9 N4 G- m% w4 _MCU的I/O引脚全部引出,焊接的金黄色的排针有着高上大的感觉。% R9 b, p9 L8 i* R4 L6 o
迫不及待找来mini-USB数据线,给板子通上电之前,检查了下板上的JP1、JP5、JP6,USB大头端插在笔记本电脑的USB端口。
2 M6 N$ g+ o) @# A立刻三个LED灯依次都点亮了,首先是USB通讯指示灯LED1,然后是电源指示灯LED3,最后的用户LED灯是绿色的,处于闪亮状态。然后用手 按一下那个蓝色的用户按钮,绿灯闪亮的频率变慢了,再按一下,闪亮频率又会改变。说明MCU已经处在执行板子出厂时的用户程序了,正在正常工作中。
, p. N$ u+ H& I# f; p0 D% g同时会看到电脑桌面上弹出提示安装驱动,需要安装的应该是ST-LINK debug驱动和虚拟串口的驱动。同时在电脑的硬盘存储-可移动存储的设备,里面多出了一个盘符为NUCLEO的80K容量的存储盘。( o9 o9 y3 [$ g: z* R$ U* l$ O) M3 @0 @
打开后看到一个网页链接文件mbed.htm,其他的3个是隐藏文件。
: i( E1 A7 P/ t+ f& a; Q点击mbed.htm,
9 Q- v* Q& f- I) g4 m9 K% `' I链接的是注册\登录 mbed的界面。我就赶紧注册了一个账户并登录进去,
! z7 d7 d% b" {6 J网址变成了http://mbed.org/platforms/ST-Nucleo-F302R8/( H" L6 {& i) ]
好有感觉的编程学习网页!里面有很多优质资源!5 E0 ^% u, R+ Z3 E  F4 W
我的笔记本是win 7 系统,自动联网安装ST-LINK debug驱动失败了,打开设备管理器,看到ST-LinK Debug 那里有个黄色的感叹号。
( [; b! G+ X: i8 i4 N然后我在刚才的网页里找到这个链接http://mbed.org/teams/st/wiki/ST-Link-Driver
" n& r3 Y( Y% Y1 P8 w点击Download ST-Link Driver,下载成功安装后,再打开设备管理器看到:
; u* {; g# A+ B" D0 [1 r9 a2 ^8 z. a  ~( L8 o1 l, k0 W- c
驱动安装成功。
( h7 {$ |& }& R% Q. ^- ?) `在刚才的http://mbed.org/platforms/ST-Nucleo-F302R8/网页界面看到
0 T; T) |) j+ ~3 b% n- N: z这个是可以给Nucleo 板子固件升级的。鼠标点击蓝色的字母,链接进的网页可以看到:
; D  ]+ p7 [; p% A& Z      Nucleo Firmware9 U2 i$ x" ?- ^  M' t2 ^

$ o3 V9 k* [6 t9 i9 r8 ZLatest version Download firmware version V2.J22.M5
! K6 C% d5 c! Y5 ~! Y同时可以看到:固件升级的指导教程0 G8 V% R9 I# g: S3 A
Upgrade instructions
0 B* a1 Y' Q1 n& r4 j5 q; f$ x

    % D  b* s' k' `$ `6 h   
  • First install the ST-Link driver
  • Extract the latest version of the firmware downloaded from the above link
  • Run the STLinkUpgrade.exe program
  • Press Connect
  • If you installed the ST-Link driver correctly above, you should see your device details
  • Press 'Yes'
  • You should now have successfully upgraded the firmware.
    * }% F! z  F+ ?
上面的第一步已经完成了,下载firmware version V2.J22.M5 ,解压缩后有:
, s9 e$ G) c( q: a: Z9 S
! i& T, s2 w2 F# \7 `点击运行安装,都很顺利。, r: N4 T) ^: [: _" w/ R* e  a
在Nucleo-F302R8 的官方资源网站,找到了Arduino 接口、ST Morpho 扩展接口的分布图,有了这样2个图很方便用户进行开发使用。
# E& @  v' O0 @3 k3 N9 zNucleo板子一个最大的亮点是支持ARM  mbed在线编译器,这是一种较新的开发设计体验--不同于常规的IDE软件,方便好用的“云端”设计模式,只需一台可以联网的电脑,便可执行代码编译、 下载等操作。由此我想到了这与ubuntu  one安装个人软件的模式一样,只需一个账户,就可以保存自己的软件在“云端”,只要可以联网,就随处随时可以下载使用。( x) t" [$ @" F: L  J. I3 l
现在我将开启我的mbed在线编程之旅啦
$ o$ H9 h4 z5 F3 r$ Q) ^( V, I点击图标按钮 Open mbed Compiler& L8 X3 `0 z! y) x( Y6 T+ u
很快就可以见到网页加载进了mbed编译工具的界面,并且弹出一个对话框给出提示:创建一个新的程序。
" B$ E3 M9 h" F3 b0 r/ F( E很容易在Platform 下拉列表中选择 ST Nucleo F302R8% x- Y' O( v6 o6 O
在Template 下拉列表中有一些选项,这都是一些例程,当然也可以选择空的程序。
5 I3 v# d$ O) U: i. D我选择了第二个Display a message on PC using UART. 可以看到默认的工程名为:Nucleo_printf.然后点击OK。7 v# [. h( o1 x4 k7 ~% X
很快,整个工程文件建立起来了,其中用main.cpp 主程序文件,还有用到的一些库文件。! F9 m- n- d; Q
点击main.cpp 文件,立刻就可以看到主程序源码
% E; G6 H& g4 Y' W# x& W) Q/ k值得称赞的是,这里的源码可以直接鼠标选中,然后Ctrl+C 复制出来,4 q) _5 Q5 F6 i9 q
#include "mbed.h"
4 Q1 e- t5 p0 w, J. F3 |//------------------------------------
( Q. _: f! h* l# z// Hyperterminal configuration. X" K$ i0 \# ~
// 9600 bauds, 8-bit data, no parity3 \" B) Q; h# h' E1 c4 x2 Y
//------------------------------------
3 M- R  ]0 ~% p3 t: ^Serial pc(SERIAL_TX, SERIAL_RX);; z6 z9 U. G$ q+ ~. W: @
DigitalOut myled(LED1);; I: B- G; \$ d
int main()
- _# ]" \* n  I- i2 _{
- G" C: z/ X7 c. x6 mint i = 1;
" q0 g3 a( i1 n, Rpc.printf("Hello World !\n");8 x. G& x8 a9 c2 D
while(1)
4 c4 V/ ~# S2 i! v* V, H- j{+ {, i" z, u4 A8 h* \$ Y  @
wait(1);& E& R3 w% L8 g' R, q9 F9 w
pc.printf("This program runs since %d seconds.\n", i++);
0 F* M/ ^/ |9 T* k5 A  a- Xmyled = !myled;1 m( q, v* [& X+ [
}
- c! ?. h3 B3 _. ^! [}2 G4 c; V7 S- _2 g5 \
···································································
1 J! L4 x: X2 s' V) q! Z# i先补上这样一个信息提示:
; c/ u4 y/ ^" m1 F0 d上面的源码就很容易理解了,2 `% N  _) I5 h4 `6 G1 g& C
SERIAL_TX, SERIAL_RX分别用的是PA_2 PA_3引脚,只需把这两个引脚接到TTL电平的RX、TX端,设置好波特率为9600,8个数据位, 无奇偶校验位 这些参加就可以了。8 ]# s( P! N6 ~
首先找来我的USB转串口模块给接上:* U( [. @& @, y7 n6 M" q
      然后点击mbed菜单栏的 Compile 按钮
0 E5 G" r0 a4 ~2 B很快就会弹出执行编译的窗口:1 `% x  y2 \) t' M+ w; s/ b
当编译成功后,很快弹出一个这样界面,提示让我下载   **.bin文件:- Q( [2 ~: P, g) y5 H  j  K- l
然后我就点击了下载.bin文件。之后该如何将.bin文件烧录到开发板中?超级方便,把.bin文件,直接复制到Nucleo  F302R8开发板的存储盘中,复位一下板子就可自动运行程序了。如果要更换其他程序,只需将新的.bin文件再次拖进Nucleo开发板的盘符中就行 了,它会自动覆盖原程序。
" e$ O% b8 s4 T2 o5 J; g在笔记本电脑的硬件设备管理器中找到USB转的串口号是com18
/ C0 a# H9 c7 O: p8 v# ~# d打开串口调试软件SecureCRT,设置好串口通讯参数0 B% {9 h2 U5 W$ @8 @0 A/ q7 K
点击connect,同时用手按了一下板子的复位按钮,看到输出效果了:
. N% x1 X5 f/ Z' \! q1 X至此,我已经进行了一次简单的mbed编程体验。用一句话形容,就是so easy!
5 N% R) ~* w, G/ _不过,也可以看出,用mbed只能进行简单的编程,不能像Keil、IAR那样进行代码调试。如果是较复杂的程序,也不知道mbed是否能抗的住,但是mbed上面的很多简单例程是很方便用户学习使用的。
- A  A& \* N3 z. n我以前喜欢用keil ,现在笔记本上安装的是keil 5.- @# D) p+ }- k- }6 G8 X
打开keil 5,
4 m/ n. D: s& Z' L6 [  Q7 `点击Pack Installer ;' J- A+ F! j# I7 D
在打开的Pack Installer界面中,7 U. ?5 g4 P: F; a
很容易看到,Devices ,展开的菜单中有 STMicroelectronics ,
% ~6 R. P9 [. \. {$ W& }令人兴奋的是 这里有支持STM32F3 Series .9 Q9 ^* R& g8 A) z% J! b" D2 T, G
另外选择 Boards," C$ Y& M& `) ~
可以看到Keil 5 ,支持的NUCLEO 系列板子的有F030R8等,表示没有支持Nucleo F302R8 的库文件。相信不用多久我们就可以在可以在ST的官方资料库中找到Nucleo F302R8的库文件及例程。
; W  `8 ~" B) B% H  r5 j! v小结:
2 l" s6 ?5 l& x1 L, E/ N体验了意法半导体全新系列的Nucleo F302R8开发板,喜欢它精致、乳白色的外观,带DSP、  FPU单元、LQFP64包的功能性能强大的STM32F302R8T6微控制器,板卡兼容Arduino  Shield、引出全部的I\O扩展口,板载了ST-LINK,支持ARM  mbed在线编译器,方便的U盘式下载程序,也可用keil等软件编程调试,让人耳目一新。真的是性价比超高的一款板子,你值得拥有!
' N9 f# w" C0 k0 v$ y. }( r
% e1 E) G) D/ Z& d$ |& F2 S原文网址:http://www.eeboard.com/tutorials/st_stm32f302r8-nucleo_evaluation/
赞 收藏 4 评论26 发布时间:2014-7-22 09:11

举报

26个回答
shadow丶 回答时间:2015-6-8 20:35:15
沐紫姐姐 确实很给力啊 !!!   这样直接 mbed就会用了   0.0   之前一直卡在 申请帐号 现在通过翻墙解决了 ,可算可以玩玩mbed了  
hooke 回答时间:2015-5-4 07:42:56
谢谢老大,正愁找不到stlink驱动呢,测评帮我找到啦" b% C4 t$ W$ T- J/ n0 ^
liuwen-396482 回答时间:2014-12-8 22:17:21
楼主太棒了,赞一个
MrJiu 回答时间:2014-7-22 10:36:23

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

过来支持..........
Eagleson 回答时间:2014-7-22 16:58:34

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

不错啊
zykzyk-93033 回答时间:2014-7-22 20:00:36

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

这个比较好详细
jack_lin 回答时间:2014-7-22 21:14:44

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

a13526758473 回答时间:2014-7-22 21:48:37

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

熟悉的环境,熟悉的代码,最近没时间,但依然没忘记来看看!写的好,支持!
相思谷 回答时间:2014-7-22 22:15:39

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

好详细,如果能申请到开发板,这个绝对可以帮助快速熟悉平台,谢谢分享
独活草 回答时间:2014-7-23 09:04:20

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

大家好!我是木子鱼,欢迎大家浏览我的文章:http://www.eeboard.com/tutorials/st_stm32f302r8-nucleo_evaluation/   喜欢请点赞!谢谢支持!
Veiko 回答时间:2014-7-23 09:27:49

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

说实话不是很喜欢这种云端的开发方式,还是希望直接在电脑(不受网络限制)地开发产品应用。
feel-376797 回答时间:2014-7-23 11:58:06

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

mbed网页开发方式确实很简单方便。
sacq12 回答时间:2014-7-23 23:56:37

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

初看,有点像在云里雾里;+ x% Y* B  t: i) [0 i
留个记号,下次接着学习。
沐紫 回答时间:2014-7-24 09:33:46

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

回复第 8 楼 于2014-07-23 09:04:20发表:1 B! b" S+ n1 ^
大家好!我是木子鱼,欢迎大家浏览我的文章:http://www.eeboard.com/tutorials/st_stm32f302r8-nucleo_evaluation/   喜欢请点赞!谢谢支持! 4 o% ^' K4 X/ {% |, u
+ S9 M: V. [$ m+ j; k
作者出现了,绝对支持!!!!
霹雳之火 回答时间:2014-7-28 09:42:27

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

介绍的很详细很仔细
11:493 回答时间:2014-7-30 22:57:41

RE:STM32F302R8 Nucleo评测(使用mbed 在线编译器 ,keil 5)

介绍的很详细,学习了,很新的技术,看着作者这么详细的全方位介绍很想能够在实际的板子上体验下,多谢作者分享。
小丸子 回答时间:2014-7-31 08:49:03

RE:STM32F302R8 Nucleo评测(使用mbed 在线编译器 ,keil 5)

支持~~~~~
12下一页

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版