1 | =====================================================================
|
---|
2 | NUCLEO_F401RE(GCC)ã¿ã¼ã²ããä¾åé¨
|
---|
3 | Last Modified:2017 Jan 13 19:30:50
|
---|
4 | =====================================================================
|
---|
5 |
|
---|
6 | (1) 対å¿ãã¦ããã¿ã¼ã²ããã·ã¹ãã ã®ç¨®é¡ã»æ§æ
|
---|
7 |
|
---|
8 | NUCLEO_F401RE(GCC)ã¿ã¼ã²ããä¾åé¨ã¯ï¼STM32F401RE(Cortex-M4F)ãæè¼ã
|
---|
9 | ãSTãã¤ã¯ã社ã®NUCLEO_F401REãã¼ãããµãã¼ãããï¼ããã»ããµä¾åé¨ã¨
|
---|
10 | ãã¦ï¼ST32F4XX_STM32CUBE(GCC)ããã»ããµä¾åé¨ãããã»ããµä¾åé¨ã¨ãã¦
|
---|
11 | ARM_Mããã»ããµä¾åé¨ã使ç¨ããï¼
|
---|
12 |
|
---|
13 |
|
---|
14 | (2) 使ç¨ããéçºç°å¢ã¨åä½æ¤è¨¼ããæ¡ä»¶ï¼ãã¼ã¸ã§ã³ï¼ãªãã·ã§ã³çï¼
|
---|
15 | ã»ã©ã¤ãã©ãª
|
---|
16 |
|
---|
17 | ããã¤ã¹ãã©ã¤ã¯STM32Cubeä»å±ã®ã©ã¤ãã©ãªã使ç¨ãã¦ããï¼ãããã®ãã¡
|
---|
18 | ã¤ã«ã®ã©ã¤ã»ã³ã¹ã¯TOPPERSã©ã¤ã»ã³ã¹ã§ãªãããï¼æ³¨æãããã¨ï¼
|
---|
19 |
|
---|
20 | ãã¼ã¸ã§ã³ã¯æ¬¡ã®éãã§ããï¼
|
---|
21 |
|
---|
22 | F4 V 1.9.0
|
---|
23 |
|
---|
24 | ã»ã³ã³ãã¤ã©
|
---|
25 |
|
---|
26 | 以ä¸ã®2種é¡ã®ã³ã³ãã¤ã©ã§åä½ç¢ºèªãè¡ã£ãï¼
|
---|
27 |
|
---|
28 | GCC 5.4.1 (Launchpad_5.4_2016q3)
|
---|
29 | GCC 5.3.1 (Atollic TrueStudioä»å±)
|
---|
30 |
|
---|
31 | ã»ãããã°ç°å¢
|
---|
32 |
|
---|
33 | ãããã°ç°å¢ã¨ãã¦ã¯ï¼JTAGãããã¬ã«ST-LINKï¼ãããã¬ã¨ãã¦OpenOCD +
|
---|
34 | GDBãªããï¼Atollic TrueStudioãç¨ããç°å¢ã§åä½ç¢ºèªãè¡ã£ã¦ããï¼
|
---|
35 |
|
---|
36 | åä½ç¢ºèªãã OpenOCD ã¯ä»¥ä¸ã®ãã¼ã¸ã§ã³ã§ããï¼
|
---|
37 |
|
---|
38 | 2.3.6
|
---|
39 |
|
---|
40 | åä½ç¢ºèªãã TrueStudio ã¯ä»¥ä¸ã®ãã¼ã¸ã§ã³ã§ããï¼
|
---|
41 |
|
---|
42 | V7.1.0
|
---|
43 |
|
---|
44 | (3) ã¿ã¼ã²ããå®ç¾©äºé
|
---|
45 | ã®è¦å®
|
---|
46 |
|
---|
47 |
|
---|
48 | (4) ã¡ã¢ãªããã
|
---|
49 |
|
---|
50 | æ¨æº
|
---|
51 | å
|
---|
52 | èµFlashROM
|
---|
53 | ã»ã¢ãã¬ã¹ : 0x08000000
|
---|
54 | ã»ãµã¤ãº : 512KB
|
---|
55 | ã»é
|
---|
56 | ç½®ã»ã¯ã·ã§ã³
|
---|
57 | ã»vectorã»ã¯ã·ã§ã³
|
---|
58 | ã»textã»ã¯ã·ã§ã³
|
---|
59 | ã»rodataã»ã¯ã·ã§ã³
|
---|
60 |
|
---|
61 | å
|
---|
62 | èµRAM
|
---|
63 | ã»ã¢ãã¬ã¹ : 0x20000000
|
---|
64 | ã»ãµã¤ãº : 96KB
|
---|
65 | ã»dataã»ã¯ã·ã§ã³
|
---|
66 | ã»bssã»ã¯ã·ã§ã³
|
---|
67 |
|
---|
68 | (5) ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®æ
|
---|
69 | å ±
|
---|
70 |
|
---|
71 | ã³ã³ã½ã¼ã«åºåã«ã¯ï¼ä»®æ³COMãã¼ãã«æ¥ç¶ããã¦ããUSARTã®ãã£ãã«2ãç¨
|
---|
72 | ããï¼éä¿¡ãã©ã¼ãããã¯ä»¥ä¸ã®éãã§ããï¼
|
---|
73 |
|
---|
74 | ã»1152200bps, Data 8bit, Parity none, Stop 1bit, Flow control none
|
---|
75 |
|
---|
76 | (6) ã·ã¹ãã ãã°æ©è½ã®æ
|
---|
77 | å ±
|
---|
78 |
|
---|
79 | ã·ã¹ãã ãã°ã®ä½ã¬ãã«åºåã¯ï¼UART2ãç¨ããï¼éä¿¡ãã©ã¼ãããã¯ï¼
|
---|
80 | 115200bps, 8bit, non-parity, 1topbitã§ããï¼
|
---|
81 |
|
---|
82 | (7) Atollic TrueStudio ã®ä½¿ç¨
|
---|
83 |
|
---|
84 | æ¬ããã±ã¼ã¸ã¯ Atollic TrueStudio ããµãã¼ããã¦ããï¼
|
---|
85 | TrueStudio ã¯ï¼Freeç(ãµã¤ãºå¶éãªã)ã以ä¸ãããã¦ã³ãã¼ãå¯è½ã§ããï¼
|
---|
86 |
|
---|
87 | http://timor.atollic.com/truestudio/
|
---|
88 |
|
---|
89 | ããã¸ã§ã¯ãã®ãã«ãã¨å®è¡æ¹æ³
|
---|
90 |
|
---|
91 | ./truestudio/asp/.cproject ãTrueStudioéãã¦ï¼./truestudioãã¯ã¼ã¯ã¹
|
---|
92 | ãã¼ã¹ã¨ãã¦æå®ããï¼
|
---|
93 |
|
---|
94 | ã¡ãã¥ã¼ -> ããã¸ã§ã¯ã -> ããã¸ã§ã¯ãã®ãã«ã ãé¸æããã¨ãã«ã
|
---|
95 | ãéå§ãããï¼
|
---|
96 |
|
---|
97 | ã¡ãã¥ã¼ -> å®è¡ -> ãããã° ãé¸æããã¨ãããã°ãéå§ãããï¼
|
---|
98 |
|
---|
99 | (8) ä»ã®NUCLEOãã¼ãã®ãµãã¼ã
|
---|
100 |
|
---|
101 | æ¬ããã±ã¼ã¸ã¯STM32FCUBEã«å«ã¾ãã¦ãããã¡ã¤ã«ãç¨ãã¦ï¼ããã¤ã¹çã®å
|
---|
102 | æåãè¡ã£ã¦ããããï¼ä»ã®NUCLEOã容æã«ãµãã¼ãå¯è½ã§ããï¼
|
---|
103 |
|
---|
104 | F401REãä¾ã«æé ãã¾ã¨ããï¼
|
---|
105 |
|
---|
106 | ./target/nucleo_f401re_gcc/stm32fcube ã«ä»¥ä¸ã®ãã¡ã¤ã«ãã³ãã¼
|
---|
107 |
|
---|
108 | \STM32Cube_FW_F4_V1.9.0\Projects\STM32F401RE-Nucleo\Templates\Inc\stm32f4xx_hal_conf.h
|
---|
109 | \STM32Cube_FW_F4_V1.9.0\Projects\STM32F401RE-Nucleo\Templates\Src\system_stm32f4xx.c
|
---|
110 | \STM32Cube_FW_F4_V1.9.0\Projects\STM32F411RE-Nucleo\Templates\Src\main.c
|
---|
111 | \STM32Cube_FW_F4_V1.9.0\Drivers\BSP\STM32F4xx-Nucleo\stm32f4xx_nucleo.h
|
---|
112 | \STM32Cube_FW_F4_V1.9.0\Drivers\BSP\STM32F4xx-Nucleo\stm32f4xx_nucleo.c
|
---|
113 |
|
---|
114 | ãããã次ã®ããã«å¤æ´
|
---|
115 |
|
---|
116 | stm32f4xx_hal_conf.h
|
---|
117 | ã»å¿
|
---|
118 | è¦ãªHALã®ã³ã¡ã³ãã¢ã¦ããå¤ã
|
---|
119 | system_stm32f4xx.c
|
---|
120 | ã»SystemInitã®æåã«ããCPACRã®åæå(FPUã®åæå)ãã³ã¡ã³ãã¢ã¦ã
|
---|
121 | main.c
|
---|
122 | ã»SystemClock_Config()é¢æ°ã®ã¿æ®ãã¦ï¼ãã¡ã¤ã«åãsystemclock_config.cã«
|
---|
123 | å¤æ´ï¼
|
---|
124 | stm32f4xx_nucleo.c
|
---|
125 | ã»å¿
|
---|
126 | è¦ã§ãªãæ©è½ãã³ã¡ã³ãã¢ã¦ã
|
---|
127 |
|
---|
128 | ./arch/arm_m_gcc/stm32f4xx_stm32cube/ 以ä¸ã«
|
---|
129 | STM32Cube_FW_F4_V1.9.0\Drivers 以ä¸ã®å¿
|
---|
130 | è¦ãªãã¡ã¤ã«ãã³ãã¼ï¼é¢åãªå ´
|
---|
131 | åã¯å
|
---|
132 | ¨ã¦ã³ãã¼ãã¦ãã¾ããªãï¼
|
---|
133 |
|
---|
134 | ./target/nucleo_f401re_gcc/ 以ä¸ã®ãã¡ã¤ã«ãå¤æ´
|
---|
135 |
|
---|
136 | Makefile.target
|
---|
137 | 22è¡ç® : 使ç¨ãããããã®åçªãæå®
|
---|
138 | CDEFS := $(CDEFS) -DSTM32F401xE
|
---|
139 |
|
---|
140 | stm32f401re.ld
|
---|
141 | ã¡ã¢ãªãããã使ç¨ãããããã«åããã¦å¤æ´ï¼
|
---|
142 | MEMORY
|
---|
143 | {
|
---|
144 | FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K
|
---|
145 | SRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K
|
---|
146 | }
|
---|
147 |
|
---|
148 | target_config.h
|
---|
149 | å²è¾¼ã¿ã®æ大æ°ã使ç¨ãããããã«åããã¦å¤æ´(å¿
|
---|
150 | ã+16ãããã¨)ï¼
|
---|
151 | #define TMAX_INTNO (84 + 16)
|
---|
152 |
|
---|
153 | ã¯ããã¯å¨æ³¢æ°ã使ç¨ãããããã«åããã¦å¤æ´ï¼
|
---|
154 | #define SYS_CLOCK 84000000
|
---|
155 |
|
---|
156 | target_config.c
|
---|
157 | target_initialize() ã使ç¨ãããããã«åããã¦åæåå¦çã追å ï¼
|
---|
158 | usart_early_init() ã使ç¨ãããããã«åããã¦åæåå¦çã追å ï¼
|
---|
159 |
|
---|
160 | å
|
---|
161 | ¨ãã¡ã¤ã«
|
---|
162 | F401RE ãï¼ä½¿ç¨ãããããã®åçªã«ãªãã¬ã¼ã¹ï¼
|
---|
163 |
|
---|
164 |
|
---|
165 | (9) ãã£ã¬ã¯ããªæ§æã»ãã¡ã¤ã«æ§æ
|
---|
166 | ./nucleo_f401re_gcc
|
---|
167 | ./E_PACKAGE
|
---|
168 | ./gdb.ini
|
---|
169 | ./Makefile.target
|
---|
170 | ./MANIFEST
|
---|
171 | ./nucleo_f401re.h
|
---|
172 | ./stm32f401re.ld
|
---|
173 | ./target.cdl
|
---|
174 | ./target.tf
|
---|
175 | ./target_asm.inc
|
---|
176 | ./target_cfg1_out.h
|
---|
177 | ./target_check.trb
|
---|
178 | ./target_kernel.cfg
|
---|
179 | ./target_kernel.h
|
---|
180 | ./target_kernel.trb
|
---|
181 | ./target_kernel_impl.c
|
---|
182 | ./target_kernel_impl.h
|
---|
183 | ./target_rename.def
|
---|
184 | ./target_rename.h
|
---|
185 | ./target_sil.h
|
---|
186 | ./target_stddef.h
|
---|
187 | ./target_syssvc.h
|
---|
188 | ./target_test.h
|
---|
189 | ./target_timer.c
|
---|
190 | ./target_timer.cfg
|
---|
191 | ./target_timer.h
|
---|
192 | ./target_unrename.h
|
---|
193 | ./target_user.txt
|
---|
194 | ./tPutLogTarget.c
|
---|
195 | ./tPutLogTarget.cdl
|
---|
196 | ./tSIOPortTarget.cdl
|
---|
197 | ./tSIOPortTargetMain_inline.h
|
---|
198 | ./stm32fcube
|
---|
199 | ./stm32f4xx_hal_conf.h
|
---|
200 | ./stm32f4xx_nucleo.c
|
---|
201 | ./stm32f4xx_nucleo.h
|
---|
202 | ./system_stm32f4xx.c
|
---|
203 | ./systemclock_config.c
|
---|
204 | ./truestudio
|
---|
205 |
|
---|
206 |
|
---|
207 | (10)å¤æ´å±¥æ´
|
---|
208 |
|
---|
209 | 2017/1/13
|
---|
210 | ã»æ°è¦ä½æ
|
---|
211 |
|
---|
212 | 以ä¸ï¼
|
---|