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

【心得】用传统方法开发STM32,放弃固件库的使用!

[复制链接]
ST老少女 发布时间:2008-12-2 14:40
阅读主题, 点击返回1楼
收藏 评论1459 发布时间:2008-12-2 14:40
1459个回答
火雷达 回答时间:2011-10-24 16:01:19

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

这个当然了,人家是为了可以重用性和可以移植性为目标的,效率当然低了。
0 n" r8 D) R! h/ F如果自己开发的话,难道比较大,时间太久了。
hq_0519 回答时间:2011-10-25 17:23:05

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

学习学习学习学习
icesoar 回答时间:2011-10-30 21:09:26

回复:【心得】用传统方法开发STM32,放弃固件库的使用!

回复第 2 楼 于2008-12-02 06:41:45发表:
原帖由ST老少女于2008-12-02 14:40发表:
: B, W, G' U+ A  Y, X; W仔细研究了固件库,发现使用的代价,性能损失还是相当的大。+ X& o; ?9 d- `$ b8 f- Z1 p
激进点说,速度更快的Cortex-M3在使用了固件库后,将比7S更慢。1 ^* a. _8 ?. @; x! F
由于还没有完全研究过固件库的全部代码,不能完全下这个结论,但是从部分情况看,基本上脱不开这个顽疾。: q$ |5 v# g* r
很想指责这个固件库的开发和设计者,完全丧失了M3内核的优势,浪费太多了。
9 K9 Z& m* [+ V# \; s! @+ U我要尝试进行无固件库的开发,这个才是正真的传统开发手段,也许复杂一点,但我相信会很好。
7 ]  c+ u1 l1 U! |1 ~  J在此留个贴,慢慢记录无固件库的尝试过程。
: L- [3 m" `) c" J; t
5 {; A' L6 z- }" LIAR编译器传统的INC目录中包含有两个STM32的头文件
- d5 _9 t1 M$ K- A8 R$ A) D分别是0 r- A5 a/ i% `6 S+ f5 \8 r* R! p" a2 d5 y
iostm32f10xxB.h. \, |! f. V. R- ]' R* ~) J
iostm32f10xxE.h) H9 M2 D0 A3 h0 Q  g, O8 H
经过对比,E比B的头文件:APB 和 AHB 部分不同,增加了TIM5、6、7、8,UART4、5,ADC3,DMA2,SRAM、NOR,GPIOF,GPIOG,BKP,SPI3,FSMC,SDIO,DAC。$ a# F) A9 p+ I, u, @; _; b" \! h
$ \: }5 J, \2 d0 @% a0 O# C
也就是说 iostm32f10xxB.h 文件,适用于STM32F10xx6、STM32F10xx8、STM32F10xxB。( u4 `9 F& o( f  D% e. G* m" {
而 iostm32f10xxE.h 文件,适用于STM32F10xxC、STM32F10xxD、STM32F10xxE。, r2 l4 a5 e2 }- S( [9 F, O6 P

% N' J( a5 V: Z. y7 |) u; C5 }仔细研究了启动代码部分
8 O% N' F2 u  j* @" ], T- Kcortexm3_macro.s 文件可以不经修改,包含进项目中。(请有项目管理的ADD加入,不要用include包含); n, R& s4 i5 T
; f  H9 d! W0 K3 O. s" q
为了方便进行中断处理,将
4 w' g) Z. V* @- \stm32f10x_vector.c: Q& z  T* U3 N. @- u" T0 @* w
stm32f10x_it.c
) C/ M7 u1 `9 A8 Jstm32f10x_it.h  `1 R; `( |( u- g! v+ I: ~& X
三个文件进行脱离固件库的修改。然后Include进main文件。$ b" G1 N# q( {; _# x) }* q' D0 t. v& J4 p
! \  n: Y& d% s/ h
好了,进行main文件的编写吧,已经不需要固件库了,对着 《STM32F10x参考手册》逐个来修改寄存器吧。2 w$ _. E) z) Q" \4 C

5 n7 K! w2 \9 l3 K: Mmain.c头部- M, o! s( v1 Q: }3 B% r. g
#include "iostm32f10xxB.h"
: S% r! ^, o1 s5 g9 F$ F7 c: [#include "stm32f10x_it.c"
2 B- L1 P9 _( s/ o1 s/ w#include "stm32f10x_vector.c"/ o" u- j0 p/ ?0 p4 J
以下附件为开源代码。
4 ~# `/ p) P( t! O
依然是代码 
" \& ^* H) R/ L0 e9 x! X
8 w: {5 W" Q; r: k1 n; [3 V$ Y& _% s# x
这样的
2 y* m$ Y& z) ~8 T( [) ^,各有利弊哦
demon1924 回答时间:2011-11-2 14:22:29

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

新手学习中,试试好使不
alt115 回答时间:2011-11-2 21:10:22

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

看看看看........................
hwc1977 回答时间:2011-11-4 16:02:48

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

- h" ^" q, N: V0 J9 S
谢谢楼主分享
邱爷海滨 回答时间:2011-11-4 19:22:41

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

方法开发STM32,放弃固件库的使用!
congcaige 回答时间:2011-11-8 19:02:39

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

看看
80802680 回答时间:2011-11-8 19:37:15

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

学习学习,好好,
yubo2007 回答时间:2011-11-8 20:38:39

回复:【心得】用传统方法开发STM32,放弃固件库的使用!

还是不用库灵活方便!
foragain 回答时间:2011-11-14 17:02:23

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

值得学习
lixupeng-286501 回答时间:2011-11-14 18:34:50

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

好方法!! 正研究stm32寄存器
wenfang1026 回答时间:2011-11-14 20:35:55

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

学习学习。。。
gtembeded 回答时间:2011-11-17 17:49:30

RE:【心得】用传统方法开发STM32,放弃固件库的使用!

现在感觉库编的也不怎么样啊
grinbuddha 回答时间:2011-11-18 08:20:30

回复:【心得】用传统方法开发STM32,放弃固件库的使用!

使用固件库对于初上手的人来说还是非常有用的,可以帮助新手尽快上手。
3 r7 A. A: [6 I) ~, W) p, C当然对高手来说,固件库的效率就太低

所属标签

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