
ST¸¶ÀÌÅ©·ÎÀÏ·ºÆ®·Î´Ð½º(STMicroelectronics, ÀÌÇÏ ST)°¡ »õ·Î¿î STM32Å¥ºê(STM32Cube) ·Î¿ì ·¹ÀÌ¾î ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥ ÀÎÅÍÆäÀ̽º(ÀÌÇÏ, LL API) ¼ÒÇÁÆ®¿þ¾î¸¦ 32ºñÆ® ¸¶ÀÌÅ©·ÎÄÁÆ®·Ñ·¯ °³¹ß ¿¡ÄڽýºÅÛ¿¡ Ãß°¡Çß´Ù. À̹ø LL API¸¦ Àû¿ëÇϸé STM32 ARM® Cortex®-M ¸¶ÀÌÅ©·ÎÄÁÆ®·Ñ·¯¸¦ ¾µ ¶§ Çϵå¿þ¾îÀÇ ·¹Áö½ºÅÍ ·¹º§¿¡¼µµ ÄÚµå ÀÛ¾÷À» ÇÒ ¼ö ÀÖ¾î ¼º´É°ú ·±Å¸ÀÓ È¿À²¼ºÀÇ ÃÖÀûȸ¦ ±â´ëÇÒ ¼ö ÀÖ´Ù.
LL APIÀÇ Ãâ½Ã·Î STM32Å¥ºê´Â, »ç¿ëÀÌ ½±°í À̽ÄÀÌ °¡´ÉÇÑ Çϵå¿þ¾î Ãß»óÈ °èÃþ(Hardware Abstraction Layer, ÀÌÇÏ HAL)¿¡¼ ÃÖÀûÈ ¼öÁØÀÌ Å¹¿ùÇÑ LL API¿¡ À̸£±â±îÁö, ¼³°è ½Ã ĨÀÇ ÁÖº¯ºÎǰ Á¦¾î¿¡¼µµ ¿Ïº®ÇÑ À¯¿¬¼ºÀ» Á¦°øÇÒ ¼ö ÀÖ°Ô µÆ´Ù. À̸¦ ÅëÇØ °í°´µéÀº STÀÇ °ËÁõµÈ ¼ÒÇÁÆ®¿þ¾î¸¦ Ȱ¿ëÇÏ¿© ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ´õ¿í ÁýÁßÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
LL API´Â STM32Å¥ºê ÆÐŰÁö¿¡ ÅëÇÕ Á¦°øµÇ¸ç STM32 ´©Å¬·¹¿À °³¹ß º¸µå »ó¿¡¼ µ¿ÀÛÇÏ´Â ¿¹Á¦ ÇÁ·ÎÁ§Æ®µéµµ ÇÔ²² Á¦°øµÈ´Ù. ÀÌ·¯ÇÑ ¿¹Á¦µéÀº ´Ù¸¥ STM32 º¸µå·Î ¹Ù·Î Æ÷ÆÃÇϱ⠽±µµ·Ï µÇ¾î ÀÖ´Ù. LL API´Â HAL°ú ÇÔ²² µ¿ÀÏÇÑ ÇÁ·ÎÁ§Æ®[1] ¿¡¼ »ç¿ëÀÌ °¡´ÉÇÏ¿© ¼³°è ½Ã Á¦Ç° Ãâ½Ã ±â°£, ¼ÒÇÁÆ®¿þ¾î Á¡À¯ ¸Þ¸ð¸®, ·±Å¸ÀÓ È¿À²¼ºÀ» °í·ÁÇÑ ÃÖÀûÀÇ ÀýÃæ ÁöÁ¡À» °áÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÃÖ´ëÇÑÀÇ ¼³°è À¯¿¬¼ºÀ» Á¦°øÇÑ´Ù.
LL API·Î ±¸ ¹öÀüÀÎ STM32 Ç¥ÁØ ÁÖº¯ ¶óÀ̺귯¸®(Standard Peripheral Libraries, ÀÌÇÏ SPL)¿¡¼µµ STMÅ¥ºê ¿¡ÄڽýºÅÛÀ¸·ÎÀÇ À̵¿ÀÌ ¼Õ½±´Ù. ÀϺΠ¿¹¿Ü »çÇ×ÀÌ ÀÖ±ä ÇÏÁö¸¸ LL APIµµ STM32Å¥ºê ÀÓº£µðµå ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁöÀÇ HAL°ú µ¿ÀÏÇÏ°Ô MISRA-C 2004 Ç¥ÁØÀ» ÁؼöÇϰí, ÀÌ ¿¹¿Ü »çÇ×Àº ¸ðµÎ Á¤¸®µÇ¾î ¼³¸íÀÌ Ã·ºÎµÇ¾î ÀÖ´Ù. ¶ÇÇÑ ±×·¡¸¶Å×Å©(Grammatech) »çÀÇ ÄÚµå¼Ò³ª(CodeSonar®) ÅøÀ» »ç¿ëÇÏ¿© ¼ÒÇÁÆ®¿þ¾î °Ë»ç¸¦ ¹Þ¾Æ ÃÖÀûÈµÈ ÄÚµå ǰÁú ¹× ½Å·Ú¼ºÀÌ º¸ÀåµÈ´Ù. STM32Å¥ºêMX ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁöÀÇ ÀÚµ¿ ¾÷µ¥ÀÌÆ® ±â´ÉÀ» ÅëÇØ ÃֽйöÀüÀ¸·Î À¯ÁöµÈ´Ù.
STM32L4, L0 ¹× F0 MCU ½Ã¸®Áî¿ë STMÅ¥ºê ÆÐŰÁö ÇüÅ·Π¹«·á ¿ÀÇ ¼Ò½º BSD[2] LL API¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, STMÅ¥ºêÀÇ ÀüüÀûÀÎ ¹èÆ÷´Â 2017³â 1ºÐ±â·Î °èȹµÇ¾î ÀÖ´Ù.
|