ÀÌ ¸Å´º¾óÀº JKÀüÀÚ(JK Electronics) ¿¡ ÀÇÇؼ­ ¹ø¿ª, ¼öÁ¤, ÀÛ¼º µÇ¾ú°í ¼ÒÀ¯±Ç ¶ÇÇÑ
JKÀüÀÚ(JK Electronics)
ÀÇ °ÍÀÔ´Ï´Ù. ¼ÒÀ¯±ÇÀÚÀÇ Çã°¡¸¦ ¹ÞÁö ¾Ê°í ¹«´ÜÀ¸·Î ¼öÁ¤, »èÁ¦Çϰųª ¹èÆ÷ ÇÒ ¼ö ¾ø½À´Ï´Ù.



 

STM32F10x Rabbit °³¹ßº¸µå ¸Þ´º¾ó


 
* Update history

- 2011.6.13 : Ãʱâ Release
   2011.6.14 S/W ¾÷µ¥ÀÌÆ®
- 2011.6.20 : Ä«¸Þ¶ó °ü·Ã ¼Ò½º Update( SD¸Þ¸ð¸®¿¡ BMPÆÄÀÏ·Î ÀúÀåÇÏ´Â ±â´É Ãß°¡)
   2011.6.20 S/W ¾÷µ¥ÀÌÆ®
- 2011.6.28 : STM32F105, STM32F107 Ä«¸Þ¶ó ÀԷ Ŭ·° °ü·Ã MCO ¼öÁ¤

   2011.6.28 S/W ¾÷µ¥ÀÌÆ®( RF, TFT, Ä«¸Þ¶ó ±¸µ¿ ¼Ò½ºµîÀº Á¦Ç° ±¸¸Å½Ã CD¹Ìµð¾î·Î Á¦°ø µË´Ï´Ù.)
   Keil MDK ÄÄÆÄÀÏ·¯ ¼³Á¤ ¹æ¹ý¹× ÄÄÆÄÀÏ Ãß°¡
- 2011.7.28 : ºÎÆýà LCDÃʱâÈ­ ¹× LCDâ¿¡ Welcome ¸Þ¼¼Áö Ãâ·Â

   ºÎÆýà SWD_ENABLE ¼³Á¤
   2011.7.28 S/W ¾÷µ¥ÀÌÆ® ¼Ò½º ´Ù¿î·Îµå

- 2011.11.4 : IAR5, RIDE7 ÇÁ·Î±×·¡¹Ö °¡ÀÌµå ¸Þ´º¾ó Ãß°¡
- 2012.5.31 : OV7670 Ä«¸Þ¶ó »ç¿ë½Ã LCD Preview¿¡ ÀÌ»óÀÌ ÀÖÀ»°æ¿ì Äڵ带 ¼öÁ¤Çؼ­ ÄÄÆÄÀÏ Çϼ¼¿ä.
- 2013.11.5 : Eclipse ȯ°æÀÇ GCC °³¹ßȯ°æ Áö¿ø Ãß°¡

   ÀÌŬ¸³½º °³¹ßȯ°æ
- code.google.com À» ÅëÇÑ ÃֽŠ¼Ò½ºÄÚµå ´Ù¿î·Îµå


 
1. STM32F10x Rabbit °³¹ßº¸µå ¼Ò°³
2. STM32F10x Rabbit °³¹ßº¸µå »ç¾ç
    2.1 CPUº¸µåÀÇ H/W ±¸¼º ¹× ȸ·Îµµ
    2.2 Bottom º¸µåÀÇ H/W ±¸¼º ¹× ȸ·Îµµ
    2.3 Á¦°ø S/W »ç¾ç
3. ±âº» »ç¿ë¹æ¹ý ¹× ´Ù¿î·Îµå °¡À̵å
    3.1 Rabbit °³¹ßº¸µå ±âº»»ç¿ë ¹æ¹ý
    3.2 ÇÁ·Î±×·¥ ´Ù¿î·Îµå °¡À̵å
    3.3 Cortex-M3 Architecture °­ÁÂ
    3.4 STM32F10x ½Ã¸®Áî °³¹ß °­ÁÂ
