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

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

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

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

这个当然了,人家是为了可以重用性和可以移植性为目标的,效率当然低了。6 y0 F5 b; w" m' {3 i- I
如果自己开发的话,难道比较大,时间太久了。
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发表:& R3 X( z! p; J& ~8 s
仔细研究了固件库,发现使用的代价,性能损失还是相当的大。& N  u- m. b* C: M7 t: y
激进点说,速度更快的Cortex-M3在使用了固件库后,将比7S更慢。1 I& y0 H; v6 o# b7 T0 ?
由于还没有完全研究过固件库的全部代码,不能完全下这个结论,但是从部分情况看,基本上脱不开这个顽疾。: g! C& l" m: J! \9 i
很想指责这个固件库的开发和设计者,完全丧失了M3内核的优势,浪费太多了。2 l2 q+ e0 [. s4 i5 L) `
我要尝试进行无固件库的开发,这个才是正真的传统开发手段,也许复杂一点,但我相信会很好。
% R0 L! a$ x& A2 O+ y2 V在此留个贴,慢慢记录无固件库的尝试过程。
6 f: s% I# J: [- L( I, i
$ {) h: j( q9 L+ T+ v( YIAR编译器传统的INC目录中包含有两个STM32的头文件
) \3 z! K4 T) Z* s分别是
- }+ }5 m+ s: `' g2 U  w, Hiostm32f10xxB.h
% N4 H' W+ c9 D* `; q( W# d$ `iostm32f10xxE.h( W- u9 ~4 H, k0 R; {% G7 _3 `  C
经过对比,E比B的头文件:APB 和 AHB 部分不同,增加了TIM5、6、7、8,UART4、5,ADC3,DMA2,SRAM、NOR,GPIOF,GPIOG,BKP,SPI3,FSMC,SDIO,DAC。
* p0 \+ l! k9 [7 N. A( x
; {& V9 s* X; @; m# L. ]% n$ L2 U也就是说 iostm32f10xxB.h 文件,适用于STM32F10xx6、STM32F10xx8、STM32F10xxB。
5 e! k! D3 I4 r1 w; S4 F6 p9 L+ n而 iostm32f10xxE.h 文件,适用于STM32F10xxC、STM32F10xxD、STM32F10xxE。% j8 q* }  M; V1 L1 M
/ m' G: R$ l' [; B( u
仔细研究了启动代码部分/ C% K; G9 Y( ]/ D
cortexm3_macro.s 文件可以不经修改,包含进项目中。(请有项目管理的ADD加入,不要用include包含)
) I6 _3 h" R- b/ A0 p$ K) f
' ^! q' v( R8 M' p( O! R4 P为了方便进行中断处理,将6 j- j$ ~+ V  w8 \( O) {
stm32f10x_vector.c4 A$ w/ J* s) K+ r: V: S
stm32f10x_it.c
/ W; m0 B& ~+ O( l: Gstm32f10x_it.h
, ?0 j7 h- p' ?) e' i' S三个文件进行脱离固件库的修改。然后Include进main文件。
& D0 }0 B% L6 _
9 m: ?; A* Y9 N) L好了,进行main文件的编写吧,已经不需要固件库了,对着 《STM32F10x参考手册》逐个来修改寄存器吧。2 C) E* C( [& B% [5 z
  E: L" t' ?" a# [( u+ i
main.c头部
% f, u7 y. @0 G  X. v3 N#include "iostm32f10xxB.h"
9 Q, q! h& r; b#include "stm32f10x_it.c"# j0 E4 j6 @4 T& {( c
#include "stm32f10x_vector.c"
1 O9 y( I9 w- ~4 k, w$ h以下附件为开源代码。

( p/ A; J9 g! O" R1 x依然是代码 , z  A0 D$ m* P9 H

* o. F2 z# G, s' b5 v是$ S3 U( f/ Q- I  i* ?/ m
这样的) s8 @# x+ _5 L
,各有利弊哦
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,放弃固件库的使用!


5 a; k6 w$ K  W/ \0 ?' R" n谢谢楼主分享
邱爷海滨 回答时间: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,放弃固件库的使用!

使用固件库对于初上手的人来说还是非常有用的,可以帮助新手尽快上手。8 b! ]& {( l( X. Q0 M3 p! k4 h& q2 ^
当然对高手来说,固件库的效率就太低

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版