Loaʻa ka PikaScript 1.8, kahi ʻano o ka ʻōlelo Python no nā microcontrollers

Ua hoʻokuʻu ʻia ka papahana PikaScript 1.8, e hoʻomohala ana i kahi mīkini paʻa no ke kākau ʻana i nā noi no nā microcontrollers ma Python. ʻAʻole pili ʻo PikaScript i nā hilinaʻi o waho a hiki ke holo ma luna o nā microcontrollers me 4 KB RAM a me 32 KB Flash, e like me ka STM32G030C8 a me STM32F103C8. I ka hoʻohālikelike, koi ʻo MicroPython i 16 KB o RAM a me 256 KB o Flash, aʻo Snek e koi i 2 KB o RAM a me 32 KB o Flash. Ua kākau ʻia ke code papahana ma C a ua māhele ʻia ma lalo o ka laikini MIT.

Hāʻawi ʻo PikaScript i kahi ʻāpana o ka ʻōlelo Python 3 e kākoʻo ana i nā mea syntax e like me ka lālā a me nā ʻōlelo loop (inā, ʻoiai, no ka mea ʻē aʻe, elif, break, continue), nā mea hana maʻamau (+ - * / < == >), modules, encapsulation, hoʻoilina, polymorphism, papa a me nā ʻano. Hoʻokō ʻia nā palapala Python ma nā polokalamu ma hope o ka hoʻopili mua ʻana - Hoʻololi mua ʻo PikaScript i ka code Python i loko o ka Pika Asm bytecode, i hana ʻia ma ka ʻaoʻao hope i kahi mīkini virtual Pika Runtime kūikawā. Kākoʻo ia i ka hana pololei ʻana ma luna o ka ʻenehana a i ʻole ma RT-Thread, VSF (Versaloon Software Framework) a me nā kaiapuni Linux.

Loaʻa ka PikaScript 1.8, kahi ʻano o ka ʻōlelo Python no nā microcontrollers

Hoʻokaʻawale, ʻike ʻia ka maʻalahi o ka hoʻohui ʻana i nā palapala PikaScript me ke code ma ka ʻōlelo C - hiki ke hoʻopili ʻia nā hana i kākau ʻia ma ka ʻōlelo C i ke code, e hiki ai i ka hoʻokō ʻana o PikaScript e hoʻohana i nā hoʻomohala o nā papahana kahiko i kākau ʻia ma ka ʻōlelo C. Hiki ke hoʻohana ʻia nā wahi hoʻomohala e like me Keil, IAR, RT-Thread Studio a me Segger Embedded Studio e hoʻomohala i nā modules C. Hoʻokumu ʻia nā hoʻopaʻa ʻana ma ka pae hoʻohui; lawa ia e wehewehe i ka API ma kahi faila me ka code Python a e hana ʻia ka hoʻopaʻa ʻana o nā hana C i nā modules Python i ka wā e hoʻomaka ai ka Pika Pre-compiler.

Loaʻa ka PikaScript 1.8, kahi ʻano o ka ʻōlelo Python no nā microcontrollers

Ke koi nei ʻo PikaScript i ke kākoʻo no 24 microcontrollers, me nā ʻano hoʻohālike like ʻole stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, RaspberryC32 Pico, ESP3fineon.TC264 a me In32Dfineon. No ka hoʻomaka koke ʻana i ka hoʻomohala ʻana me ka ʻole o nā lako, hāʻawi ʻia kahi simulator a i ʻole kahi papa hoʻomohala Pika-Pi-Zero e pili ana i ka microcontroller STM030G8C6T64 me 8 KB Flash a me XNUMX KB RAM hāʻawi ʻia, e kākoʻo ana i nā kikowaena peripheral maʻamau (GPIO, TIME, IIC, RGB, KEY. , LCD, RGB) . Ua hoʻomākaukau pū nā mea hoʻomohala i kahi mea hoʻomohala papahana pūnaewele a me ka luna pūʻolo PikaPackage.

Hoʻokomo ka mana hou i ka hoʻokele hoʻomanaʻo e pili ana i ka helu ʻana a hoʻohui i ke kākoʻo no nā mea hana virtual (factory method). Ua ʻike ʻia nā pilikia hoʻomanaʻo me ka hoʻohana ʻana i ka pahu hana valgrind. Hoʻohui i ke kākoʻo no ka hōʻuluʻulu ʻana i nā faila pc Python i ka bytecode a hoʻopili iā lākou i ka firmware. Ua hoʻokō ʻia ka hiki ke hoʻohana i nā faila Python he nui i ka firmware me ka ʻole o ka hoʻohana ʻana i kahi ʻōnaehana faila.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka