Python์์ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ธฐ ์ํ ์ํ ์์ง์ ๊ฐ๋ฐํ๋ PikaScript 1.8 ํ๋ก์ ํธ์ ๋ฆด๋ฆฌ์ค๊ฐ ๋ฐํ๋์์ต๋๋ค. PikaScript๋ ์ธ๋ถ ์ข ์์ฑ์ ๋ฌถ์ด์ง ์์ผ๋ฉฐ STM4G32C32 ๋ฐ STM030F8C32๊ณผ ๊ฐ์ 103KB RAM ๋ฐ 8KB ํ๋์๊ฐ ์๋ ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ์์ ์คํํ ์ ์์ต๋๋ค. ์ด์ ๋นํด MicroPython์๋ 16KB์ RAM๊ณผ 256KB์ ํ๋์๊ฐ ํ์ํ ๋ฐ๋ฉด Snek์๋ 2KB์ RAM๊ณผ 32KB์ ํ๋์๊ฐ ํ์ํฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ C๋ก ์์ฑ๋์์ผ๋ฉฐ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
PikaScript๋ ๋ถ๊ธฐ ๋ฐ ๋ฃจํ ๋ฌธ(if, while, for, else, elif, break, continue), ๊ธฐ๋ณธ ๋ฌธ(+ - * / < == >), ๋ชจ๋, ์บก์ํ, ์์, ๋คํ์ฑ, ํด๋์ค ๋ฐ ๋ฉ์๋. Python ์คํฌ๋ฆฝํธ๋ ์ฌ์ ์ปดํ์ผ ํ ์ฅ์น์์ ์คํ๋ฉ๋๋ค. PikaScript๋ ๋จผ์ Python ์ฝ๋๋ฅผ ํน์ Pika Runtime ๊ฐ์ ๋จธ์ ์ ์ต์ข ์ฅ์น์์ ์คํ๋๋ ๋ด๋ถ Pika Asm ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํํฉ๋๋ค. ํ๋์จ์ด ์์์ ๋๋ RT-Thread, VSF(Versaloon Software Framework) ๋ฐ Linux ํ๊ฒฝ์์ ์ง์ ์์ ์ด ์ง์๋ฉ๋๋ค.
์ด์๋ ๋ณ๋๋ก PikaScript ์คํฌ๋ฆฝํธ์ C ์ธ์ด ์ฝ๋์ ํตํฉ ์ฉ์ด์ฑ์ ์ฃผ๋ชฉํฉ๋๋ค. C ์ธ์ด๋ก ์์ฑ๋ ๊ธฐ๋ฅ์ ์ฝ๋์ ์ฒจ๋ถํ ์ ์์ผ๋ฏ๋ก PikaScript๋ฅผ ๊ตฌํํ ๋ C ์ธ์ด๋ก ์์ฑ๋ ์ด์ ํ๋ก์ ํธ์ ๊ฐ๋ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. C ๋ชจ๋์ Keil, IAR, RT-Thread Studio ๋ฐ Segger Embedded Studio์ ๊ฐ์ ๊ธฐ์กด ๊ฐ๋ฐ ํ๊ฒฝ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ๋ฐ์ธ๋ฉ์ ์ปดํ์ผ ๋จ๊ณ์์ ์๋์ผ๋ก ์์ฑ๋๋ฉฐ, Python ์ฝ๋๋ก ํ์ผ์ API๋ฅผ ์ ์ํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ๋ฉฐ C ํจ์๋ฅผ Python ๋ชจ๋์ ๋ฐ์ธ๋ฉํ๋ ๊ฒ์ Pika Pre-compiler ์ปดํ์ผ๋ฌ ์คํ ์ค์ ์ํ๋ฉ๋๋ค.
PikaScript๋ stm24g*, stm32f*, stm32h*, WCH ch32, ch582*, WinnerMicro w32*, Geehy apm80*, Bouffalo Lab bl-32, Raspberry Pico, ESP706C32 ๋ฐ Infineon TC3D์ ๋ค์ํ ๋ชจ๋ธ์ ํฌํจํ์ฌ 264๊ฐ์ ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ์ ๋ํ ์ง์์ ์ฃผ์ฅํฉ๋๋ค. ํ๋์จ์ด ์์ด ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ์ ์์ํ๊ธฐ ์ํด ์๋ฎฌ๋ ์ดํฐ๊ฐ ์ ๊ณต๋๊ฑฐ๋ 32KB ํ๋์ ๋ฐ 030KB RAM์ด ์๋ STM8G6C64T8 ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ Pika-Pi-Zero ๊ฐ๋ฐ ๋ณด๋๊ฐ ์ ๊ณต๋๋ฉฐ ๊ณตํต ์ฃผ๋ณ ์ฅ์น ์ธํฐํ์ด์ค(GPIO, TIME, IIC, RGB, KEY)๋ฅผ ์ง์ํฉ๋๋ค. , LCD, RGB) . ๊ฐ๋ฐ์๋ ์จ๋ผ์ธ ํ๋ก์ ํธ ์์ฑ๊ธฐ์ PikaPackage ํจํค์ง ๊ด๋ฆฌ์๋ ์ค๋นํ์ต๋๋ค.
์ ๋ฒ์ ์ ์ฐธ์กฐ ํ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ๊ตฌํํ๊ณ ๊ฐ์ ์์ฑ์(ํฉํ ๋ฆฌ ๋ฉ์๋)์ ๋ํ ์ง์์ ์ถ๊ฐํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ์ง๋จ์ valgrind ํดํท์ ์ฌ์ฉํ์ฌ ์ํ๋์์ต๋๋ค. Python pc ํ์ผ์ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผํ๊ณ ํ์จ์ด๋ก ํจํค์งํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ํ์ผ ์์คํ
์ ์ฌ์ฉํ ํ์ ์์ด ํ์จ์ด์์ ์ฌ๋ฌ Python ํ์ผ์ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
์ถ์ฒ : opennet.ru