请选择 进入手机版 | 继续访问电脑版

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

【经验分享】MDK5新建stm32l0xx(Cortex-M0)工程步骤

[复制链接]
STMCU小助手 发布时间:2021-11-15 22:02
目前,网络上关于stm32l0xx系列mcu的资料比较少,l0低功耗系列普遍应用了st公司新出的HAL库,由于没有中文资料,并且HAL库与原来的标准库有一些区别,因此开发起来有一定的难度。本文先从最基本的新建工程入手,后续将陆续记录关于stm32l051c8x的一些应用过程,记录开发过程中遇到的一些问题、思考及心得,以期在做导师项目的过程中最大限度的增添一些乐趣。给做项目的过程增加一点乐趣。新手记录,错误难免,也欢迎高手批评指正6 S+ `+ z& j' J5 P
第一步:ST官网下载固件库文件2 x! Z# q- O1 i; G! B- V
8 m7 w, Z% Z$ t% ~
首先从官网下载固件库文件包,顺便可以把datasheet等一并下载。文件包名称:en.stm32cubel0,drivers文件夹中,包含有Low Layer (LL) 和hardware abstraction layer (HAL)两种库,以及官方评估板的例程(BSP文件夹),例程虽然没有太多注释,但是对开发有很大的帮助。文件包的详细信息在Documentation文件夹的STM32CubeL0GettingStarted中有详细介绍。如图1所示:$ e  D% A! C% ]4 i6 G# b6 H

- o3 ]% R3 y  G0 T6 ]
20170110141650892.png
- k% N8 J# {+ ^- @5 K* B
0 {  S- k1 b! Y
  第二步:新建工程文件夹4 j/ n+ k' }# t' H1 E% w7 s( S1 k
# G3 z0 e+ {+ |- }- G
新建工程文件夹,文件夹下分别新建几个文件夹用于分类存放不同的应用文件。为了图方便,我直接将drivers文件夹复制到了新建工程文件夹下作为库文件,drivers中包含了库文件中的inc和src文件,CMSIS文件夹以及startup文件等,避免修改时出现文件指向错误。Drivers文件夹中很多用不到的文件直接删除即可。其他文件夹分别存放编译时产生的中间文件,工程文件等。* |% E" C' S/ [6 Z8 S
' K- f  o6 Y: r
第三步:打开MDK新建工程8 ?7 m4 p  N7 T% i. v/ f
' U/ l: i8 R. i6 v  }" Z
若MDK中没有安装L0系列的devices pack的话,需要在PackInstaller中安装STM32L0 Series包。如图2所示:
' U" R" A5 R  Q& G0 W
20170110141706172.png
& ?% v/ k* ?, r0 W9 }6 ^

; [3 L6 @+ b9 h9 q5 {9 j: G安装好pack之后,即可新建工程Project,选择所需device型号,如图3所示:
" _3 ]* t' N! J/ ~4 P) P1 }, H4 y! ^5 _
20170110141726236.png

0 Y! ?+ G/ J# p5 r. z9 c3 f
$ V3 V7 h6 m1 y  ?第四步:添加库文件
, E; w% S3 {) D# c: _
5 c# I  G- P7 _( j将project栏文件夹名称按照需要更改,并以此导入库文件,具体需要导入的文件如下图4所示,均从drivers中导入。导入后,drivers中的文件位置不能再做更改,否则会报错。; p% J% i: d2 @* N2 N3 l! n9 t

! j7 e1 X) y; z% i' q
20170110141818471.png

; D. n4 C# i7 q
$ ^6 ^) N- j5 V- V! L3 O0 E第五步:配置target选项卡
$ J0 M! h) _1 U$ Y) W/ j1 e5 l/ c/ T% f
    C/C++选项卡具体操作情况如下图5:0 w, y7 d; |  o8 J

. C3 U% X3 x/ \) i- l
20170110141835361.png
/ _6 B* \, W0 @; S8 E

. P' \, `7 l6 m5 v( H& sInclude Paths需要将所有包含头文件的文件夹都指向**aths中,否则编译时会找不到相关头文件。如图6所示:
# D; r0 k8 }5 a- a3 H, g+ M! ^3 s( Y# }" V. D. g" t+ V  i
20170110141855408.png
( ]2 k8 m9 C5 j/ z1 l
9 F2 v* `$ F5 |2 s: v+ l9 m
其他配置均与f系列类似,不再详述。0 N1 @4 N( N) M  A2 Y/ y
1 y1 y% i6 G0 Z: V/ O+ @7 }
其他:新建工程后,在编译过程中曾遇到“Undefined symbol xx(referred from xxx.o)”的报错,发现报错原因主要有两个:1、未将库文件添加齐全,可查询报错的变量在哪一个库文件中,将该库文件添加进来即可;2、头文件(xx.h)新建在Include Paths指向的文件夹外面了。; v' Y' [" n5 H% P
3 C$ e8 w+ G2 y/ Y+ D# N1 U
2 a) ]& q; ^* y8 E7 |' o
以上步骤,新手记录,错误难免,也欢迎高手批评指正。. P% B! D: B, ]/ U. S1 }
4 N) ~. t0 B% X4 Z9 s. q2 k! o+ y
( C1 O# D+ N& r! y+ B
, A8 H! U& j6 Q8 m1 a/ c% q/ O. s
收藏 评论0 发布时间:2021-11-15 22:02

举报

0个回答

所属标签

相似分享

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