|
1. STM32F10x Cortex-M3 ¸ðµâ ¼Ò°³
STM32 Cortex-M3 ¿¡ ±â¹ÝÇÑ 32bit ARM °³¹ßº¸µå·Î
ƯÈ÷ »ç¿ëÀÚÀÇ ÆíÀǸ¦ À§Çؼ ½Ã¸®¾óÆ÷Æ® ´ë½Å USB to Serial ĨÀ» ³»ÀåÇÏ¿´½À´Ï´Ù.
Àü¿ø °ø±ÞÀº USB MiniÆ÷Æ®¿Í µð¹ö±×Æ÷Æ®(USB to Serial Port)¸¦ ÅëÇؼ °¡´É ÇÕ´Ï´Ù.
½Ã¸®¾óÆ÷Æ®°¡ ¾ø´Â ³ëÆ®ºÏ µî¿¡¼ µð¹ö±×Æ÷Æ®¸¦ ÅëÇؼ RS232Åë½Å°ú ÇÁ·Î±×·¥ ´Ù¿î·Îµå¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
(1) STM32F10x Cortex-M3 ¸ðµâ Á¦Ç°ÀÇ Á¾·ù
ÇÉ »ç¾çº° ºÐ·ù |
Á¦Ç°À̸§ |
Á¦Ç° ±âº» »ç¾ç |
LQFP64 |
STM32F103R8T6 ÄÚ¾î¸ðµâ
STM32F103RBT6 ÄÚ¾î¸ðµâ
STM32F105RBT6 ÄÚ¾î¸ðµâ
STM32F107RBT6 ÄÚ¾î¸ðµâ |
Internal 64KB Flash, 20KB SRAM
Internal 128KB Flash, 20KB SRAM
Internal 128KB Flash, 32KB SRAM
Internal 128KB Flash, 32KB SRAM |
LQFP100 |
STM32F103VBT6 ÄÚ¾î¸ðµâ
STM32F103VCT6 ÄÚ¾î¸ðµâ
STM32F105VCT6 ÄÚ¾î¸ðµâ
STM32F107VCT6 ÄÚ¾î¸ðµâ
STM32F107VBT6 ÄÚ¾î¸ðµâ |
Internal 128KB Flash, 20KB SRAM
Internal 256KB Flash, 48KB SRAM
Internal 256KB Flash, 64KB SRAM
Internal 256KB Flash, 64KB SRAM
Internal 128KB Flash, 32KB SRAM |
LQFP144 |
STM32F103ZET6 ÄÚ¾î¸ðµâ |
Internal 512KB Flash, 64KB SRAM |
2. STM32F10x Cortex-M3 »ç¾ç
2.1 H/W ±¸¼º ¹× ȸ·Îµµ
(1) LQFP64 ½Ã¸®Áî H/W ±¸¼º
* LQFP64 ½Ã¸®Áî ÇɸÊ
VBAT |
GND |
PB10 |
PB1 |
PC5 |
PA7 |
PA6 |
PA5 |
PA3 |
PA1 |
PC3 |
PC1 |
PC0 |
JTAG |
VDD33 |
GND |
PB11 |
PB2 |
PB0 |
PC4 |
BOOT0 |
RESET |
PA4 |
PA2 |
PA0 |
PC2 |
PC13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
PB12 |
PB14 |
PC6 |
PC8 |
PA8 |
PA10 |
PA12 |
PD2 |
PB6 |
|
|
GND |
VDD5 |
PB13 |
PB15 |
PC7 |
PC9 |
PA9 |
PA11 |
PC10 |
PB5 |
PB7 |
|
|
GND |
VDD5 |
* LQFP100 ½Ã¸®Áî ÇɸÊ
PC14 |
PE6 |
PE4 |
PE2 |
PE0 |
PB8 |
PB6 |
PB4 |
PD7 |
PD5 |
PD3 |
PD1 |
PC12 |
PC10 |
PA14 |
PA12 |
PA10 |
PA8 |
PC8 |
PC6 |
JTAG |
PC15 |
PC13 |
PE5 |
PE3 |
PE1 |
PB9 |
PB7 |
PB5 |
PB3 |
PD6 |
PD4 |
PD2 |
PD0 |
PC11 |
PA15 |
PA13 |
PA11 |
PA9 |
PC9 |
PC7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PC1 |
PC3 |
PA1 |
PA3 |
PA5 |
PA7 |
PC5 |
PB1 |
PE7 |
PE9 |
PE11 |
PE13 |
PE15 |
PB11 |
PB13 |
PB15 |
PD9 |
PD11 |
PD13 |
PD15 |
PC0 |
PC2 |
PA0 |
PA2 |
PA4 |
PA6 |
PC4 |
PB0 |
PB2 |
PE8 |
PE10 |
PE12 |
PE14 |
PB10 |
PB12 |
PB14 |
PD8 |
PD10 |
PD12 |
PD14 |
(2) LQFP144 ½Ã¸®Áî H/W ±¸¼º
* LQFP144 ½Ã¸®Áî ÇɸÊ
VDD33 |
VDD33 |
GND |
GND |
VDDA |
VREF+ |
PC3 |
PC1 |
PC15 |
PC13 |
PE6 |
PE4 |
PE2 |
PE0 |
PB9 |
BOOT0 |
PB6 |
PB4 |
GND |
PD6 |
PD4 |
PD2 |
PD0 |
PC12 |
PC10 |
JTAG |
VDD33 |
VDD33 |
GND |
GND |
VDDA |
VREF- |
PC2 |
PC0 |
RESET |
PC14 |
VBAT |
PE5 |
PE3 |
PE1 |
GND |
PB8 |
PB7 |
PB5 |
PB3 |
PD7 |
PD5 |
PD3 |
PD1 |
GND |
PC11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PF9 |
PF7 |
PF5 |
PF3 |
PF1 |
GND |
|
|
|
|
|
|
|
|
PG14 |
PG12 |
PG10 |
GND |
|
|
|
PG2 |
PG4 |
PG6 |
PG8 |
PF10 |
PF8 |
PF6 |
PF4 |
PF2 |
PF0 |
|
|
|
|
|
|
|
|
PG15 |
PG13 |
PG11 |
PG9 |
|
|
|
GND |
PG3 |
PG5 |
PG7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PF11 |
PF13 |
PF15 |
PG1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GND |
PF12 |
PF14 |
PG0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PA1 |
PA3 |
PA5 |
PA7 |
PC5 |
PB1 |
GND |
PE8 |
PE10 |
PE12 |
PE14 |
PB10 |
PB12 |
PB14 |
PD8 |
PD10 |
PD12 |
PD14 |
GND |
PC7 |
PC9 |
PA9 |
PA11 |
PA13 |
PA15 |
PA0 |
PA2 |
PA4 |
PA6 |
PC4 |
PB0 |
PB2 |
PE7 |
PE9 |
PE11 |
PE13 |
PE15 |
PB11 |
PB13 |
PB15 |
PD9 |
PD11 |
PD13 |
PD15 |
PC6 |
PC8 |
PA8 |
PA10 |
PA12 |
PA14 |
ST Micronics( http://www.st.com)»ç¿¡¼ Á¦°øÇÏ´Â ±âº» STM32F10x_StdPeriph_Driver, STM32_USB-FS-Device_Driver
¸¦ »ç¿ëÇؼ ÀÛ¼ºµÇ¾îÁ³½À´Ï´Ù. ±âº»ÀûÀ¸·Î LED, Timer, RTC, USB »ùÇà ¿¹Á¦¸¦ Á¦°ø ÇÕ´Ï´Ù.
IAR Workbench, Keil MDK, Ride7 ¿¡¼ ÄÄÆÄÀÏÇÑ ¼Ò½º¿Í ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù.
* ¼ÒÇÁÆ®¿þ¾î ¼Ò½º ´Ù¿î·Îµå
- 2011.1.3 ´Ù¿î·Îµå
1Â÷ ¹öÁ¯ Release
(1) ¼ÒÇÁÆ®¿þ¾î µð·ºÅ丮
prj |
EWARMv5
MDK-ARM
RIDE |
IAR Embeded Workbench Version 5.4
RealView(Keil) MDK-ARM Version 4.02
Raisonance's Ride7 Version 7.24.06.0251 |
lib |
STM32_USB-FS-Device_Lib_V3.2.1 |
ST's Ç¥ÁØ ¶óÀ̺귯¸® |
src |
|
¿¹Á¦ »ùÇà ÄÚµå |
(2) STM32 Ç¥ÁØ ¶óÀ̺귯¸® ¹öÁ¯ : STM32_USB-FS-Device_Driver_V3.2.1, STM32F10x_StdPeriph_Driver_V3.2.1
[ LED ÄÁÆ®·Ñ ¿¹Á¦ ] |
[ ŸÀÌ¸Ó ÄÁÆ®·Ñ ¿¹Á¦ ] |
|
|
[ RTC ¼ºñ½º ¿¹Á¦ ] |
[ USB Device ¿¹Á¦ ] |
|
|
3. ÄÚ¾î¸ðµâ »ç¿ë¹æ¹ý ¹× ÇÁ·Î±×·¥ ´Ù¿î·Îµå °¡À̵å
3.1 ÄÚ¾î¸ðµâ »ç¿ë¹æ¹ý
(1) PC¿Í UART Åë½Å ¿¬°á
USB to Serial ĨÀ» ³»ÀåÇÏ°í ÀÖ¾î¼ RS232ÄÉÀ̺íÀ» »ç¿ëÇÏÁö ¾Ê°í Mini USB 5Pin ÄÉÀ̺íÀ» »ç¿ë ÇÕ´Ï´Ù.
ÀÚ¼¼ÇÑ ¿¬°á ¹æ¹ýÀº ¾Æ·¡ ±×¸²À» ÂüÁ¶ Çϼ¼¿ä.
* USB2Serial µå¶óÀ̹ö ´Ù¿î·Îµå ¸¦ ´Ù¿î·Îµå Çؼ ¼³Ä¡ ÇÕ´Ï´Ù.( ¾ÐÃà ÇØÁ¦ ÈÄ "PL2303_Prolific_DriverInstaller_v1210.exe" ½ÇÇà )
- USB to Serial µå¶óÀ̹ö ¼³Ä¡
ÄÄÇ»ÅÍ °ü¸®ÀÇ ÀåÄ¡ °ü¸®ÀÚ¿¡¼ "Prolific USB-to-Serial Bridge(COMx)" °¡ Ãß°¡µÇ¾úÀ¸¸é ¼º°øÀûÀ¸·Î ¼³Ä¡µÈ °ÍÀÔ´Ï´Ù.
- ÇÏÀÌÆÛ Å͹̳Π¿¬°á
PC¿Í ¿¬°áÀÌ ¼º°øÀûÀ¸¸é ÇÏÀÌÆÛ Å͹̳ÎÀ» ÅëÇؼ À§¿Í °°Àº ¸Þ¼¼Áö¸¦ È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
(2) LED ÄÁÆ®·Ñ ¿¹Á¦
PC¿ÍÀÇ ¿¬°áÀÌ ¼º°øÀûÀ¸·Î ÀÌ·ç¾î Á³´Ù¸é ÇÏÀÌÆÛÅ͹̳Π¿¡¼ "1" À» ÀÔ·ÂÇÏ¸é ¾Æ·¡¿Í °°Àº LED ÄÁÆ®·Ñ ¿¹Á¦°¡ ³ª¿É´Ï´Ù.
´Ù½Ã "1" À» ÀÔ·ÂÇϸé ÄÚ¾î¸ðµâÀÇ USBÆ÷Æ®ÂÊ¿¡ ÀÖ´Â ³ë¶õ»ö LED°¡ ÄÑÁý´Ï´Ù. LED°¡ ²¨Áø »óÅ¿¡¼ "2" À» ÀÔ·ÂÇϸé LED°¡
´Ù½Ã ²¨Áý´Ï´Ù.
(3) ŸÀÌ¸Ó ¿¹Á¦
ÇÏÀÌÆÛÅ͹̳Π¿¡¼ "2" À» ÀÔ·ÂÇϸé Timer ÄÁÆ®·Ñ ¿¹Á¦°¡ ³ª¿É´Ï´Ù.
´Ù½Ã "1" À» ÀÔ·ÂÇϸé LED°¡ 1ÃÊ °£°ÝÀ¸·Î Á¡¸ê(±ôºý)ÇÏ°Ô µË´Ï´Ù. ´Ù½Ã "2"¸¦ ÀÔ·ÂÇϸé LED°¡
Á¡¸êÀÌ ¸ØÃä´Ï´Ù.
(4) RTC ¿¹Á¦
ÇÏÀÌÆÛÅ͹̳Π¿¡¼ "3" À» ÀÔ·ÂÇϸé RTC ¿¹Á¦°¡ ³ª¿É´Ï´Ù.
´Ù½Ã "1" À» ÀÔ·ÂÇϸé RTC¼ºñ½º°¡ ½ÃÀÛÀÌ µÇ°í ÃÊ°¡ ¹Ù²ð¶§ ¸¶´Ù ÇÏÀÌÆÛ Å͹̳ο¡ ³¯Â¥¿Í ½Ã°£ÀÌ
Ç¥½Ã µË´Ï´Ù. ´Ù½Ã "2"¸¦ ÀÔ·ÂÇϸé RTC¼ºñ½º°¡ Á¾·á µË´Ï´Ù.
ÄÚ¾î¸ðµâ¿¡¼´Â RTC ¹é¾÷ º£Å͸®°¡ ¾ø¾î¼
ÇöÀçÀÇ ½Ã°£ ¼³Á¤ÀÌ ÀúÀåµÇÁö´Â ¾Ê½À´Ï´Ù.
(5) USB Device ¿¹Á¦
USB µð¹ÙÀ̽º Å×½ºÆ®¸¦ À§Çؼ´Â ¹Ýµå½Ã 20ÇÉ JTAGÆ÷Æ® ¿·¿¡ ÀÖ´Â Mini USB¿¡ ¿¬°áÇؼ ºÎÆÃÀ»
½ÃÀÛ Çؾ߸¸ ÇÕ´Ï´Ù. UART(USB to Serial) Æ÷Æ®¿¡ ¿¬°áÇؼ ºÎÆÃÀ» ÇÑÈÄ¿¡ USB ¿¬°áÀ» ÇϽøé
"¾Ë¼ö¾ø´ÂÀåÄ¡" ·Î ÀÎ½Ä µË´Ï´Ù. USBÀåÄ¡°¡ ¼º°øÀûÀ¸·Î ¿¬°áµÇ¸é ÀåÄ¡ °ü¸®ÀÚ¿¡ ¾Æ·¡¿Í °°ÀÌ
"HID ±Ô°Ý ¸¶¿ì½º" ·Î ÀâÈ÷°Ô µË´Ï´Ù.
ÀåÄ¡°¡ Á¦´ë·Î ¿Ã¶ó¿Â ÈÄ¿¡ ÇÏÀÌÆÛÅ͹̳Π¿¡¼ "4" À» ÀÔ·ÂÇϸé USB Device ¿¹Á¦°¡ ³ª¿É´Ï´Ù.
´Ù½Ã "1" À» ÀÔ·ÂÇϸé USB ¼ºñ½º°¡ ½ÃÀÛÀÌ µÇ°í ÇÏÀÌÆÛÅ͹̳ο¡¼ "L", "R", "U", "D" µîÀ» ÀÔ·ÂÇϸé
PCÀÇ ¸¶¿ì½º°¡ ¿òÁ÷ÀÌ°Ô µË´Ï´Ù.
3.2 ÇÁ·Î±×·¥ ´Ù¿î·Îµå °¡À̵å
* ÇÁ·Î±×·¥ ´Ù¿î·Îµå °¡À̵å´Â "STM32F103ZE Á¦Ç°" À» ±âÁØÀ¸·Î ¼³¸í ÇÕ´Ï´Ù.
(1) ½Ã¸®¾ó Åë½ÅÀ» ÀÌ¿ëÇÑ ¹æ¹ý
STM32F ½Ã¸®Áî¿¡´Â JTAG ´Ù¿î·Î´õ°¡ ¾øÀÌ USART0 Æ÷Æ®¸¦ ÀÌ¿ëÇؼ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå ÇÒ ¼ö ÀÖ´Â ISP±â´ÉÀ» Á¦°ø ÇÕ´Ï´Ù.
°¡Àå ºñ¿ëÀÌ Àû°Ôµå´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸ ´Ù¿î·Îµå¸¸ °¡´ÉÇÏ°í ÄÚµå µð¹ö±ëÀº ÇÒ ¼ö ¾ø½À´Ï´Ù.
´Ù¿î·Îµå ¸ðµå·Î ÁøÀÔÇϱâ À§Çؼ´Â ¾Æ·¡ ±×¸²°ú °°ÀÌ Boot0 ½ºÀ§Ä¡¸¦ ¹Ýµå½Ã ¾Æ·¡·Î ³»¸° »óÅ¿¡¼ PC¿Í USB to Serial Æ÷Æ®·Î
¿¬°á ÇÕ´Ï´Ù.
ÀåÄ¡°ü¸®ÀÚ¿¡¼ Æ÷Æ® ¹øÈ£¸¦ È®ÀÎ ÇÏ°í ST Flash Loader ÇÁ·Î±×·¥À» ´Ù¿î¹Þ¾Æ ¼³Ä¡ ÇÕ´Ï´Ù.
"STMicroelectronics flash loader.exe" ÇÁ·Î±×·¥À» ½ÇÇà ½Ãŵ´Ï´Ù. ¹Ýµå½Ã Parity : "Even" À¸·Î
Baud Rate : "115200" À¸·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
(2) H-JTAG À» ÀÌ¿ëÇÑ ¹æ¹ý(»õâ)
Keil MDK, IAR Workbench ¿¡¼ H-JTAGÀ» ÀÌ¿ëÇÑ ´Ù¿î·Îµå ¹æ¹ý°ú µð¹ö±ë ¹æ¹ý
(3) ARM-JTAG À» ÀÌ¿ëÇÑ ¹æ¹ý(IAR Workbench), KEIL MDK
Keil MDK, IAR Workbench ¿¡¼ ARM-JTAGÀ» ÀÌ¿ëÇÑ ´Ù¿î·Îµå ¹æ¹ý°ú µð¹ö±ë ¹æ¹ý
(4) ST-Link ¸¦ ÀÌ¿ëÇÑ ¹æ¹ý(»õâ)
Keil MDK, IAR Workbench ¿¡¼ ST-Link¸¦ ÀÌ¿ëÇÑ ´Ù¿î·Îµå ¹æ¹ý°ú µð¹ö±ë ¹æ¹ý
(5) RLink ¸¦ ÀÌ¿ëÇÑ ¹æ¹ý (»õâ)
RIDE7 ¿¡¼ RLink¸¦ ÀÌ¿ëÇÑ ´Ù¿î·Îµå ¹æ¹ý
(6) J-Link EDU ¸¦ ÀÌ¿ëÇÑ ¹æ¹ý
IAR Workbench ¿¡¼ J-Link EDU ¸¦ ÀÌ¿ëÇÑ ´Ù¿î·Îµå ¹æ¹ý(»õâ)
4. ÇÁ·Î±×·¡¹Ö °¡À̵å
ÄÄÆÄÀÏÀ» Çϱâ À§Çؼ´Â Á¦Ç° Äھ·Î predeifne ¼³Á¤À» ÇØ¾ß ÇÕ´Ï´Ù. define ¼³Á¤¿¡ °üÇؼ´Â ¾Æ·¡ Ç¥¸¦ ÂüÁ¶ÇϽðí
ÄÄÆÄÀÏ·¯º° ¼³Á¤ ¹æ¹ýÀº ¾Æ·¡ ÄÄÆÄÀÏ·¯º° ¼³Á¤°¡À̵带 ÂüÁ¶Çϼ¼¿ä.
ÇÉ »ç¾çº° ºÐ·ù |
Á¦Ç°À̸§ |
predfine ¼³Á¤ |
LQFP64 |
STM32F103R8T6 ÄÚ¾î¸ðµâ
STM32F103RBT6 ÄÚ¾î¸ðµâ
STM32F105RBT6 ÄÚ¾î¸ðµâ
STM32F107RBT6 ÄÚ¾î¸ðµâ |
USE_STDPERIPH_DRIVER, STM32F10X_MD
USE_STDPERIPH_DRIVER, STM32F10X_MD
USE_STDPERIPH_DRIVER, STM32F10X_CL
USE_STDPERIPH_DRIVER, STM32F10X_CL |
LQFP100 |
STM32F103VBT6 ÄÚ¾î¸ðµâ
STM32F103VCT6 ÄÚ¾î¸ðµâ
STM32F105VCT6 ÄÚ¾î¸ðµâ
STM32F107VCT6 ÄÚ¾î¸ðµâ
STM32F107VBT6 ÄÚ¾î¸ðµâ |
USE_STDPERIPH_DRIVER, STM32F10X_HD
USE_STDPERIPH_DRIVER, STM32F10X_CL
USE_STDPERIPH_DRIVER, STM32F10X_CL
USE_STDPERIPH_DRIVER, STM32F10X_CL
USE_STDPERIPH_DRIVER, STM32F10X_CL |
LQFP144 |
STM32F103ZET6 ÄÚ¾î¸ðµâ |
USE_STDPERIPH_DRIVER, STM32F10X_HD |
4.1 Keil MDK 4.02
(1) ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ Keil MDK ÄÄÆÄÀÏ·¯ ¼³Á¤ ¹æ¹ý°ú ÄÄÆÄÀÏ(»õâ)
4.2 IAR Workbench 5.4
(1) ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ IAR ÄÄÆÄÀÏ·¯ ¼³Á¤ ¹æ¹ý°ú ÄÄÆÄÀÏ(»õâ)
4.3 RIDE7
(1) ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ RIDE7 ÄÄÆÄÀÏ·¯ ¼³Á¤ ¹æ¹ý°ú ÄÄÆÄÀÏ(»õâ)
4.4 GCC & ÀÌŬ¸³½º
ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ ÀÌŬ¸³½º & GCC ¼³Á¤ ¹æ¹ý°ú ÄÄÆÄÀÏ(»õâ)
|