1 | =====================================================================
|
---|
2 | ARM-MvZbT˶
|
---|
3 | Last Modified: '13/04/07
|
---|
4 | =====================================================================
|
---|
5 |
|
---|
6 |
|
---|
7 | (1) εĢé^[QbgVXeÌíÞE\¬
|
---|
8 |
|
---|
9 | ARM-M˶ÍCARMVx-MA[LeN`ð^[QbgƵĢéDARMVx-MÍC
|
---|
10 | ARMÆÍÙÈèCARM½ßðÀsūȢ½ßCARM˶ƪ¯Ä¢éD
|
---|
11 |
|
---|
12 |
|
---|
13 | (2) gp·éJÂ«Æ®ìØµ½ðio[WCIvVj
|
---|
14 |
|
---|
15 | J[lÍGCCðp¢ÄRpC·éD®ìmFµ½o[WÍe^[Q
|
---|
16 | bg˶ÌhL
|
---|
17 | gÉLÚ·éD
|
---|
18 |
|
---|
19 |
|
---|
20 | (3) ^[Qbgè`ÌKè
|
---|
21 |
|
---|
22 | (3-1) f[^^ÉÖ·éKè
|
---|
23 |
|
---|
24 | f[^^Í arch/gcc/tool_stddef.h Åè`³êÄ¢éàeÅCfloat^Æ
|
---|
25 | double^ÍC»ê¼êIEEE754ÌP¸x®¬_Æ{¸x®¬_
|
---|
26 | Å éD
|
---|
27 |
|
---|
28 | (3-2) ÝÉÖ·éKè
|
---|
29 |
|
---|
30 | ÝnhÔÆÝÔÌÄC¼ÒÌÎ
|
---|
31 |
|
---|
32 | ÝnhÔÆÝÔÍCáO¶ÉIPSRÉZbg³êéáOÔ
|
---|
33 | ðp¢éDSYSTICKÍ15ÔÅCOÝÍ16Ô©çÌÔªèt¯çê
|
---|
34 | Ä¢éD
|
---|
35 |
|
---|
36 | ÝDæxÌiKiTMIN_INTPRIÌljC»ÌÝèû@
|
---|
37 |
|
---|
38 | ÝDæxÌiKÍCSoCÉn[hEFAIÉT|[g·éÝDæ
|
---|
39 | xrbgªÙÈéÌÅC^[Qbg˶ÉÙÈéD^[Qbg˶Å
|
---|
40 | ÍCÝDæxÌrbgiTBITW_IPRIjÆ»ÌÝDæxÌTuDæ
|
---|
41 | xÌrbgiTBITW_SUBPRIjðè`·éDerbgÌlÆÝèÂ\ÈDæ
|
---|
42 | xÌÍÍÍÌÊèÅ éD
|
---|
43 |
|
---|
44 | -(2^(TBIW_IPRI)) + (2^TBITW_SUBIPRI)) ` -1
|
---|
45 |
|
---|
46 | á¦ÎDæxÌrbg(TBITW_IPRI)ª8bitCTuDæxÌrbg
|
---|
47 | (TBITW_SUBIPRI) ª1bitÌêÍC-254 ` -1 ÌÍÍÅ éD
|
---|
48 |
|
---|
49 | ±ÌÍÍÅCJ[lÇàÌÝÌÅDæxiTMIN_INTPRIjð^[Q
|
---|
50 | bg˶ÅÝè·éD
|
---|
51 |
|
---|
52 | eÝÌÝDæxÍCCFG_INTÅTMIN_INTPRIÈãÌlðwè·éD
|
---|
53 |
|
---|
54 | dis_intÆena_intÌT|[gÌL³C»Ì§À
|
---|
55 |
|
---|
56 | dis_intÆena_intðT|[g·éD§ÀÍÁÉÈ¢D
|
---|
57 |
|
---|
58 | CFG_INŢÀÆg£i^[Qbgè`ÅgpÅ«éÝ®«j
|
---|
59 |
|
---|
60 | CFG_INŢÀÍÈC^[Qbgè`ÅgpÂ\ÈÝ®«ÍÁÉÈ
|
---|
61 | ¢D
|
---|
62 |
|
---|
63 | J[lÇOÌÝ
|
---|
64 |
|
---|
65 | J[lÇOÌÝðT|[g·éDwèû@ÍCÝDæxÌiK
|
---|
66 | Åwèµ½CT|[g·éÝDæxÌÅliŬljæèC
|
---|
67 | TMIN_INTPRIðå«Ýè·éÆCTMIN_INTPRIæèlª¬¢iDæxjÈ
|
---|
68 | ÝDæxðÝèµ½ÝðÝDæxƵĵ¤D
|
---|
69 |
|
---|
70 | J[lÇOÌÝÍOSÀsàÖ~ÉÈ鱯ÍÈiµ§ÉÍÝ
|
---|
71 | ÌoûŲZ¢æÔÖ~³êéjCݶÍCJ[lÌR[hðo
|
---|
72 | R¹¸ÉÄÑo³êéD
|
---|
73 |
|
---|
74 | J[lÇOÌÝÉηéCDEF_INH,CFG_INTÍT|[g·éD
|
---|
75 |
|
---|
76 | (3-3) CPUáOÉÖ·éKè
|
---|
77 |
|
---|
78 | CPUáOnhÔ
|
---|
79 |
|
---|
80 | CPUáOnhÔÆµÄÍCáO¶ÉIPSRÉZbg³êéCáOÔ
|
---|
81 | ðp¢éDeáOÌáOÔÍȺÌÊèÅ éD
|
---|
82 |
|
---|
83 | áO áOÔ
|
---|
84 | Reset 1
|
---|
85 | Non-makable Interrupt 2
|
---|
86 | Hard Fault 3
|
---|
87 | Memory Management 4
|
---|
88 | Bus Fault 5
|
---|
89 | Usage Fault 6
|
---|
90 | SVCall 11
|
---|
91 | Debug Monitor 12
|
---|
92 | PendSV 14
|
---|
93 |
|
---|
94 | ȨCResetÆCSVCallÉ¢ÄÍCJ[lªgp·é½ßC[U[Íg
|
---|
95 | p·é±ÆªÅ«È¢D
|
---|
96 |
|
---|
97 | (3-4) CPUbNEÝbN
|
---|
98 |
|
---|
99 | CPUbNÍCbasepriðTMIN_INTPRIÌDæxÌÝðÖ~·élÉÝè·
|
---|
100 | éDÝbNÍCFAULTMASKð'1'ÉÝè·é±ÆÅÀ»µÄ¢éD
|
---|
101 |
|
---|
102 | (3-5) «\]¿pVXeÌQÆÉÖ·éKè
|
---|
103 |
|
---|
104 | get_utmðT|[g·éD¸xÉÖµÄÍC^[QbgÉÙÈéD
|
---|
105 |
|
---|
106 | (3-6) X^[gAbv[`ÅÌú»àe
|
---|
107 |
|
---|
108 | X^[gAbv[`ÍCThread[hÅÄÑo³ê鱯ðOñƵĢ
|
---|
109 | éDÀsãCÝbNóÔiFAULTMASKðZbgjÆ·éDÝbN
|
---|
110 | óÔÍCJ[lÌú»I¹É·éDX^[gAbv[`ÅC
|
---|
111 | MSPðANeBuÈX^bNƵCMSPÌàeðú»·é½ßÉÍCINIT_MSP
|
---|
112 | ð^[Qbg˶Åè`·éD
|
---|
113 |
|
---|
114 | (3-7) xN^e[uItZbgÌú»
|
---|
115 |
|
---|
116 | vZbT˶Ìú»ÅCVector Table Offset Register ð^[Qb
|
---|
117 | g˶Ìú»[`ÅÝè·éDȨCxN^[e[uÍC.vector
|
---|
118 | ÌZNV®«ªtÁ³êÄ¢é½ßCJXNvgűÌZNV
|
---|
119 | ðwèµÄzu·éD
|
---|
120 |
|
---|
121 |
|
---|
122 | (4) ^C}hCoÖAÌîñ
|
---|
123 |
|
---|
124 | J[lÌ^CeBbNƵÄCSYSTICðgp·éêÍCprc_config.c
|
---|
125 | ðRpCÎÛÆµCRtBM
|
---|
126 | [Vt@CÉ prc_config.cfg
|
---|
127 | ðwè·é±ÆD
|
---|
128 |
|
---|
129 | üúÌî{Í1msecÆ·éDüúðCALIBRATIONWX^ÌÝèàeð³ÉvZ
|
---|
130 | ·éêÍCSYSTIC_USE_CALIBRATION ðè`·éDCALIBRATIONWX^ðp
|
---|
131 | ¢È¢êÍC1msecüúªÌJEglð TIMER_CLOCK ÉÝè·éDNb
|
---|
132 | N\[XƵÄCONbNðp¢éêÍCSYSTIC_USE_STCLK ðp¢éD
|
---|
133 |
|
---|
134 |
|
---|
135 | (5) ^[Qbg˶ÅÌÝèÚ
|
---|
136 |
|
---|
137 | ^[Qbg˶ÅÍȺÌ}Nðè`·éKvª éD
|
---|
138 |
|
---|
139 | ¥TMAX_INTNO : ÝÔÌÅål(ÊíÌÝÔ + 15)
|
---|
140 | ¥TBITW_IPRI : ÝDæxÌrbg
|
---|
141 | ¥TBITW_SUBIPRI : ÝDæxÌrbgÌTuDæxÌrbg
|
---|
142 | ¥TMIN_INTPRI : ÝDæxÌŬliÅlj
|
---|
143 | ¥TIC_NUME : ^CeBbNÌüú̪q
|
---|
144 | ¥TIC_DENO : ^CeBbNÌüú̪ê
|
---|
145 | ¥TIMER_CLOCK : ^C}lÌà\»Æ~bPÊÆÌÏ·
|
---|
146 | ¥INTPRI_TIMER : ^C}ÝÝDæx
|
---|
147 | ¥INTATR_TIMER : ^C}ÝÌÝ®«
|
---|
148 | ¥INIT_MSP : X^[gAbv[`ÅMSPðú»·éêÍè`
|
---|
149 | ¥DEFAULT_ISTKSZ : X^bNTCYi8bytePÊÅwèj
|
---|
150 | ¥SIL_DLY_TIM1 : ÷Ôҿ̽ßÌè`
|
---|
151 | ¥SIL_DLY_TIM2 : ÷Ôҿ̽ßÌè`
|
---|
152 |
|
---|
153 |
|
---|
154 | (6) fBNg\¬Et@C\¬
|
---|
155 | ./arch/arm_m_gcc/
|
---|
156 | ./Makefile.prc
|
---|
157 | ./arm_m.h
|
---|
158 | ./prc.tf
|
---|
159 | ./prc_cfg1_out.h
|
---|
160 | ./prc_check.tf
|
---|
161 | ./prc_config.c
|
---|
162 | ./prc_config.h
|
---|
163 | ./prc_def.csv
|
---|
164 | ./prc_insn.h
|
---|
165 | ./prc_kernel.h
|
---|
166 | ./prc_rename.def
|
---|
167 | ./prc_rename.h
|
---|
168 | ./prc_sil.h
|
---|
169 | ./prc_stddef.h
|
---|
170 | ./prc_support.S
|
---|
171 | ./prc_test.h
|
---|
172 | ./prc_timer.c
|
---|
173 | ./prc_timer.cfg
|
---|
174 | ./prc_timer.h
|
---|
175 | ./prc_unrename.h
|
---|
176 | ./prc_user.txt
|
---|
177 | ./start.S
|
---|
178 |
|
---|
179 | (12) o[Wð
|
---|
180 |
|
---|
181 | 2008/08/22
|
---|
182 | Eprc_user.txt/prc_design.txt
|
---|
183 | E2008/8/21ÌZp¢ïÅÌc_Êð½fD
|
---|
184 | Eprc_support.S/prc_config.c/prc_config.h/arm_m.h
|
---|
185 | EReLXg»èðexc_ncnt©çANeBuÈX^bNÉÏX
|
---|
186 | Eprc_config.c
|
---|
187 | Eset_exc_int_priority() ÅT|[gÂ\ÈIRQÌãÀð239Ég£D
|
---|
188 | Estart.S
|
---|
189 | EN®ÍThread[hðOñÆµÄ¢é±Æð¾LD
|
---|
190 | Eu[g[_[©çN®³êéêðzèµCMSPðLøÉ·éæ¤É
|
---|
191 | ÏXD
|
---|
192 | Eprc_timer.c
|
---|
193 | ERgðC³
|
---|
194 | EfobOpR[hðí
|
---|
195 |
|
---|
196 | 2008/07/11
|
---|
197 | EÅÌ[X
|
---|
198 |
|
---|
199 | 2013/04/07
|
---|
200 | EáO¶ÉÝ/CPUáO¶ñÌCNgªsíêĢȩÁ½
|
---|
201 | âèÌC³
|
---|