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

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

[复制链接]
沐紫 发布时间:2014-7-22 09:11
4 `2 I7 \  X5 k6 N5 [

; k. U  T) h) \& {( e+ t' q7 v  p使用硬件* r5 K* G/ i& X; n, L
开发板名:STM32 Nucleo-F302R8! i2 Y7 I" M& V* F
下载线:mini-USB数据线
, S1 T) X  f1 C3 V, Y使用软件
% d: j6 z: Z; P& A7 ombed 在线编译器 ,keil 5
: `. ]  |- T2 a0 [" O5 X4 P正文5 D. I! Y3 F; ~6 D
知晓“Nucleo”这一词,是源于在爱板网论坛上读到这样一篇测评文章:《从繁至简,颠覆传统设计的云端开发——极具性价比的STM32F401 Nucleo开发板评测》。在钦佩作者的文笔之余,更惊喜于意法半导体加入ARM embed项目这一杰出的实践。 ARM embed项目旨在为用户提供简单、方便快捷的基于ARM Cortex-M处理器的MCU开发、调试等操作,这种更具人性化的、缩短开发周期的、加速开发效率的MCU开发模式,无疑会吸引众多该行业开发者们的眼球。  r6 C* p) O4 {7 t0 J
“通过加入mbed项目,意法半导体可以使开发人员能够针对不同市场快速创建基于领先的MT32微处理器的新产品”,意法半导体MCU市场经理丹尼尔·科隆纳(Daniel Colonna)如是说。: j8 T' w. V% U& O! l1 k$ s- ~
据说第一款拥有mbed功能的STM32开发板将于2014年2月面世,爱板网论坛工程师们也于2014年5月份做出基于ARM  Cortex-M4处理器的意法半导体Nucleo系列板卡——STM32F401 Nucleo  的测评文章。最近,本人有幸得到Nucleo系列的又一板卡——STM32F302R8 Nucleo ,不才做一个试用测评。
' j% K7 [: t4 ?) l0 w  ?      板卡采用透明塑料简洁包装,让人一眼就可以看到板子上的所有硬件资源。
9 U+ b8 A" ^' N- Q4 S0 O" c% Z! ]7 W从包装纸卡简介上看到:
/ `: ^- d" J/ L7 G$ I+ v这款板卡的名字:STM32F302 Nucleo;" U- K1 D! r+ M5 \
板卡的核心CPU是:STM32F302R8T6,64个引脚,普通贴片式封装(TQFP64),该核心芯片是具有Cortex-M4 架构的,具有主频最高达72MHz,片内具有64K Flash容量,16K SRAM 即内存容量;, K1 O' p" [1 V% V$ \& N& Y7 ?+ g
板卡上集成了ST-LINK,可用于调试和下载程序;- \. O8 ?+ A  n( r9 A
板卡支持Arduino 接口,同时还提供ST Morpho 扩展排针,用于连接微控制器的所有周边外设;. W% B3 w2 U3 Z  O: n
特别突出的是此款板卡支持mbed项目。  f8 a# B1 [9 ?0 I9 z8 c
首先简单熟悉下板子的硬件资源:: `3 p2 j6 e/ \9 U$ h
还有板子的背面照
+ p: b. r2 B1 j, o; c
MCU的I/O引脚全部引出,焊接的金黄色的排针有着高上大的感觉。
( L, `# f1 r$ _# ?迫不及待找来mini-USB数据线,给板子通上电之前,检查了下板上的JP1、JP5、JP6,USB大头端插在笔记本电脑的USB端口。
) Y+ l% v& J( y: A% N立刻三个LED灯依次都点亮了,首先是USB通讯指示灯LED1,然后是电源指示灯LED3,最后的用户LED灯是绿色的,处于闪亮状态。然后用手 按一下那个蓝色的用户按钮,绿灯闪亮的频率变慢了,再按一下,闪亮频率又会改变。说明MCU已经处在执行板子出厂时的用户程序了,正在正常工作中。
8 k. }2 Q6 K$ P. F5 F; R同时会看到电脑桌面上弹出提示安装驱动,需要安装的应该是ST-LINK debug驱动和虚拟串口的驱动。同时在电脑的硬盘存储-可移动存储的设备,里面多出了一个盘符为NUCLEO的80K容量的存储盘。
8 S) O7 U7 f* H$ C- S: m打开后看到一个网页链接文件mbed.htm,其他的3个是隐藏文件。
, O9 S/ O( z! l2 l点击mbed.htm,
/ f9 S5 k( p* ]: X8 c, h& B链接的是注册\登录 mbed的界面。我就赶紧注册了一个账户并登录进去,
9 I8 X0 h, B  N9 \. B网址变成了http://mbed.org/platforms/ST-Nucleo-F302R8/
/ B$ r0 W$ v. G* e( d好有感觉的编程学习网页!里面有很多优质资源!
* B- u' ?+ v8 w我的笔记本是win 7 系统,自动联网安装ST-LINK debug驱动失败了,打开设备管理器,看到ST-LinK Debug 那里有个黄色的感叹号。
1 N- t2 Z1 V" H# W$ P' m( x( V7 {然后我在刚才的网页里找到这个链接http://mbed.org/teams/st/wiki/ST-Link-Driver! e9 r7 B  E, q7 q7 @7 \
点击Download ST-Link Driver,下载成功安装后,再打开设备管理器看到:
- q4 j; Z+ C( t' J. G5 P- ~# P
  u/ ]7 b5 d. j# j  C% }驱动安装成功。6 y, }9 w+ Y7 S
在刚才的http://mbed.org/platforms/ST-Nucleo-F302R8/网页界面看到
, c0 w4 d" c& K. R这个是可以给Nucleo 板子固件升级的。鼠标点击蓝色的字母,链接进的网页可以看到:
9 Z5 o9 i" c0 o3 n      Nucleo Firmware
. U6 V7 W$ _# z. o* ~) C% N  M0 h- N9 X
Latest version Download firmware version V2.J22.M5
- Y* V  a: h* f同时可以看到:固件升级的指导教程
  [; T2 o, r# xUpgrade instructions
0 z4 W9 F7 T6 X4 t1 Z& m

    ! o5 ]: Z0 `$ F( Y' p) j   
  • 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.
    + ^8 }! w8 E1 r9 y7 b  K
上面的第一步已经完成了,下载firmware version V2.J22.M5 ,解压缩后有:5 A( r& u' a9 q" m* P

: h2 F# x. G3 [点击运行安装,都很顺利。6 g5 i5 d) j  U* p1 x
在Nucleo-F302R8 的官方资源网站,找到了Arduino 接口、ST Morpho 扩展接口的分布图,有了这样2个图很方便用户进行开发使用。: a4 `# z; ?# j
Nucleo板子一个最大的亮点是支持ARM  mbed在线编译器,这是一种较新的开发设计体验--不同于常规的IDE软件,方便好用的“云端”设计模式,只需一台可以联网的电脑,便可执行代码编译、 下载等操作。由此我想到了这与ubuntu  one安装个人软件的模式一样,只需一个账户,就可以保存自己的软件在“云端”,只要可以联网,就随处随时可以下载使用。' Z2 q( |& K& @2 j$ d
现在我将开启我的mbed在线编程之旅啦
" j& r9 S7 o  K) y点击图标按钮 Open mbed Compiler
$ g  q, O8 H2 I很快就可以见到网页加载进了mbed编译工具的界面,并且弹出一个对话框给出提示:创建一个新的程序。, `- x8 \8 P  C. D
很容易在Platform 下拉列表中选择 ST Nucleo F302R8, w3 U/ t& z" N) D/ k, x- q. V. r
在Template 下拉列表中有一些选项,这都是一些例程,当然也可以选择空的程序。
; M! X1 k2 \9 _我选择了第二个Display a message on PC using UART. 可以看到默认的工程名为:Nucleo_printf.然后点击OK。
! _& h9 V3 y! d% c0 Q# r, l很快,整个工程文件建立起来了,其中用main.cpp 主程序文件,还有用到的一些库文件。; {0 k; Y; w/ c+ l( p
点击main.cpp 文件,立刻就可以看到主程序源码
/ j$ x& ]0 g8 X! }, Q4 d+ g值得称赞的是,这里的源码可以直接鼠标选中,然后Ctrl+C 复制出来,
2 c2 N9 N$ y5 l+ m#include "mbed.h"
) e5 o. `0 E2 i//------------------------------------: q0 v" ?+ H. O5 y9 k
// Hyperterminal configuration
6 }; [. v3 E" `- y3 l9 k// 9600 bauds, 8-bit data, no parity
+ ?7 w' {2 U) D0 W2 Q//------------------------------------/ ]* X) n  Q2 \3 v$ R1 y
Serial pc(SERIAL_TX, SERIAL_RX);
* L* x* R' E; k0 k6 q# oDigitalOut myled(LED1);
2 }" e7 ~- p4 X& b; ^$ W/ dint main()
; l- {, @( U$ X+ Y2 a1 H+ Q9 F{& b9 ^7 N8 p% ~: D
int i = 1;
7 J& E# c* i' X2 U# c! Z! fpc.printf("Hello World !\n");, [3 Z2 |$ K' i
while(1)
" E% e! H7 }( F; p0 o{2 i( J; |: p0 m2 j# j& d. O
wait(1);" E4 @1 {# U" W
pc.printf("This program runs since %d seconds.\n", i++);# T; g4 [3 a9 i; c
myled = !myled;, t" o0 D8 E9 W
}5 M4 I" W; T& g% d
}6 k& X. ]! b7 q) x6 J) v8 X) k
···································································
# Z1 p1 B, [4 `$ a# i* ?先补上这样一个信息提示:* \1 y, c/ Q$ h  @4 ]) w0 l# s3 m
上面的源码就很容易理解了,/ b# B( m" M. S; A- j8 F3 }
SERIAL_TX, SERIAL_RX分别用的是PA_2 PA_3引脚,只需把这两个引脚接到TTL电平的RX、TX端,设置好波特率为9600,8个数据位, 无奇偶校验位 这些参加就可以了。
( ^# r; s5 ~5 r& w, [3 L首先找来我的USB转串口模块给接上:* {9 t% c, K: V' B" B
      然后点击mbed菜单栏的 Compile 按钮  s$ _' ~5 e4 @4 O
很快就会弹出执行编译的窗口:
1 w$ c* c' q+ L( [) [# B当编译成功后,很快弹出一个这样界面,提示让我下载   **.bin文件:
8 N- q7 W. E% J+ d然后我就点击了下载.bin文件。之后该如何将.bin文件烧录到开发板中?超级方便,把.bin文件,直接复制到Nucleo  F302R8开发板的存储盘中,复位一下板子就可自动运行程序了。如果要更换其他程序,只需将新的.bin文件再次拖进Nucleo开发板的盘符中就行 了,它会自动覆盖原程序。, B( P1 L% Q/ J* R- W  h$ E
在笔记本电脑的硬件设备管理器中找到USB转的串口号是com18
9 f7 z8 y1 H8 M9 ^* v  r打开串口调试软件SecureCRT,设置好串口通讯参数
; k+ f6 j: j  N; I0 E- G  C点击connect,同时用手按了一下板子的复位按钮,看到输出效果了:8 H+ `) E6 @% B% {: }6 \9 K
至此,我已经进行了一次简单的mbed编程体验。用一句话形容,就是so easy!) _* s2 B# ]3 o* S
不过,也可以看出,用mbed只能进行简单的编程,不能像Keil、IAR那样进行代码调试。如果是较复杂的程序,也不知道mbed是否能抗的住,但是mbed上面的很多简单例程是很方便用户学习使用的。% r+ b8 G7 ?0 K) ^' V
我以前喜欢用keil ,现在笔记本上安装的是keil 5.* l( g; N8 P% g" O8 A
打开keil 5,' z; T& Y, `0 I! G( h) Y
点击Pack Installer ;" n) C) x) o7 K! V  O
在打开的Pack Installer界面中,; Y: F) y* w5 P1 v; {8 n" i
很容易看到,Devices ,展开的菜单中有 STMicroelectronics ,6 J9 U" |( t; |9 M, h2 K
令人兴奋的是 这里有支持STM32F3 Series .
: @4 L/ N: Q4 ^" B) V7 h! W. I6 v另外选择 Boards,$ g/ s5 a9 j* w2 Z! n; n- o
可以看到Keil 5 ,支持的NUCLEO 系列板子的有F030R8等,表示没有支持Nucleo F302R8 的库文件。相信不用多久我们就可以在可以在ST的官方资料库中找到Nucleo F302R8的库文件及例程。  t( `1 j1 c8 v  }" i+ r
小结:
6 w+ G; m( g* {1 f& S3 s* M体验了意法半导体全新系列的Nucleo F302R8开发板,喜欢它精致、乳白色的外观,带DSP、  FPU单元、LQFP64包的功能性能强大的STM32F302R8T6微控制器,板卡兼容Arduino  Shield、引出全部的I\O扩展口,板载了ST-LINK,支持ARM  mbed在线编译器,方便的U盘式下载程序,也可用keil等软件编程调试,让人耳目一新。真的是性价比超高的一款板子,你值得拥有!
8 Z& N4 R1 {/ E
! }  f% I6 L6 [' e  D7 i1 r原文网址: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驱动呢,测评帮我找到啦
- p; z/ ]; S7 H% c6 z( I1 h! L
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评测

初看,有点像在云里雾里;! m% `9 T9 W" D4 s  ^% I4 n. B
留个记号,下次接着学习。
沐紫 回答时间:2014-7-24 09:33:46

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

回复第 8 楼 于2014-07-23 09:04:20发表:
  n! o9 q0 ^+ P) ]  u% m大家好!我是木子鱼,欢迎大家浏览我的文章:http://www.eeboard.com/tutorials/st_stm32f302r8-nucleo_evaluation/   喜欢请点赞!谢谢支持! 
% d0 J' V) v4 }/ V7 f0 ~5 H7 k8 ?7 q& ~$ ^. P: K3 U, F" U+ k9 }
作者出现了,绝对支持!!!!
霹雳之火 回答时间: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 手机版