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

【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

[复制链接]
巅峰残狼 发布时间:2014-8-23 20:18
  图片不知道为什么不显示,我也不知道怎么弄,所以我把原稿上传了上来,希望能帮助需要的朋友       
8 |- v8 N4 u# e0 Z3 S
 

! N5 R, X) V' _2 w% i 3 `- L' [5 ~( m4 a8 v+ U, a& u& Z  v
 
; s5 u' e( ^: o3 }" Y1 }      从昨天开始收到板子,心里就异常兴奋,但是是在公司也不敢打开看一眼,最终还是忍到了下班。下班之后就迫不及待的打开板子原理图粗略的看一下,看有没有需要修改的地方,趁着公司有工具稍稍加工之后就可以在周末好好的玩玩了。对照着板子我自己加上了一个外部晶振(个人习惯喜欢用外部晶振)和两个电阻,其实这俩电阻只是起连接作用,没办法,晶振两引脚与MCU的引脚是用0欧电阻连接的,如果想用外部晶振,这个必须焊接。之后草草收拾一下快速飞奔回家,简单吃完饭之后就迫不及待的按照板子外壳上的提示操作了起来。期间也在咱们社区上搜索了一些资料,总算顺利的上手了。当然这都是基于mbed编译器的。对我来说这种编译方式确实很新鲜,以前开发的时候都是基于keil平台,从234到现在的keil5,一直很顺手。这次突然用这种方式当然感觉很新颖。抱着好奇的心开始了一晚上的学习。经过一晚上的熟练之后,感觉这种方式在开发更大程序的时候不是很方便,当然可能是我能力的问题,并没有接触到在线编译器的精髓。最后索性不在纠结于这个问题,之后开始想用keil5开发。, v0 G1 {  ]; a
       第二天,也就是今天,参照一起开发103系列CPU的经验,开始了nucleo板工程的建立。虽然302103系列建立工程大同小异,但是总是有一些区别。还是不可避免走了一些弯路,不过感谢社区的朋友给予了帮助,这次顺利的工程建立成功,同时完成了第一个小实验,LED灯的闪烁实验,这里特别感谢:合肥晓宇 深圳一颗苹果 两位朋友的帮助。现在开始写下我建立工程的详细步骤,以帮助后来初学者(我也是初学者,哈哈)
0 z+ i1 `/ K# K8 L! d# K 
' _. D, `4 G7 z+ g1.       准备工作1:安装keil5开发平台,可去咱们群(330177207)里下载,由我师兄上传,特别感谢!
! F1 c) E+ T( E: f* h2.       准备工作2:上步安装的软件并不支持nucleo开发板的开发,需要安装补丁方可,这里我走了弯路,在 合肥晓宇 的提醒下才知道还有补丁的存在。补丁就在你所下载的固件里:固件包下载地址:https://www.stmcu.org.cn/download/index.php?act=ziliao&id=149#786; h1 J- V9 t. G0 J% D
解压固件包:
6 K8 ^8 o& {# m7 xSTM32_Nucleo_FW_V1.2.1----àUtilities---àThird_Party--àMDK-ARM_STM32F302R8_Patch即可找到,安装即可,不过安装位置需要跟你安装keil5的位置一致。0 q" t( k8 T% W2 I0 H) z1 l
3.       工程建立
3 v4 s0 N( V& V1.  新建工程目录文件夹,名称自己定,这里我定为:LED 闪烁" F. \: d  `8 I. \
2.  在新建目录文件夹下新建3个子文件夹,分别命名为:LibrariesProjectUser$ \7 u6 ]; @# S3 A
3.  Project文件夹下再建立3个子文件夹,分别命名为:OBJLISTPRO* L8 A2 m  B8 L% c+ I/ c! o
4.  User文件夹下新建2个子文件夹,分别命名为:INCSRC
, z2 A1 ~- b- J5.  将刚才下载的固件库目录下:STM32_Nucleo_FW_V1.2.1—>LibrariesàCMSISSTM32F30x_StdPeriph_Driver全部复制到刚才所建工程目录的Libraries5 L1 A" o  A/ Z. \4 \
6.  将固件库目录下:STM32_Nucleo_FW_V1.2.1—> Projects—> NUCLEO-F302R8à IO_Toggleà system_stm32f30x.c文件复制所建工程下的User文件夹下的SRC文件夹下,同时新建一个main.c文件,什么都不写8 ~: [; _  i8 T3 [- D2 J& Q
7.  将固件库目录下:STM32_Nucleo_FW_V1.2.1—> Projects—> NUCLEO-F302R8à IO_Toggleà stm32f30x_conf.h文件复制到所建工程目录下的User文件夹下的INC文件夹下
- C6 a" H$ `6 N" ?* P5 c7 w8.  打开keil5软件,一般安装之后桌面会有快捷方式。点击菜单栏的Project—>New uVision Project,将工程保存在所建目录下的Project文件夹下的PRO文件夹下,工程名命名为LED闪烁(根据自己定,可不与所建工程目录名相同)' U7 t! c' [' y5 S( b7 n* w
9.  当点击保存后弹出选择CPU类型菜单栏
% v  ]$ O  E/ L3 Q( Q7 e# Q
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image001.jpg

, V7 u$ H5 t2 z$ m' f2 n1 `  e; M
点击“OK”根据需要选择CPU类型
/ A+ a* p- F% O# y1 O( n8 W7 F
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image002.jpg

5 G! r5 {+ Q+ p# }& R/ h10.选择https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image003.jpg  N# x- j1 Q/ C+ _1 O
品字按钮,或者点击工程栏Project下的Target 1,右键选择“Manage Project Items”进入文件树添加菜单栏,最终添加目录如下:
, z1 w$ D; F  A6 S% {+ A
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image005.jpg

5 z- f* y: K; }7 ^% c11.接下来将.c文件一一添加到所对应的组中。选中User,点击右下角的Add Files按钮,将工程目录下的User文件夹下的SRC下的3个.c文件加入到User分组中,如下所示:, H) R5 C2 O* ~
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image006.jpg

# v, G- K2 D0 w* }: n  j! ?" w. F) d
 

7 U$ ^1 b& I$ N6 ~- J) @7 C
 
: O" P: @' n% Z$ ^6 B4 S+ w
选中STM32_Lib,将工程目录下的Libraries下的STM32F30x_StdPeriph_Driver文件夹下的src文件夹下的本次试验能够用到的.c文件加入到STM32_Lib组中,如下图所示:
' y5 |8 O0 |# A" K& n. @- v' w, ^
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image007.jpg

) ^& p+ H" B7 z! h0 k/ d1 Z; ?
选中CMSIS,将工程目录下的Libraries下的CMSIS下的Device下的ST下的STM32F30x下的Source下的Templates下的arm下的startup_stm32f302x8.s文件加入到CMSIS分组中,这里可能显示不出来,此时需要你点击文件类型为All Files才可显示(默认是.c类型)。

1 `; x7 h! v1 U3 k1 Q
 

, `/ ]* c4 O0 u% g, i6 T
12.到此文件都已添加完毕,点击OK退出添加,此时在工程栏Project下可看到如下文件:
  `4 Z6 T+ |. K5 Q. c
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image008.jpg

+ U+ y! Z: d9 V% b( M1 K" D% d
 

$ q  q/ S3 z% v/ k
13.点击保存所建工程后,退出keil5开发平台,将建立在桌面上的工程目录只读属性去掉。再次进入keil工程,此时从工程目录下的project目录下的PRO目录下进入
) n% N3 c, ~' C; k
 

- |9 U/ Y0 T5 X: I3 V/ U14.点击https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image009.jpg魔术棒按钮,或者点击工程栏Project下的LED 闪烁(刚才的Target 1),右键选择“Options for Target”进入配置界面
! _$ W% u  y8 }% L: F5 J4 V" }. k9 BTarget选项下:晶振选择8MHz,其他默认
- `( n+ T1 d: k8 V, H4 ~$ f, j0 oOutput选项下:点击:Select Folder For Objects,将其指向工程目录下的project文件夹下的OBJ文件夹下,同时在 Create HEX File选项栏前打勾
- ?$ [  S- Q5 I6 JListing选项下:点击:Select Folder For Listing,将其指向工程目录下的project文件夹下的LIST文件夹下$ ]( x& H6 A+ Z6 j" \5 [* M
C/C++选项下:" q: X8 ?1 f* k9 L
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image011.jpg

' V7 P4 m: o7 a$ c3 q; a0 nDefine中复制进:USE_STDPERIPH_DRIVER,在下面的Include Paths栏中,将头文件添加进工程中,点击此按钮即可添加
! c) @, R& M" t
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image012.jpg
- l4 b$ _- |/ i$ f
添加结果如下图所示:
- b  P5 f% @( l! Z* O) y. J$ V
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image013.jpg
) H+ O) a6 f- U& `
 

9 U' O/ }1 F+ i- c# F2 G 
# x5 i/ D' r* W5 z0 RDebug选项下:选择右侧的Use按钮,在下拉列表中选择:ST-Link Debugger,然后点击右侧的Setting按钮,选择SW模式,如下所示:% E7 s8 I4 ^" `+ a: z
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image014.jpg
, v7 d3 a- [' O. X
 

8 F9 R! v' X+ f) ^% U2 `# V4 k7 l
Utilities选项下:点击Setting按钮
  c4 }; b5 v- }9 m9 N
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image015.jpg