4. S/W Å×½ºÆ® ¹æ¹ý
    4.1 LED
    4.2 Timer
    4.3 RTC
    4.4 SD Memory(FAT32)
    4.5 USB( HID Mouse )
    4.6 LCD Display
    4.7 LCD Touch
    4.8 KEY ÀÔ·Â Å×½ºÆ®
    4.9 nRF24L01(RF Test)
    4.10 OV7670 CMOS Ä«¸Þ¶ó Å×½ºÆ®
5. ÇÁ·Î±×·¡¹Ö °¡À̵å
    5.1 Keil MDK 4.x
    5.2 IAR Workbench 5.x
    5.3 RIDE7
    5.4 GCC & Eclipse
6. Trouble Shoot
    6.1 OV7670 Ä«¸Þ¶ó Preview issue


 

1. STM32F10x Rabbit °³¹ßº¸µå ¼Ò°³

STM32 Cortex-M3 ¿¡ ±â¹ÝÇÑ 32bit ARM °³¹ßº¸µå·Î ÃÖ´ë 72 MHz ¼Óµµ·Î µ¿ÀÛ ÇÏ°í CPU¸ðµâ°ú Bottom º¸µå·Î ºÐ¸®µÇ¾î
ÀÖ½À´Ï´Ù. CPU¸ðµâÀ» Rabbit Bottom º¸µå¿¡ ÀåÂøÇϸé CMOS Camera, nRF24L01 RF, ÅÍÄ¡ LCD µîÀÇ ´Ù¾çÇÑ ¸ðµâµéÀ»
¿¬°áÇÏ¿© Å×½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù.

(1) STM32F10x Rabbit °³¹ßº¸µå Á¦Ç°ÀÇ Á¾·ù

ÇÉ »ç¾çº° ºÐ·ù
Á¦Ç°À̸§
Á¦Ç° ±âº» »ç¾ç
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 Rabbit °³¹ßº¸µå »ç¾ç

2.1 CPUº¸µåÀÇ H/W ±¸¼º ¹× ȸ·Îµµ

(1) LQFP64/LQFP100 ½Ã¸®Áî H/W ±¸¼º

stm32

* LQFP64 ½Ã¸®Áî ÇɸÊ
JTAG GND PE0 PB8 PB6 PB4 PD7 PD5 PD3 PD1 PC12 PC10 PC14
VCC PE1 PB9 PB7 PB5 PB3 PD6 PD4 PD2 PD0 PC11 PA15
PE2 PE3 VCC GND
VCC VCC PE4 PE5 PA13 PA12
JTRST GND PE6 VBAT PA11 PA10
JTDI GND PC13 PC14 PA9 PA8
JTMS GND PC15 GND PC9 PC8
JTCK GND VCC PC0 PC7 PC6
NC GND PC1 PC2 PD15 PD14
JTDO GND PC3 VSSA PD13 PD12
RESET GND VREF- VREF+ PD11 PD10
NC GND VDDA PA0 PD9 PD8
NC GND PA1 PA2 PB15 PB14
VCC GND PB13 PB12
PA4 PA6 PC4 PB0 PB2 PE8 PE10 PE12 PE14 PB10 GND GND
PA3 PA5 PA7 PC5 PB1 PE7 PE9 PE11 PE13 PE15 PB11 VCC

* LQFP100 ½Ã¸®Áî ÇɸÊ
JTAG GND PE0 PB8 PB6 PB4 PD7 PD5 PD3 PD1 PC12 PC10 PC14
VCC PE1 PB9 PB7 PB5 PB3 PD6 PD4 PD2 PD0 PC11 PA15
PE2 PE3 VCC GND
VCC VCC PE4 PE5 PA13 PA12
JTRST GND PE6 VBAT PA11 PA10
JTDI GND PC13 PC14 PA9 PA8
JTMS GND PC15 GND PC9 PC8
JTCK GND VCC PC0 PC7 PC6
NC GND PC1 PC2 PD15 PD14
JTDO GND PC3 VSSA PD13 PD12
RESET GND VREF- VREF+ PD11 PD10
NC GND VDDA PA0 PD9 PD8
NC GND PA1 PA2 PB15 PB14
VCC GND PB13 PB12
PA4 PA6 PC4 PB0 PB2 PE8 PE10 PE12 PE14 PB10 GND GND
PA3 PA5 PA7 PC5 PB1 PE7 PE9 PE11 PE13 PE15 PB11 VCC

