[303] | 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 | 以ä¸ï¼
|
---|