1/6
wwwblogs/afeibfp/archive/2013/01/08/2850408.html <2013年1月>日一二三四五六30311234
5
678910111213141516171819202122232425262728293031123456789
昵称:afeibfp 园龄:2年5个月粉丝:0关注:0+加关注
搜索
看 谷歌搜索
常用链接
我的随笔
我的评论我的参与最新评论我的标签更多链接
我的标签
51单片机(2)多字节除法(2)汇编(2)
随笔分类(2)
转发(2)
随笔档案(16)
2013年1月 (14)2011年9月 (2)
最新评论
1. Re:014:针对mdk 中STM32程序无法使用printf ,产生停留BEAB BKPT 0xAB 处问题的解决(转)
不点那个MiclroLIB 就行了
-
-blakeliu
阅读排行榜
1. 001:无符号双字节除以单字节(51单片机,汇编源码)(418)
2. 004:STM32启动文件详解及SystemInit 函数分析(转)(389)
3. 014:针对mdk 中STM32程序无法使用printf ,产生停留BE AB BKPT 0xAB 处问题的解决(转)(312)
4. 010:请教STM32用JLINK V8 SWD 输出调试信息到ITM V iewer 的问题(转)(208)
5. 009:semihost/ITM 机制浅析以及使用JLINK 通过ITM 调试stm32单片机(转)(190)
评论排行榜
1. 014:针对mdk 中STM32程序无法使用printf ,产生停留BE AB BKPT 0xAB 处问题的解决(转)(1)
2. 013:ADS semihosting 与硬件重定向(转)(0)
3. 012:Keil 调试技术(转)(0)
4. 011:Nuvoton(新唐) Cort ex M0 使用semihost 输入输出办法(转)(0)
5. 010:请教STM32用JLINK V8 SWD 输出调试信息到ITM V iewer 的问题(转)(0)
推荐排行榜
博客园首页新随笔联系管理订阅 随笔- 16  文章- 0  评论- 1
afeibfp
004:STM32启动文件详解及SystemInit 函数分析(转)
1 ;先在R A M 中分配系统使用的栈,R A M 的起始地址为0x 2000_0000
2 ;然后在R A M 中分配变量使用的堆
3 ;然后在C O D E 区(f l a s h )分配中断向量表,f l a s h 的起始地址为0x 0800_0000,该中断向量表就从这个起始地址开始分配
4 ;分配完成后,再定义和实现相应的中断函数,
5 ;所有的中断函数全部带有[w e a k ]特性,即弱定义,如果编译器发现在别处文件中定义了同名函数,在链接时用别处的地址进行链接。
6 ;中断函数仅仅实现了R e s e t _H a n d l e r ,其他要么是死循环,要么仅仅定义了函数名称  7
8 ;S T M 32被设置为从内部F L A S H 启动时(这也是最常见的一种情况),当S T M 32遇到复位信号后,
9 ;从0x 0800_0000处取出栈顶地址存放于M S P 寄存器,从0x 0800_0004处取出复位中断服务入口地址放入P C 寄存器, 10 ;继而执行复位中断服务程序R e s e t _H a n d l e r ,
11 ;R e s e t _H a n d l e r 仅仅执行了两个函数调用,一个是S y s t e m I n i t ,另一个__m a i n , 12 ;S y s t e m I n i t 定义在s y s t e m _s t m 32f 10x .c 中,主要初始化了S T M 的时钟系统:H S I ,H S E ,L S I ,L S E ,P L L ,S Y S C L K ,U S B C L K ,A P E C L K 等等.
13 ;__m a i n 函数由编译器生成,负责初始化栈、堆等,并在最后跳转到用户自定义的m a i n ()函数,来到C 的世界。 14  15
16 S t a c k _S i z e      E Q U      0x 00000400  ;//定义堆栈大小
17                A R E A    S T A C K , N O I N I T , R E A D W R I T E , A L I G N =3  ;//定义一个数据段 按8字节对齐    ;A R E A  伪指令用于定义一个代码段或数据段 N O I N I T :指定此数据段仅仅保留了内存单元,而没有将各初始值写入内存单元,或者将各个内存单元值初始化为0
18 S t a c k _M e m        S P A C E    S t a c k _S i z e    ;//保留S t a c k _S i z e 大小的堆栈空间 分 配连续 S t a c k _S i z e  字节的存储单元并初始化为 0
19 __i n i t i a l _s p  ;//标号,代表堆栈顶部地址,后面有用 20                                                    21 ; <h > H e a p  C o n f i g u r a t i o n
22 ;  <o >  H e a p  S i z e  (i n  B y t e s ) <0x 0-0x F F F F F F F F :8> 23 ; </h >
24 H e a p _S i z e        E Q U      0x 00000200    ;//定义堆空间大小
25                A R E A    H E A P , N O I N I T , R E A D W R I T E , A L I G N =3  ;//定义一个数据段,8字节对齐 26 __h e a p _b a s e      ;//标号,代表堆末底部地址,后面有用
27 H e a p _M e m        S P A C E    H e a p _S i z e      ;//保留H e a p _S i z e 的堆空间  28 __h e a p _l i m i t      ;//标号,代表堆界限地址,后面有用
29    ;P R E S E R V E 8 指令指定当前文件保持堆栈八字节对齐。 它设置 P R E S 8 编译属性以通知链接器。 30    ;链接器检查要求堆栈八字节对齐的任何代码是否仅由保持堆栈八字节对齐的代码直接或间接地调用。 31                P R E S E R V E 8 ;//指示编译器8字节对齐
32                T H U M B    ;//指示编译器以后的指令为T H U M B 指令
33  34 ;中断向量表定义
35 ; V e c t o r  T a b l e  M a p p e d  t o  A d d r e s s  0 a t  R e s e t
36                A R E A    R E S E T , D A T A , R E A D O N L Y    ;//定义只读数据段,其实放在C O D E 区,位于0地址
37                E X P O R T  __V e c t o r s    ;E X P O R T :在程序中声明一个全局的标号__V e c t o r s ,该标号可在其他的文件中引用
38                E X P O R T  __V e c t o r s _E n d  39                E X P O R T  __V e c t o r s _S i z e
40 __V e c t o r s        D C D      __i n i t i a l _s p                ; T o p  o f  S t a c k  ;给__i n i t i a l _s p 分配4字节32位的地址0x 0
41                D C D      R e s e t _H a n d l e r              ; R e s e t  H a n d l e r  ; 给标号R e s e t  H a n d l e r 分配地址为0x 00000004
42                D C D      N M I _H a n d l e r                ; N M I  H a n d l e r  ; 给标号N M I  H a n d l e r 分配地址0x 00000008
43                D C D      H a r d F a u l t _H a n d l e r          ; H a r d  F a u l t  H a n d l e r  44                D C D      M e m M a n a g e _H a n d l e r          ; M P U  F a u l t  H a n d l e r  45                D C D      B u s F a u l t _H a n d l e r            ; B u s  F a u l t  H a n d l e r  46                D C D      U s a g e F a u l t _H a n d l e r          ; U s a g e  F a u l t  H a n d l e r
47                D C D      0                          ; R e s e r v e d  ; 这种形式就是保留地址,不给任何标号分配 48                D C D      0                          ; R e s e r v e d  49                D C D      0                          ; R e s e r v e d  50                D C D      0                          ; R e s e r v e d  51                D C D      S V C _H a n d l e r                ; S V C a l l  H a n d l e r
网站点评
100%
52D C D D e b u g M o n_H a n d l e r;D e b u g M o n i t o r H a n d l e r
53D C D0;R e s e r v e d
54D C D P e n d S V_H a n d l e r;P e n d S V H a n d l e r
55D C D S y s T i c k_H a n d l e r;S y s T i c k H a n d l e r
56;E x t e r n a l I n t e r r u p t s
57D C D W W D G_I R Q H a n d l e r;W i n d o w W a t c h d o g
58D C D P V D_I R Q H a n d l e r;P V D t h r o u g h E X T I L i n e d e t e c t
59D C D T A M P E R_I R Q H a n d l e r;T a m p e r
60D C D R T C_I R Q H a n d l e r;R T C
61D C D F L A S H_I R Q H a n d l e r;F l a s h
62D C D R C C_I R Q H a n d l e r;R C C
63D C D E X T I0_I R Q H a n d l e r;E X T I L i n e0
64D C D E X T I1_I R Q H a n d l e r;E X T I L i n e1
65D C D E X T I2_I R Q H a n d l e r;E X T I L i n e2
66D C D E X T I3_I R Q H a n d l e r;E X T I L i n e3
67D C D E X T I4_I R Q H a n d l e r;E X T I L i n e4
68D C D D M A1_C h a n n e l1_I R Q H a n d l e r;D M A1C h a n n e l1
69D C D D M A1_C h a n n e l2_I R Q H a n d l e r;D M A1C h a n n e l2
70D C D D M A1_C h a n n e l3_I R Q H a n d l e r;D M A1C h a n n e l3
71D C D D M A1_C h a n n e l4_I R Q H a n d l e r;D M A1C h a n n e l4
72D C D D M A1_C h a n n e l5_I R Q H a n d l e r;D M A1C h a n n e l5
73D C D D M A1_C h a n n e l6_I R Q H a n d l e r;D M A1C h a n n e l6
74D C D D M A1_C h a n n e l7_I R Q H a n d l e r;D M A1C h a n n e l7
75D C D A D C1_2_I R Q H a n d l e r;A D C1&A D C2
76D C D U S B_H P_C A N1_T X_I R Q H a n d l e r;U S B H i g h P r i o r i t y o r C A N1T X
77D C D U S B_L P_C A N1_R X0_I R Q H a n d l e r;U S B L o w P r i o r i t y o r C A N1R X0
78D C D C A N1_R X1_I R Q H a n d l e r;C A N1R X1
79D C D C A N1_S C E_I R Q H a n d l e r;C A N1S C E
80D C D E X T I9_5_I R Q H a n d l e r;E X T I L i n e9..5
81D C D T I M1_B R K_I R Q H a n d l e r;T I M1B r e a k
82D C D T I M1_U P_I R Q H a n d l e r;T I M1U p d a t e
83D C D T I M1_T R G_C O M_I R Q H a n d l e r;T I M1T r i g g e r a n d C o m m u t a t i o n
84D C D T I M1_C C_I R Q H a n d l e r;T I M1C a p t u r e C o m p a r e
85D C D T I M2_I R Q H a n d l e r;T I M2
86D C D T I M3_I R Q H a n d l e r;T I M3
87D C D T I M4_I R Q H a n d l e r;T I M4
88D C D I2C1_E V_I R Q H a n d l e r;I2C1E v e n t
89D C D I2C1_E R_I R Q H a n d l e r;I2C1E r r o r
90D C D I2C2_E V_I R Q H a n d l e r;I2C2E v e n t
91D C D I2C2_E R_I R Q H a n d l e r;I2C2E r r o r
92D C D S P I1_I R Q H a n d l e r;S P I1
93D C D S P I2_I R Q H a n d l e r;S P I2
94D C D U S A R T1_I R Q H a n d l e r;U S A R T1
95D C D U S A R T2_I R Q H a n d l e r;U S A R T2
96D C D U S A R T3_I R Q H a n d l e r;U S A R T3
97D C D E X T I15_10_I R Q H a n d l e r;E X T I L i n e15..10
98D C D R T C A l a r m_I R Q H a n d l e r;R T C A l a r m t h r o u g h E X T I L i n e
99D C D U S B W a k e U p_I R Q H a n d l e r;U S B W a k e u p f r o m s u s p e n d
100D C D T I M8_B R K_I R Q H a n d l e r;T I M8B r e a k
101D C D T I M8_U P_I R Q H a n d l e r;T I M8U p d a t e
102D C D T I M8_T R G_C O M_I R Q H a n d l e r;T I M8T r i g g e r a n d C o m m u t a t i o n
103D C D T I M8_C C_I R Q H a n d l e r;T I M8C a p t u r e C o m p a r e
104D C D A D C3_I R Q H a n d l e r;A D C3
105D C D F S M C_I R Q H a n d l e r;F S M C
106D C D S D I O_I R Q H a n d l e r;S D I O
107D C D T I M5_I R Q H a n d l e r;T I M5
108D C D S P I3_I R Q H a n d l e r;S P I3
109D C D U A R T4_I R Q H a n d l e r;U A R T4
110D C D U A R T5_I R Q H a n d l e r;U A R T5
111D C D T I M6_I R Q H a n d l e r;T I M6
112D C D T I M7_I R Q H a n d l e r;T I M7
113D C D D M A2_C h a n n e l1_I R Q H a n d l e r;D M A2C h a n n e l1
114D C D D M A2_C h a n n e l2_I R Q H a n d l e r;D M A2C h a n n e l2
115D C D D M A2_C h a n n e l3_I R Q H a n d l e r;D M A2C h a n n e l3
116D C D D M A2_C h a n n e l4_5_I R Q H a n d l e r;D M A2C h a n n e l4&C h a n n e l5
117__V e c t o r s_E n d
118__V e c t o r s_S i z e E Q U__V e c t o r s_E n d-__V e c t o r s
wwwblogs/afeibfp/archive/2013/01/08/2850408.html
2/6
119A R E A|.t e x t|,C O D E,R E A D O N L Y;代码段定义
120
121;R e s e t H a n d l e r
122;利用P R O C、E N D P这一对伪指令把程序段分为若干个过程,使程序的结构加清晰
123R e s e t_H a n d l e r P R O C;过程的开始
124E X P O R T R e s e t_H a n d l e r[W E A K];[W E A K]弱定义,意思是如果在别处也定义该标号(函
数),在链接时用别处的地址。
125;如果没有其它定方定义,编译器也不报错,以此处地址进行链接。
126;E X P O R T提示编译器该标号可以为外部文件引用。
127I M P O R T__m a i n;通知编译器要使用的标号在其他文件
128I M P O R T S y s t e m I n i t
129L D R R0,=S y s t e m I n i t
130B L X R0;B X是A R M指令集和T H U M B指令集之间程序的跳转
131L D R R0,=__m a i n;使用“=”表示L D R目前是伪指令不是标准指令。这里是把__m a i n的地址给R O。
132B X R0;B X是A R M指令集和T H U M B指令集之间程序的跳转
133E N D P;过程的结束
134
135;D u m m y E x c e p t i o n H a n d l e r s(i n f i n i t e l o o p s w h i c h c a n b e m o d i f i e d)
136N M I_H a n d l e r P R O C
137E X P O R T N M I_H a n d l e r[W E A K]
138B.;原地跳转(即无限循环),
139E N D P
140H a r d F a u l t_H a n d l e r\
141P R O C
142E X P O R T H a r d F a u l t_H a n d l e r[W E A K]
143B.
144E N D P
145M e m M a n a g e_H a n d l e r\
146P R O C
147E X P O R T M e m M a n a g e_H a n d l e r[W E A K]
148B.
149E N D P
150B u s F a u l t_H a n d l e r\
151P R O C
152E X P O R T B u s F a u l t_H a n d l e r[W E A K]
153B.
154E N D P
155U s a g e F a u l t_H a n d l e r\
156P R O C
157E X P O R T U s a g e F a u l t_H a n d l e r[W E A K]
158B.
159E N D P
160S V C_H a n d l e r P R O C
161E X P O R T S V C_H a n d l e r[W E A K]
162B.
163E N D P
164D e b u g M o n_H a n d l e r\
165P R O C
166E X P O R T D e b u g M o n_H a n d l e r[W E A K]
167B.
168E N D P
169P e n d S V_H a n d l e r P R O C
170E X P O R T P e n d S V_H a n d l e r[W E A K]
171B.
172E N D P
173S y s T i c k_H a n d l e r P R O C
174E X P O R T S y s T i c k_H a n d l e r[W E A K]
175B.
176E N D P
177D e f a u l t_H a n d l e r P R O C
178E X P O R T W W D G_I R Q H a n d l e r[W E A K]
179E X P O R T P V D_I R Q H a n d l e r[W E A K]
180E X P O R T T A M P E R_I R Q H a n d l e r[W E A K]
181E X P O R T R T C_I R Q H a n d l e r[W E A K]
182E X P O R T F L A S H_I R Q H a n d l e r[W E A K]
183E X P O R T R C C_I R Q H a n d l e r[W E A K]
184E X P O R T E X T I0_I R Q H a n d l e r[W E A K]
wwwblogs/afeibfp/archive/2013/01/08/2850408.html
3/6
185E X P O R T E X T I1_I R Q H a n d l e r[W E A K]
186E X P O R T E X T I2_I R Q H a n d l e r[W E A K]
187E X P O R T E X T I3_I R Q H a n d l e r[W E A K]
188E X P O R T E X T I4_I R Q H a n d l e r[W E A K]
189E X P O R T D M A1_C h a n n e l1_I R Q H a n d l e r[W E A K]
190E X P O R T D M A1_C h a n n e l2_I R Q H a n d l e r[W E A K]
191E X P O R T D M A1_C h a n n e l3_I R Q H a n d l e r[W E A K]
192E X P O R T D M A1_C h a n n e l4_I R Q H a n d l e r[W E A K]
193E X P O R T D M A1_C h a n n e l5_I R Q H a n d l e r[W E A K]
194E X P O R T D M A1_C h a n n e l6_I R Q H a n d l e r[W E A K]
195E X P O R T D M A1_C h a n n e l7_I R Q H a n d l e r[W E A K]
196E X P O R T A D C1_2_I R Q H a n d l e r[W E A K]
197E X P O R T U S B_H P_C A N1_T X_I R Q H a n d l e r[W E A K]
198E X P O R T U S B_L P_C A N1_R X0_I R Q H a n d l e r[W E A K]
199E X P O R T C A N1_R X1_I R Q H a n d l e r[W E A K]
200E X P O R T C A N1_S C E_I R Q H a n d l e r[W E A K]
201E X P O R T E X T I9_5_I R Q H a n d l e r[W E A K]
202E X P O R T T I M1_B R K_I R Q H a n d l e r[W E A K]
203E X P O R T T I M1_U P_I R Q H a n d l e r[W E A K]
204E X P O R T T I M1_T R G_C O M_I R Q H a n d l e r[W E A K]
205E X P O R T T I M1_C C_I R Q H a n d l e r[W E A K]
206E X P O R T T I M2_I R Q H a n d l e r[W E A K]
207E X P O R T T I M3_I R Q H a n d l e r[W E A K]
208E X P O R T T I M4_I R Q H a n d l e r[W E A K]
209E X P O R T I2C1_E V_I R Q H a n d l e r[W E A K]
210E X P O R T I2C1_E R_I R Q H a n d l e r[W E A K]
211E X P O R T I2C2_E V_I R Q H a n d l e r[W E A K]
212E X P O R T I2C2_E R_I R Q H a n d l e r[W E A K]
213E X P O R T S P I1_I R Q H a n d l e r[W E A K]
214E X P O R T S P I2_I R Q H a n d l e r[W E A K]
215E X P O R T U S A R T1_I R Q H a n d l e r[W E A K]
216E X P O R T U S A R T2_I R Q H a n d l e r[W E A K]
217E X P O R T U S A R T3_I R Q H a n d l e r[W E A K]
218E X P O R T E X T I15_10_I R Q H a n d l e r[W E A K]
219E X P O R T R T C A l a r m_I R Q H a n d l e r[W E A K]
220E X P O R T U S B W a k e U p_I R Q H a n d l e r[W E A K]
221E X P O R T T I M8_B R K_I R Q H a n d l e r[W E A K]
222E X P O R T T I M8_U P_I R Q H a n d l e r[W E A K]
223E X P O R T T I M8_T R G_C O M_I R Q H a n d l e r[W E A K]
224E X P O R T T I M8_C C_I R Q H a n d l e r[W E A K]
225E X P O R T A D C3_I R Q H a n d l e r[W E A K]
226E X P O R T F S M C_I R Q H a n d l e r[W E A K]
227E X P O R T S D I O_I R Q H a n d l e r[W E A K]
228E X P O R T T I M5_I R Q H a n d l e r[W E A K]
229E X P O R T S P I3_I R Q H a n d l e r[W E A K]
230E X P O R T U A R T4_I R Q H a n d l e r[W E A K]
231E X P O R T U A R T5_I R Q H a n d l e r[W E A K]
232E X P O R T T I M6_I R Q H a n d l e r[W E A K]
233E X P O R T T I M7_I R Q H a n d l e r[W E A K]
234E X P O R T D M A2_C h a n n e l1_I R Q H a n d l e r[W E A K]
235E X P O R T D M A2_C h a n n e l2_I R Q H a n d l e r[W E A K]
236E X P O R T D M A2_C h a n n e l3_I R Q H a n d l e r[W E A K]
237E X P O R T D M A2_C h a n n e l4_5_I R Q H a n d l e r[W E A K]
238W W D G_I R Q H a n d l e r
239P V D_I R Q H a n d l e r
240T A M P E R_I R Q H a n d l e r
241R T C_I R Q H a n d l e r
242F L A S H_I R Q H a n d l e r
243R C C_I R Q H a n d l e r
244E X T I0_I R Q H a n d l e r
245E X T I1_I R Q H a n d l e r
246E X T I2_I R Q H a n d l e r
247E X T I3_I R Q H a n d l e r
248E X T I4_I R Q H a n d l e r
249D M A1_C h a n n e l1_I R Q H a n d l e r
250D M A1_C h a n n e l2_I R Q H a n d l e r
251D M A1_C h a n n e l3_I R Q H a n d l e r
wwwblogs/afeibfp/archive/2013/01/08/2850408.html
4/6
252D M A1_C h a n n e l4_I R Q H a n d l e r
253D M A1_C h a n n e l5_I R Q H a n d l e r
254D M A1_C h a n n e l6_I R Q H a n d l e r
255D M A1_C h a n n e l7_I R Q H a n d l e r
256A D C1_2_I R Q H a n d l e r
257U S B_H P_C A N1_T X_I R Q H a n d l e r
258U S B_L P_C A N1_R X0_I R Q H a n d l e r
259C A N1_R X1_I R Q H a n d l e r
260C A N1_S C E_I R Q H a n d l e r
261E X T I9_5_I R Q H a n d l e r
262T I M1_B R K_I R Q H a n d l e r
263T I M1_U P_I R Q H a n d l e r
264T I M1_T R G_C O M_I R Q H a n d l e r
265T I M1_C C_I R Q H a n d l e r
266T I M2_I R Q H a n d l e r
267T I M3_I R Q H a n d l e r
268T I M4_I R Q H a n d l e r
269I2C1_E V_I R Q H a n d l e r
270I2C1_E R_I R Q H a n d l e r
271I2C2_E V_I R Q H a n d l e r
272I2C2_E R_I R Q H a n d l e r
273S P I1_I R Q H a n d l e r
274S P I2_I R Q H a n d l e r
275U S A R T1_I R Q H a n d l e r单片机printf函数
276U S A R T2_I R Q H a n d l e r
277U S A R T3_I R Q H a n d l e r
278E X T I15_10_I R Q H a n d l e r
279R T C A l a r m_I R Q H a n d l e r
280U S B W a k e U p_I R Q H a n d l e r
281T I M8_B R K_I R Q H a n d l e r
282T I M8_U P_I R Q H a n d l e r
283T I M8_T R G_C O M_I R Q H a n d l e r
284T I M8_C C_I R Q H a n d l e r
285A D C3_I R Q H a n d l e r
286F S M C_I R Q H a n d l e r
287S D I O_I R Q H a n d l e r
288T I M5_I R Q H a n d l e r
289S P I3_I R Q H a n d l e r
290U A R T4_I R Q H a n d l e r
291U A R T5_I R Q H a n d l e r
292T I M6_I R Q H a n d l e r
293T I M7_I R Q H a n d l e r
294D M A2_C h a n n e l1_I R Q H a n d l e r
295D M A2_C h a n n e l2_I R Q H a n d l e r
296D M A2_C h a n n e l3_I R Q H a n d l e r
297D M A2_C h a n n e l4_5_I R Q H a n d l e r
298B.
299E N D P
300A L I G N;填充字节使地址对齐
301;*******************************************************************************
302;U s e r S t a c k a n d H e a p i n i t i a l i z a t i o n
303;*******************************************************************************
304;堆和栈的初始化
305I F:D E F:__M I C R O L I B;“D E F”的用法——:D E F:X就是说X定义了则为真,否则为假
306;如果定义了M I C O R L I B,
307E X P O R T__i n i t i a l_s p;则将栈顶地址,
308E X P O R T__h e a p_b a s e;堆起始地址赋予全局属性,
309E X P O R T__h e a p_l i m i t;堆末端界限地址赋予全局属性,使外部程序可调用
310
311E L S E;如果没定义__M I C R O L I B,则使用默认的C运行时库
312
313I M P O R T__u s e_t w o_r e g i o n_m e m o r y;;通知编译器要使用的标号在其他文件
__u s e_t w o_r e g i o n_m e m o r y
314E X P O R T__u s e r_i n i t i a l_s t a c k h e a p;声明全局标号__u s e r_i n i t i a l_s t a c k h e a p,这样外程序也
可调用此标号
315;则进行堆栈和堆的赋值,在__m a i n函数执行过程中调用
316
wwwblogs/afeibfp/archive/2013/01/08/2850408.html
5/6
6/6
wwwblogs/afeibfp/archive/2013/01/08/2850408.html
Copyright ©2013 afeibfp
afeibfp 关注 - 0
粉丝 - 0
+加关注
00
(请您对文章做出评价)
317    ;如果使用默认的C 库,程序启动过程中就不会执行该标号下的代码
318 __u s e r _i n i t i a l _s t a c k h e a p      ;标号__u s e r _i n i t i a l _s t a c k h e a p ,表示用户堆栈初始化程序入口319        ;//则进行堆栈和堆的赋值,在__m a i n 函数执行过程中调用。320                  L D R      R 0, =  H e a p _M e m      ;保存堆始地址
321                  L D R      R 1, =(S t a c k _M e m  + S t a c k _S i z e ) ;保存栈的大小322                  L D R      R 2, = (H e a p _M e m  +  H e a p _S i z e )  ;保存堆的大小323                  L D R      R 3, = S t a c k _M e m    ;保存栈顶指针324                  B X      L R
325                  A L I G N  ;填充字节使地址对齐326
327                  E N D I F 328
329                  E N D
绿通道: 好文要顶 关注我 收藏该文与我联系
« 上一篇:003:STM32系列命名规则(转)» 下一篇:005:DIY 解析STM32启动过程(转)
posted @ 2013-01-08 00:22 afeibfp 阅读(390) 评论(0) 编辑 收藏
刷新评论刷新页面返回顶部
注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。博客园首页博问新闻闪存程序员招聘知识库最新IT 新闻:
· Halo 4 成为美国市场 Microsoft Studios 最热卖游戏· 黑客二三事:熊猫烧香其实不入流
· 苹果开发能够自动适应不同耳型的耳机技术,测量耳型优化耳机· 苹果为其类Waze 众包导航服务注册专利· Jeff Bezos 的十句话,生意场上的十堂课» 更多新闻...
最新知识库文章:
· 云计算服务模型,第 1 部分: 基础架构即服务(IaaS)· 企业云
· .Net 程序员学习Linux 最简单的方法· BPM 与SOA 的演进与展望· 程序员自我学习自我培训指南» 更多知识库文章...