(2) LQFP144 ½Ã¸®Áî H/W ±¸¼º

stm32

* LQFP144 ½Ã¸®Áî ÇɸÊ
PF1 PF3 PF5 PF7 PF9 PF11 PF13 PF15 VCC VCC GND GND PG14 PG12 PG10 PG8 PG6 PG4 PG2 PG0
PF0 PF2 PF4 PF6 PF8 PF10 PF12 PF14 GND GND VCC VCC PG15 PG13 PG11 PG9 PG7 PG5 PG3 PG1
JTAG GND PE0 PB8 PB6 PB4 PD7 PD5 PD3 PD1 PC12 PC10 PC14
VCC PE1 PB9 PB7 PB5 PB3 PD6 PD4 PD2 PD0 PC11 PA15
PE2 PE3 VCC GND
VCC VCC PE4 PE5 PA13 PA12
JTRST GND PE6 VBAT PA11 PA10
JTDI GND PC13 PC14 PA9 PA8
JTMS GND PC15 GND PC9 PC8
JTCK GND VCC PC0 PC7 PC6
NC GND PC1 PC2 PD15 PD14
JTDO GND PC3 VSSA PD13 PD12
RESET GND VREF- VREF+ PD11 PD10
NC GND VDDA PA0 PD9 PD8
NC GND PA1 PA2 PB15 PB14
VCC GND PB13 PB12
PA4 PA6 PC4 PB0 PB2 PE8 PE10 PE12 PE14 PB10 GND GND
PA3 PA5 PA7 PC5 PB1 PE7 PE9 PE11 PE13 PE15 PB11 VCC

2.2 Bottom º¸µåÀÇ H/W ±¸¼º ¹× ȸ·Îµµ

(1) Bottom º¸µå H/W ±¸¼º



* Bottom º¸µå ÇɸÊ
Camera GND RST RD PWON SCL XCLK D1 D3 D5 D7                  
VCC CS WAIT WE VSYNC SDA D0 D2 D4 D6                  
   
    GND PE0 PB8 PB6 PB4 PD7 PD5 PD3 PD1 PC12 PC10 PC14
    VCC PE1 PB9 PB7 PB5 PB3 PD6 PD4 PD2 PD0 PC11 PA15
   
    PE2 PE3 VCC GND
    PE4 PE5 PA13 PA12
    PE6 VBAT PA11 PA10
    PC13 PC14 PA9 PA8
    PC15 GND PC9 PC8
    VCC PC0 PC7 PC6
    PC1 PC2 PD15 PD14
    PC3 VSSA PD13 PD12
    VREF- VREF+ PD11 PD10
    VDDA PA0 PD9 PD8
    PA1 PA2 PB15 PB14
    VCC GND PB13 PB12
   
    PA4 PA6 PC4 PB0 PB2 PE8 PE10 PE12 PE14 PB10 GND GND
    PA3 PA5 PA7 PC5 PB1 PE7 PE9 PE11 PE13 PE15 PB11 VCC

* STM32F10X ȸ·Îµµ ´Ù¿î·Îµå

2.3 Á¦°ø S/W »ç¾ç

