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

stm32 固件库3.5的移植

[复制链接]
manhuami2007 发布时间:2011-10-7 10:29
      昨天试了试使用STM32固件库3.5,以前都是使用开发板里移植好的例程,所以整了一天才整明白,在这里给大家分享下我的经验,我还是个菜鸟,有说错的地方请大家指出来哦。
7 y/ Q8 u# h+ S; _: F' y8 }    我使用的是keil编译器。首先建立一个工程,在这个工程中加如4个组,我的4个组名分别是 user, startup, CMSIS, stdperiph_driver。user这个组里主要添加有关你自己工程的函数,有main.c , stm32f10x_conf.h(包含工程中要使用到的外设) , stm32f10x_it.c(中断函数) 。CMSIS中有core_cm3.c , system_stm32f10x.c 。这两个文件都是下载的库压缩包里的 ,所在目录为STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport  。startup 文件夹里存放stm32 的启动文件,在STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 这个文件夹下,因为我使用的芯片是stm32f107VC 是互联型芯片,所以我选择的启动文件是startup_stm32f10x_cl.s 这是个汇编文件。stdperiph_driver 中放的就是库函数了,在STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src 在这个文件里,把这个文件里的所有*.c文件都添加进去就行了。 对了这些文件的添加只需要添加*.c文件就行了,*.h文件在后面的编译会由编译器自动加上的,*.h的添加在后面会讲到的。
( q/ E9 H  i" J3 _    然后就是需要更改的文件了。这里的许多文件是只读的,要修改的时候得先在文件属性里去掉只读。主要更改就是stm32f10x.h ,根据自己的芯片去掉响应的/*  */ ,我用的是1 z0 ]" o* C3 X( o
1.jpg 3 K! {; P7 p6 D( Y
#define STM32F10X_CL ,即我去掉了倒数第二行的/*  */ 。还有下图的倒数第二行也去掉/*  */  。我传的图是去掉之后的,这个的意思是使用驱动库的意思。
  p( ?& M# r$ ]& U( l4 q  n 2.jpg 9 B. j4 R! u+ x! B3 o; H2 [  A
    对了,最好把下载的库文件中的Libraries 文件夹都复制到你的工程文件夹下,进行修改。而user中的文件可以直接复制库文件夹下的例程文件,它里面包含了上面提到的main.c , stm32f10x_conf.h, stm32f10x_it.c 这些文件 。5 K6 o" ?* `/ ]/ x6 B
    好了做完这些,就是编译的事情了,编译之前需要进行设置,打开target options 在c/c++中 include path 中添加用到的头文件的地址,这个你就自己根据所有头文件的地址一个一个的添加就好了。在Debug 和 Utilities中选择你的调试器,我用的是JLINK。确定之后就可以编译了,如果是用的例程文件的main.c别忘了修改外设的引脚哦,呵呵。
" C4 g( ~8 O+ n* P$ I   是不是编译成功了,现在你就能不依靠开发板的例程,自己根据stm32公司提供的例程来学习了。
1 收藏 1 评论29 发布时间:2011-10-7 10:29

举报

29个回答
木叶问天 回答时间:2015-7-31 16:33:18
刚好不知道怎么办
& E9 R" ^1 F& c! H  T2 p; G: C. C/ \4 i3 R5 \. [8 n( R
5 z; s2 e; d. p& N& E; u9 z+ H: R# H$ Q
废鱼 回答时间:2011-10-7 10:42:10

RE:stm32 固件库3.5的移植

谢谢楼主共享。可以多发表一些关于这方面的资料。
ways_H 回答时间:2011-11-9 00:11:21

回复:stm32 固件库3.5的移植

坚决注册个号来顶楼主~
mingjoeng 回答时间:2011-12-8 10:25:30

回复:stm32 固件库3.5的移植

请问楼主 3.5的固件也需要  stm32f10x_vector.c 这个文件码? 还是有其它代替该文件的
alan_bach 回答时间:2011-12-27 13:00:32

回复:stm32 固件库3.5的移植

看看
随笔随心 回答时间:2012-5-16 01:12:45

回复:stm32 固件库3.5的移植

呵呵,不错嗯嗯呐呐呐
yekang_lucky-36 回答时间:2012-5-29 18:56:35

RE:stm32 固件库3.5的移植

学习一下,找库文件
chinajieli 回答时间:2012-6-20 00:13:24

回复:stm32 固件库3.5的移植

chinajieli 回答时间:2012-6-20 00:14:45

回复:stm32 固件库3.5的移植

csjclh-338404 回答时间:2012-6-21 12:47:47

RE:stm32 固件库3.5的移植

太感谢了
熊贰嘎嘎 回答时间:2012-7-21 11:39:08

回复:stm32 固件库3.5的移植

3.5的库和以前的库不一样,里面没有NVIC和SysTick这两个文件,以前写和程序里面用的NVIC和SysTick的函数现在编程能这过,说是NVIC_Initstructure没定义,不知道各位这一点是怎么处理的,好像ST的例程里面没说呃
xcvzbff 回答时间:2012-8-1 16:20:08

RE:stm32 固件库3.5的移植

多谢楼主分享。。。。
liuyl 回答时间:2012-8-10 11:36:16

回复:stm32 固件库3.5的移植

他们的头文件都需要添加哪些呀
cangkuke 回答时间:2012-8-13 10:11:11

RE:stm32 固件库3.5的移植

回复帖子以表示感谢
tiao58-377560 回答时间:2012-8-16 14:03:15

RE:stm32 固件库3.5的移植

深圳信盈达嵌入式、单片机、ARM、MIPS、FPGA、Android培训!0 V; f2 g' g3 m: R. E" {
免费试听,满意后给您量身定制课程(包学会),快速提高您的技能!1 p/ v# p* Z. P, M; N4 l/ u1 T; E
教学特色:名师督学+工程师指导;项目案列解析+实际解决方案!
& \3 \+ a9 E( U/ i技术顾问:欧阳老师15989362803,QQ:2539424095
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版