* p2 \, p# R, m6 N. y3 @2 Z5 m
点击Add,选择64Kflash,如图所示:
6 U; X5 t6 U7 p" S9 `! z" g
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image016.jpg

" X/ y2 D# P" S$ c" j, O
点击Add,点击确定,点击OK,至此魔术棒栏目下配置完成。保存。

- N/ O2 h( X' D- w0 i: w# @* [
 
7 L) B: K" z8 C
15.双击打开project工程,User下的main.c文件,在main.c贴如如下代码:
$ {: b' F; y4 n4 w2 y) Z5 O$ q
#include "STM32F30x.h" 

4 F/ z+ ~* v0 u& o7 a
unsigned int i=0;

& X& z" I" ^5 l- [: z
void GPIO_Config(void);
  ~$ U) r% ]( B& }7 T
int main(void)
" u$ c( A3 e, R' T
{
: J# B( U- j$ S. m! {
        GPIO_Config();

' E( F( [- K' U. y; p
  while (1)
: h% F- g. N- d3 A
    {
! N5 @- b* U  J" N4 t* f
       GPIO_SetBits(GPIOB,GPIO_Pin_13);
! ~  x! R8 Z. o. M4 F0 `
       for(i=0;ihttps://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image017.jpg
5 w% C* r% l/ l9 A8 S5 Z4 h
 # q3 q& a9 [# I0 s/ K
编译结果如下,0错误,0警告
) I5 v  R7 L9 ^# X7 v' x
https://www.stmcu.org.cn/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image018.jpg
& r- k" }4 G9 s+ r" s
将程序下载到目标板中,即可看到nucleo板的LD2灯不间断的闪烁,至此工程建立完毕,以后做其他外设程序时直接在此工程下添加文件即可!

8 E. ^7 W8 o% U* L; f

LED闪烁.rar

下载

4.72 MB, 下载次数: 262

【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立(详解)及LDE闪烁实验.doc

下载

922.5 KB, 下载次数: 248

收藏 评论29 发布时间:2014-8-23 20:18

举报

29个回答
快乐的石头 回答时间:2014-10-28 23:21:04
除了给好评,还能说什么?牛X
wyxy163@126.com 回答时间:2014-10-29 11:17:07
提示: 作者被禁止或删除 内容自动屏蔽
天天晓宇 回答时间:2014-8-23 20:38:16

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

共同学习,希望继续出评测帖
abo0811 回答时间:2014-8-23 21:16:16

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

我是小白,请问楼主怎么将程序下载进去啊?
巅峰残狼 回答时间:2014-8-23 21:28:57

回复:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

回复第 3 楼 于2014-08-23 21:16:16发表:
+ O! O, o% f+ r7 n我是小白,请问楼主怎么将程序下载进去啊?7 e+ T7 e) C! f/ Q+ K
两种方式:1.点击downloda按钮  2.dubug按钮进入调试
# o; e7 F% Y; Z 
霹雳之火 回答时间:2014-8-24 07:54:54

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

适合初学者的好教程2 F5 \0 o3 G1 z6 h$ l6 M' U- w/ Z
期待后续更精彩
霹雳之火 回答时间:2014-8-24 08:16:38

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

图片要从本地上传
巅峰残狼 回答时间:2014-8-25 11:17:21

回复:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

回复第 6 楼 于2014-08-24 08:16:38发表:9 H7 F4 e9 d9 k5 j6 ~0 V
图片要从本地上传- @% Y+ N0 a2 l$ d' a
 
7 R* `" q$ c  U9 o* O: v8 R谢谢,已经按照你说的成功了,呵呵
( K2 A( T7 ^+ C9 R! v& y 
三生石-350221 回答时间:2014-8-25 13:47:54

回复:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

 
qzwx741 回答时间:2014-8-25 20:46:43

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

刚拿到板子,学习了,谢谢
wudianjun2001 回答时间:2014-8-25 21:16:33

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

图片看不到啊。。。
Robot@HCS 回答时间:2014-8-25 21:58:32

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

挺详细的  就是图片没显示!
巅峰残狼 回答时间:2014-8-25 22:30:51

回复:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

回复第 11 楼 于2014-08-25 21:58:32发表:
' ?# f' k, i" ], }挺详细的  就是图片没显示!" W- c$ [- b- J2 X; d3 F
请下载附件,原稿,里面有图片
0 X% _, J+ E' m* t& J; O 
巅峰残狼 回答时间:2014-8-25 22:31:14

回复:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

回复第 10 楼 于2014-08-25 21:16:33发表:/ S( [: t- R! J
图片看不到啊。。。  Y, ~" K8 b' t# h  ~
请下载附件,原稿,里面有图片
3 z- e  e  H/ ^: t* Y7 } 
yceast 回答时间:2014-8-26 15:34:45

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

学习
: u) o: T1 K! V: \Nucleo板开发
outstanding1573 回答时间:2014-9-5 08:03:37

RE:【Nucleo板开发日志】+Nucleo(STM32302R8)基于keil5开发平台的工程建立步骤详解及LDE闪烁实验

你是直接复制的吧 图片要一个个的传哦
12下一页

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版