32ºñÆ® ¸¶ÀÌÅ©·ÎÄÁÆ®·Ñ·¯ Cortex M4 ¹«ÀÛÁ¤ µû¶óÇϱâ - STM32F407 Áß½É
32ºñÆ® MCUÀÇ ÇÁ·Î±×·¡¹ÖÀÇ ¿ëÀ̼º °ú°Å¿¡ ARM7, ARM9, ARM11 ½ÃÀý¿¡µµ 32ºñÆ® ÇÁ·Î¼¼¼ÀÇ ÀåÁ¡À» ¾Ë¸é¼µµ °í°¡ÀÌ°í ¶ÇÇÑ ·¹Áö½ºÅÍÁ÷Á¢ÁöÁ¤¹æ½ÄÀ¸·Î ÇÁ·Î±×·¡¹ÖÀ» Çϱâ À§Çؼ´Â ÃÖ¼Ò 5³â ÀÌ»óÀÇ °æ·ÂÀÚ¸¸ÀÌ °¡´ÉÇÏ¿´À¸¹Ç·Î, Áß¼Ò±â¾÷À̳ª Áß°ß±â¾÷¿¡¼´Â ¼º´ÉÀº ºÎÁ·ÇÏÁö¸¸ ´Ù·ç±â ½¬¿î AVRÀ» »ç¿ëÇÏ¿´°í, ´ëÇп¡¼µµ ¿ª½Ã ¹è¿ì±â ½¬¿î AVRÀ» ÀÌ¿ëÇÑ ¼ö¾÷À» ÁøÇàÇÏ¿´´Ù. ±×·¯³ª Cortex ½Ã¸®Áî°¡ Ãâ½ÃµÇ¸é¼ CMSIS(Cortex Microcontroller Software Interface Standard)¿Í SPL(Standard Peripheral Library)ÀÌ Á¦°øµÇ¸é¼ Áö±ÝÀº ÄÄÇ»Åͳª ÀüÀÚ°øÇаú°¡ ¾Æ´Ñ Çаú¿¡¼µµ GPIO, ŸÀ̸Ó, PWM, DMA¿Í ADC, DAC, ±×¸®°í UARTµîÀÇ ÁÖº¯ÀåÄ¡ »ç¿ë¹æ¹ý¿¡ ´ëÇÑ ÄÚµù±³À°ÀÌ ÇÑ Çб⿡ ÀÌ·ç¾îÁú ¸¸Å ¿ëÀÌÇØÁ³´Ù. CMSIS´Â ARM»ç¿¡¼ ÇÁ·Î±×·¡¸Ó°¡ ÀÌÇØÇÏ°í, »ç¿ëÇϱ⠽±°Ô Á¤ÀǸ¦ ÇسõÀº °ÍÀÌ°í, SPLÀº ÀÌ·¯ÇÑ CMSIS¸¦ ¹ÙÅÁÀ¸·Î ÁÖº¯ÀåÄ¡µéÀÇ µ¿ÀÛ¿¡ ÇÊ¿äÇÑ ÇÔ¼öµîÀÌ Á¤ÀǵǾî ÀÖ´Â ¶óÀ̺귯¸®ÀÌ´Ù. ±×·¯¹Ç·Î ÀÌ Ã¥¿¡¼´Â ·¹Áö½ºÅ͸¦ Á÷Á¢Ã³¸®ÇÏ´Â ¹æ½ÄÀ» Áö¾çÇÏ°í, SPLÀ» »ç¿ëÇÏ¿© ¾ÆµÎÀ̳ë¿Í °°ÀÌ ÇÁ·Î±×·¥¹ÖÀÇ ÆíÀǼºÀ» À§ÁÖ·Î ±¸¼ºÇÏ¿´´Ù. ÀÌ Ã¥Àº ¶óÀ̺귯¸® ¹× ¿¹Á¦°¡ Àß Á¤ÀǵǾî ÀÖ´Â STMicroelectronics(ÀÌÇÏ ST»ç)¿¡¼ Á¦°øÇÏ´Â MCUÁß¿¡ STM32F407À» »ç¿ëÇÏ¿´´Ù. MCU¸¦ »ç¿ëÇϱâ À§ÇØ STM32F407VG¿Í ST-LINK¶ó´Â µð¹ö°Å±îÁö žÀçÇÑ STM32F407VG-DISC1ÀÇ µð½ºÄ¿¹ö¸®º¸µå¸¦ ±â¹ÝÀ¸·Î ¿¹Á¦ÇÁ·Î±×·¥À» ±¸¼ºÇÏ¿´´Ù. ÀÌ Ã¥ÀÇ ±¸¼º Ã¥ÀÇ ¼ø¼´Â 1ºÎ¿¡¼ ÄÄÆÄÀÏ·¯, µð¹ö°Åµî ÇÊ¿äÇÑ ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡¹æ¹ý ¹× »ç¿ë¹ý¿¡ ´ëÇØ ¼³¸íÇÏ°í 2ºÎ¿¡¼´Â ±âº»ÀûÀ¸·Î »ç¿ëµÇ´Â ÁÖº¯ÀåÄ¡µé (RCC, GPIO, ŸÀ̸Ó, ¿ÜºÎÀÎÅÍ·´Æ®)¿¡ ´ëÇØ ¼³¸íÇÏ°í 3ºÎ¿¡¼´Â Á¶±Ý ³À̵µ°¡ ÀÖ´Â ÁÖº¯ÀåÄ¡µé (PWM, UART, ADC, DAC)À» ¼³¸íÇÏ°í , HC-06À» ÀÌ¿ëÇÏ´Â ºí·çÅõ½ºµµ Ãß°¡ÇÏ¿´´Ù. °¢ éÅÍ´Â ÇØ´ç ÁÖº¯ÀåÄ¡ÀÇ °³¿ä¸¦ ¼³¸íÇÏ°í SPL¹æ½ÄÀÇ ¿¹Á¦¸¦ ÀÛ¼º ¹× ½ÇÇàÇغ¸°í, °¢°¢ÀÇ ¿¹Á¦¸¦ ÇÑÁÙ ÇÑÁÙ ¼³¸íÇÏ´Â ¹æ½ÄÀ¸·Î ±¸¼ºµÇ¾îÀÖ´Ù. ¾Æ¿ï·¯ ±³Àç¿¡ ´ëÇÑ Ãß°¡¼³¸í ¹× ÇÊ¿äÇÑ ÀÚ·áµîÀº ¾Æ·¡ ³×À̹ö ºí·Î±×¿¡ ¾÷·ÎµåÇÒ ¿¹Á¤ÀÌ´Ù. ¶ÇÇÑ ¹®ÀÇ»çÇ×À̳ª ÀÇ°ßµµ ¿Ã·ÁÁֱ⠹ٶõ´Ù. https://blog.naver.com/hojoonmk