ST Micronics(http://www.st.com)»ç¿¡¼­ Á¦°øÇÏ´Â ±âº» STM32F10x_StdPeriph_Driver, STM32_USB-FS-Device_Driver
¸¦ »ç¿ëÇؼ­ ÀÛ¼ºµÇ¾îÁ³½À´Ï´Ù. ±âº»ÀûÀ¸·Î LED, Timer, RTC, USB, Camera, RF µî »ùÇà ¿¹Á¦¸¦ Á¦°ø ÇÕ´Ï´Ù.
IAR Workbench, Keil MDK, Ride7 ¿¡¼­ ÄÄÆÄÀÏÇÑ ¼Ò½º¿Í ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù.

(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
(3) ¼ÒÇÁÆ®¿þ¾î ¼Ò½º ´Ù¿î·Îµå

- 2011.7.28 S/W ¾÷µ¥ÀÌÆ® ´Ù¿î·Îµå
- code.google.com À» ÅëÇÑ ÃֽŠ¼Ò½ºÄÚµå ´Ù¿î·Îµå


3. ±âº» »ç¿ë¹æ¹ý ¹× ´Ù¿î·Îµå °¡À̵å

3.1 Rabbit °³¹ßº¸µå ±âº»»ç¿ë ¹æ¹ý

(1) CPU¸ðµâ »ç¿ë¹æ¹ý

CPU¸ðµâ¿¡´Â UARTÅë½Å°ú Àü¿ø °ø±ÞÀ» Çϱâ À§Çؼ­´Â 4Pin Ä¿³ØÅÍ°¡ ³ª¿Í ÀÖ½À´Ï´Ù.

- USB2Uart ´Ù¿î·Î´õ for Rabbit À» ÀÌ¿ëÇؼ­ PC¿Í ½Ã¸®¾ó Åë½Å ¿¬°á


stm32f103rbt6

- ÀϹÝÀûÀÎ USB2Serial º¯È¯ ÄÉÀ̺íÀ» ÀÌ¿ëÇؼ­ PC¿Í ½Ã¸®¾ó Åë½Å ¿¬°á

ÀϹÝÀûÀÎ USB2Serial º¯È¯ ÄÉÀ̺íÀ» ÀÌ¿ëÇÒ °æ¿ì¿¡´Â ¾Æ·¡ ±×¸²°ú °°ÀÌ 4°³ÀÇ ÇÉÀ» CPU¸ðµâ¿¡ Ä¿³ØÅÍ·Î ¿¬°áÇؼ­
»ç¿ëÇÏ¸é µË´Ï´Ù.

stm32f103rbt6

(2) Bottomº¸µå »ç¿ë¹æ¹ý
Bottom º¸µå¿¡´Â USB to Serial Æ÷Æ®°¡ ÀÌ¹Ì ³»ÀåµÇ¾î À־ PC¿¡´Â Mini USBÄÉÀ̺íÀ» ÀÌ¿ëÇؼ­ ¿¬°áÇÏ½Ã¸é µË´Ï´Ù.
USBÆ÷Æ®¸¦ ÅëÇؼ­ Àü¿ø°ø±Þµµ °°ÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

(3) PC¿ë USB to Serial µå¶óÀ̹ö ´Ù¿î·Îµå ¹× ¼³Ä¡( »õâ )

(4) ÇÏÀÌÆÛ Å͹̳Π¼³Á¤

PC¿Í ¿¬°áÀÌ ¼º°øÀûÀ¸¸é ÇÏÀÌÆÛ Å͹̳ÎÀ» ÅëÇؼ­ ¾Æ·¡¿Í °°Àº ¸Þ¼¼Áö¸¦ È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

stm32f103rbt6

3.2 ÇÁ·Î±×·¥ ´Ù¿î·Îµå °¡À̵å

* ÇÁ·Î±×·¥ ´Ù¿î·Îµå °¡À̵å´Â "STM32F103ZE Á¦Ç°" À» ±âÁØÀ¸·Î ¼³¸í ÇÕ´Ï´Ù.

(1) ½Ã¸®¾ó Åë½ÅÀ» ÀÌ¿ëÇÑ ¹æ¹ý(»õâ)
STM32F ½Ã¸®Áî¿¡´Â JTAG ´Ù¿î·Î´õ°¡ ¾øÀÌ USART0 Æ÷Æ®¸¦ ÀÌ¿ëÇؼ­ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå ÇÒ ¼ö ÀÖ´Â ISP±â´ÉÀ» Á¦°ø ÇÕ´Ï´Ù.
°¡Àå ºñ¿ëÀÌ Àû°Ôµå´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸ ´Ù¿î·Îµå¸¸ °¡´ÉÇÏ°í ÄÚµå µð¹ö±ëÀº ÇÒ ¼ö ¾ø½À´Ï´Ù.

(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. S/W Å×½ºÆ® ¹æ¹ý

4.1 LED

stm32f103rbt6

(1) PC¿ÍÀÇ ¿¬°áÀÌ ¼º°øÀûÀ¸·Î ÀÌ·ç¾î Á³´Ù¸é ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "1" À» ÀÔ·ÂÇÏ¸é ¾Æ·¡¿Í °°Àº LED ÄÁÆ®·Ñ ¿¹Á¦°¡ ³ª¿É´Ï´Ù.
´Ù½Ã "1" À» ÀÔ·ÂÇϸé ÄÚ¾î¸ðµâÀÇ ³ë¶õ»ö USER LED°¡ ÄÑÁý´Ï´Ù. LED°¡ ÄÑÁø »óÅ¿¡¼­ ´Ù½Ã "2" À» ÀÔ·ÂÇϸé LED°¡ ´Ù½Ã ²¨Áý´Ï´Ù.

(2) CPU¸ðµâÀÌ Bottomº¸µå¿¡ ¿¬°áµÇ¾î ÀÖ´Ù¸é ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "3" À» ÀÔ·ÂÇϸé Bottomº¸µåÀÇ ³ë¶õ»ö USER LED°¡ ÄÑÁý´Ï´Ù.
LED°¡ ÄÑÁø »óÅ¿¡¼­ ´Ù½Ã "4" À» ÀÔ·ÂÇϸé LED°¡ ´Ù½Ã ²¨Áý´Ï´Ù.

4.2 Timer

stm32f103rbt6

(1) ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "2" À» ÀÔ·ÂÇϸé Timer ÄÁÆ®·Ñ ¿¹Á¦°¡ ³ª¿É´Ï´Ù.
´Ù½Ã "1" À» ÀÔ·ÂÇϸé CPUº¸µåÀÇ USER LED°¡ 1ÃÊ °£°ÝÀ¸·Î Á¡¸ê(±ôºý)ÇÏ°Ô µË´Ï´Ù. ´Ù½Ã "2"¸¦ ÀÔ·ÂÇϸé LED°¡ Á¡¸êÀÌ ¸ØÃä´Ï´Ù.

4.3 RTC

(1) ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "3" À» ÀÔ·ÂÇϸé RTC ¿¹Á¦°¡ ³ª¿É´Ï´Ù. ´Ù½Ã "1" À» ÀÔ·ÂÇϸé RTC¼­ºñ½º°¡ ½ÃÀÛÀÌ µÇ°í ÃÊ°¡ ¹Ù²ð¶§ ¸¶´Ù
ÇÏÀÌÆÛÅ͹̳ο¡ ½Ã°£ÀÌ Ç¥½Ã µË´Ï´Ù. ´Ù½Ã "2"¸¦ ÀÔ·ÂÇϸé RTC¼­ºñ½º°¡ Á¾·á µË´Ï´Ù. ÄÚ¾î¸ðµâ¿¡¼­´Â RTC ¹é¾÷ º£Å͸®°¡ ¾ø¾î¼­
ÇöÀçÀÇ ½Ã°£ ¼³Á¤ÀÌ ÀúÀåµÇÁö´Â ¾Ê½À´Ï´Ù.

stm32f103rbt6

RTC ÀÎÅÍ·´Æ®¸¦ ¹Þ¾Æ¼­ 1ÃÊ¿¡ Çѹø¾¿ ½Ã°£À» Ç¥½ÃÇØ ÁÖ°í ÀÖ½À´Ï´Ù.
stm32f103rbt6

4.4 SD Memory(FAT32)

(1) ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "4" À» ÀÔ·ÂÇÏ¸é ¾Æ·¡¿Í °°Àº SD ¸Þ¸ð¸® ¿¹Á¦°¡ ³ª¿É´Ï´Ù. Å×½ºÆ® ÇÏ´Â ¼ø¼­´Â ¿ì¼± "1" À» ÀÔ·ÂÇؼ­
SDÆ÷Æ®(SPI)¸¦ ÃʱâÈ­ ÇÕ´Ï´Ù.
stm32f103rbt6

(2) "2" ¸¦ ´©¸£¸é SD¸Þ¸ð¸®ÀÇ ÇöÀç »ç¿ë °¡´ÉÇÑ ¿ë·®À» Ç¥½Ã ÇÕ´Ï´Ù.

stm32f103rbt6

(3) "3" À» ´©¸£¸é SD¸Þ¸ð¸®ÀÇ ÆÄÀϵéÀ» Å͹̳ο¡ List·Î º¸¿© ÁÝ´Ï´Ù.

stm32f103rbt6

4.5 USB( HID Mouse )

USB µð¹ÙÀ̽º Å×½ºÆ®¸¦ À§Çؼ­´Â Rabbit Bottom °¡ ÇÊ¿ä ÇÕ´Ï´Ù. Bottomº¸µåÀÇ USB to Serial Æ÷Æ®°¡ ¿¬°áµÇ¾î ÀÖ´Â
»óÅ¿¡¼­ USB to Serial Æ÷Æ® ¿·¿¡ ÀÖ´Â USB MiniÆ÷Æ®¸¦ PC¿Í ¿¬°á ÇÕ´Ï´Ù. USBÀåÄ¡°¡ ¼º°øÀûÀ¸·Î ¿¬°áµÇ¸é ÀåÄ¡
°ü¸®ÀÚ¿¡ ¾Æ·¡¿Í °°ÀÌ "HID ±Ô°Ý ¸¶¿ì½º" ·Î ÀâÈ÷°Ô µË´Ï´Ù.

stm32f103rbt6

ÀåÄ¡°¡ Á¦´ë·Î ¿Ã¶ó¿Â ÈÄ¿¡ ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "5" À» ÀÔ·ÂÇϸé USB Device ¿¹Á¦°¡ ³ª¿É´Ï´Ù.
´Ù½Ã "1" À» ÀÔ·ÂÇϸé USB ¼­ºñ½º°¡ ½ÃÀÛÀÌ µÇ°í ÇÏÀÌÆÛÅ͹̳ο¡¼­ "L", "R", "U", "D" µîÀ» ÀÔ·ÂÇϸé
PCÀÇ ¸¶¿ì½º°¡ ¿òÁ÷ÀÌ°Ô µË´Ï´Ù.

stm32f103rbt6

4.6 LCD Display

(1) ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "6" À» ÀÔ·ÂÇϸé LCD ¿¹Á¦°¡ ³ª¿É´Ï´Ù. ´Ù½Ã "1" À» ÀÔ·ÂÇϸé LCD¼­ºñ½º°¡ ½ÃÀÛÀ̵ǰí
°³¹ßº¸µåÀÇ LCDÈ­¸é¿¡´Â ¹è°æ»ö»ó°ú ±ÛÀÚÀÇ »ö»óÀÌ ¹Ýº¹ÀûÀ¸·Î ¹Ù²î¸é¼­ Display°¡ µË´Ï´Ù.

stm32f103rbt6 stm32f103rbt6

4.7 LCD Touch

(1) ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "7" À» ÀÔ·ÂÇϸé LCD ÅÍÄ¡ ¿¹Á¦°¡ ³ª¿É´Ï´Ù. ´Ù½Ã "1" À» ÀÔ·ÂÇϸé ÅÍÄ¡ ¼­ºñ½º°¡ ½ÃÀÛÀÌ µÇ°í
°³¹ßº¸µåÀÇ LCD È­¸é¿¡´Â CalibrationÀÌ ½ÃÀÛÀÌ µË´Ï´Ù. LCD»óÀÇ "+" Ç¥½Ã¿¡ ÅÍÄ¡ÆæµîÀ» ÀÌ¿ëÇؼ­ CalibrationÀ»
ÇÏ°í ¿Ï·á°¡ µÇ¸é LCD»ó¿¡ ÅÍÄ¡¸¦ ÀÌ¿ëÇؼ­ ±×¸®±â¸¦ ÇÒ ¼ö °¡ ÀÖ½À´Ï´Ù.

stm32f103rbt6 stm32f103rbt6

ÅÍÄ¡ µ¿ÀÛÀ» ÀÌ¿ëÇؼ­ LCDÈ­¸é»ó¿¡¼­ ±×¸®±â¸¦ ¼öÇàÇÑ È­¸é ÀÔ´Ï´Ù.

stm32f103rbt6

4.8 KEY ÀÔ·Â Å×½ºÆ®

(1) ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "8" À» ÀÔ·ÂÇϸé KEY Å×½ºÆ® ¿¹Á¦°¡ ³ª¿É´Ï´Ù. KEY´Â Rabbit Bottom º¸µå¿¡ 1°³°¡ ÀÖ½À´Ï´Ù.
"1" À» ÀÔ·ÂÇϸé GPIO Æú¸µ ¹æ½ÄÀÇ KEY ÀÔ·ÂÀ» °¨ÁöÇÒ ¼ö ÀÖ°í , "3" À» ÀÔ·ÂÇϸé ÀÎÅÍ·´Æ® ¹æ½ÄÀ¸·Î KEYÀÔ·ÂÀ»
°¨Áö ÇÒ ¼ö ÀÖ½À´Ï´Ù.

stm32f103rbt6

4.9 nRF24L01(RF Test)

(1) ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "9" À» ÀÔ·ÂÇϸé nRF24L01 Å×½ºÆ® ¿¹Á¦°¡ ³ª¿É´Ï´Ù. RFÅ×½ºÆ®¸¦ À§Çؼ­´Â 2¼¼Æ®ÀÇ Rabbit°³¹ßº¸µå°¡
ÇÊ¿ä ÇÕ´Ï´Ù. 1¼¼Æ®¿¡¼­ ¿ì¼± "1" À» ÀÔ·ÂÇؼ­ RX ¸ðµå·Î ÁøÀÔÀ» ÇÑ´ÙÀ½, ´Ù¸¥ ¼¼Æ®¿¡¼­ "2" ¹ø ¸Þ´ºÀ» ÀÌ¿ëÇؼ­ TXµ¥ÀÌÅ͸¦
º¸³À´Ï´Ù. ±×·¯¸é RX¸ðµåÀÇ Rabbit°³¹ßº¸µå¿Í ¿¬°áµÈ Å͹̳Πâ¿¡ "abcdef" ¶ó´Â µ¥ÀÌÅÍ°¡ µµÂøµÇ¾úÀ»À» Ç¥½Ã ÇÕ´Ï´Ù.

4.10 OV7670 CMOS Ä«¸Þ¶ó Å×½ºÆ®

(1) ÇÏÀÌÆÛÅ͹̳Π¿¡¼­ "a" À» ÀÔ·ÂÇϸé Ä«¸Þ¶ó Å×½ºÆ® stm32f103rbt6¿¹Á¦°¡ ³ª¿É´Ï´Ù. "1" À» ÀÔ·ÂÇÏ¸é °³¹ßº¸µåÀÇ LCDÈ­¸é»ó¿¡ Camera
Previewµ¿ÀÛÀÌ ½ÃÀÛ µË´Ï´Ù. Previewµ¿ÀÛÁß¿¡ Key1(Bottom º¸µå¿¡ ÀÖ´Â USER KEY) À» ´©¸£¸é Previewµ¿ÀÛÀ» ¸ØÃß°í
SD¸Þ¸ð¸®¿¡ BMP ÆÄÀÏ·Î ÀúÀåÀ» ÇÕ´Ï´Ù.


OV7670 Ä«¸Þ¶ó ¸ðµâÀº LQFP100 ¸ðµâ À̻󿡼­¸¸ »ç¿ë ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. Ä«¸Þ¶ó Å×½ºÆ®´Â KEIL ÄÄÆÄÀÏ·¯¿¡¼­¸¸ ÀÌ»óÀÌ ¾ø½À´Ï´Ù.
IAR, RIDE7 ÇÁ·ÎÁ§Æ®¿¡¼­´Â ¾ÆÁ÷ µð¹ö±ë Áß¿¡ ÀÖ½À´Ï´Ù. ±¸¸ÅÇϽñâ Àü¿¡ ÀÌÁ¡ À¯ÀÇÇØ ÁÖ¼¼¿ä. .


stm32f103rbt6 stm32f103rbt6


5. ÇÁ·Î±×·¡¹Ö °¡À̵å

ÄÄÆÄÀÏÀ» Çϱâ À§Çؼ­´Â Á¦Ç° Äھ·Î predeifne ¼³Á¤À» ÇØ¾ß ÇÕ´Ï´Ù. define ¼³Á¤¿¡ °üÇؼ­´Â ¾Æ·¡ Ç¥¸¦ ÂüÁ¶ÇϽðí
ÄÄÆÄÀÏ·¯º° ¼³Á¤ ¹æ¹ýÀº ¾Æ·¡ ÄÄÆÄÀÏ·¯º° ¼³Á¤°¡À̵带 ÂüÁ¶Çϼ¼¿ä.

Rabbit °³¹ßº¸µå´Â LQFP64¿¡¼­ LCD¸¦ Á¦¾îÇϱâ À§Çؼ­ JTAGÆ÷Æ®¸¦ ÀÏ¹Ý GPIOÆ÷Æ®·Î È°¿ëÇÏ°í ÀÖ½À´Ï´Ù. ±×·¡¼­ ºÎÆýÿ¡ JTAG
¸ðµå ´ë½Å¿¡ SWD¸ðµå(JTAG_Set(SWD_ENABLE))·Î ÀüȯÇؼ­ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù. »ç¿ëÇϽô JTAGÀåºñ°¡ SWD¸ðµå¸¦ Áö¿øÇÑ´Ù¸é
ÀåºñÀÇ µð¹ö±× ¸ðµå¸¦ SWD¸ðµå·Î ¼³Á¤Çؼ­ »ç¿ëÇϽñ⠹ٶø´Ï´Ù. »ç¿ëÇϽô JTAGÀåºñ°¡ SWD¸ðµå¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù¸é CPU¸ðµâÀÇ
Á¡ÆÛ¸¦ ISP¸ðµå·Ñ ÀüȯÇÑ ÈÄ ResetÇÑ ÀÌÈÄ¿¡ JTAG Àåºñ¸¦ ÀÌ¿ëÇؼ­ ´Ù¿î·Îµå ÇϽñ⠹ٶø´Ï´Ù.


(1) JTAGÀåºñº° SWD¸ðµå ¼¼Æà ¹æ¹ý(»õâ)

ÇÉ »ç¾çº° ºÐ·ù
Á¦Ç°À̸§
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_HD
USE_STDPERIPH_DRIVER, STM32F10X_CL
USE_STDPERIPH_DRIVER, STM32F10X_CL
USE_STDPERIPH_DRIVER, STM32F10X_CL
LQFP144 STM32F103ZET6 ÄÚ¾î¸ðµâ USE_STDPERIPH_DRIVER, STM32F10X_HD

5.1 Keil MDK 4.02

ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ Keil MDK ÄÄÆÄÀÏ·¯ ¼³Á¤ ¹æ¹ý°ú ÄÄÆÄÀÏ(»õâ)

5.2 IAR Workbench 5.4

ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ IAR ÄÄÆÄÀÏ·¯ ¼³Á¤ ¹æ¹ý°ú ÄÄÆÄÀÏ(»õâ)

5.3 RIDE7

ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ RIDE7 ÄÄÆÄÀÏ·¯ ¼³Á¤ ¹æ¹ý°ú ÄÄÆÄÀÏ(»õâ)

5.4 GCC & ÀÌŬ¸³½º

ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ ÀÌŬ¸³½º & GCC ¼³Á¤ ¹æ¹ý°ú ÄÄÆÄÀÏ(»õâ)



6. Trouble shoot

6.1 OV7670 Ä«¸Þ¶ó Preview issue

(1) ¾Æ·¡¿Í °°ÀÌ ov7670.c ¼Ò½ºÆÄÀÏ ¼öÁ¤ ÈÄ Àç ÄÄÆÄÀÏ

- STM32F105, STM32F107 ½Ã¸®ÁîÀÇ °æ¿ì

void CLK_init_ON(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

// Clock output txz
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = CAMERA_XCLK_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP ;
GPIO_Init(CAMERA_XCLK_PORT, &GPIO_InitStructure);

RCC_MCOConfig(RCC_MCO_HSI );//hsi

}

- STM32F103 ½Ã¸®ÁîÀÇ °æ¿ì ¼öÁ¤

void CLK_init_ON(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

// Clock output txz
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = CAMERA_XCLK_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP ;
GPIO_Init(CAMERA_XCLK_PORT, &GPIO_InitStructure);

RCC_MCOConfig(RCC_MCO_HSE );//hse

}