• Головна
  • Статті та випуски
    • Поточний випуск
    • Архів
  • Про журнал
    • Цілі та проблематика
    • Редакційна колегія
    • Індексація журналу
    • Джерела фінансування
  • Для авторів
    • Подання статті
    • Умови публікації
    • Загальні вимоги до оформлення рукописів
    • Процес рецензування
    • Редакційні збори
    • Договір про передачу прав від автора до видавця
  • Етика та політики
    • Публікаційна етика
    • Конфлікт інтересів
    • Політика відкритого доступу
    • Політика архівування матеріалів
    • Політика скарг
    • Положення про конфіденційність
    • Положення про відкликання публікацій
    • Політика антиплагіату
    • Політика використання генеративного ШІ
  • Контакти
uk Українська
  • English English

Транспортні системи та технології

  • Подати статтю
  • Головна
  • Статті та випуски
    • Поточний випуск
    • Архів
  • Про журнал
    • Цілі та проблематика
    • Редакційна колегія
    • Індексація журналу
    • Джерела фінансування
  • Для авторів
    • Подання статті
    • Умови публікації
    • Загальні вимоги до оформлення рукописів
    • Процес рецензування
    • Редакційні збори
    • Договір про передачу прав від автора до видавця
  • Етика та політики
    • Публікаційна етика
    • Конфлікт інтересів
    • Політика відкритого доступу
    • Політика архівування матеріалів
    • Політика скарг
    • Положення про конфіденційність
    • Положення про відкликання публікацій
    • Політика антиплагіату
    • Політика використання генеративного ШІ
  • Пошук
  • Контакти

Стаття

  • Читати статтю
  • Завантажити статтю

Отримано 19.02.2025

Доопрацьовано 25.05.2025

Прийнято 20.06.2025

Взято з Том 28, № 1, 2025

Сторінки 8 -21

  • 139 Переглядів

ЦИТУВАТИ

Dashdamirli, N. (2025). Cross-platform development for microcontrollers: Design of a virtual machine based portable programming language. The National Transport University Bulletin: A Scientific and Technical Journal, 28(1), 8-21. https://doi.org/10.32703/2617-9040-2025-45-1

Крос-платформенна розробка для мікроконтролерів: проєктування переносимої мови програмування на основі віртуальної машини

Нуру Дашдамірлі

Анотація

Фундаментальна  роль  мікроконтролерів  у  вбудовуваних  системах  та  середовищах Інтернетуречей  потребує  ефективних  підходів  до  розробки  програмного  забезпечення. Обмеження  ресурсів  мікроконтролерів,  складність  мов  програмування  низького  рівня  та проблеми  реалізації  багатозадачності  значно  уповільнюють  процес  розробки.  Крім  того, різноманітність екосистеми мікроконтролерів створює суттєві бар'єри для портативності коду, що призводить до збільшення часу розробки для підтримки різних апаратних платформ. У цій статті представлено розробку підходу програмування на основі віртуальної машини, що забезпечує  кроссплатформенну  розробку  для  мікроконтролерів.  Пропонована  мова програмування, що переноситься, інтегрується з користувальницькою віртуальною машиною Mico8-Chip для відповідності сучасним додаткам мікроконтролерів. Це забезпечує інтуїтивне керування  периферійними  пристроями  та  вбудовану  підтримку  паралельного  виконання. Наданий  рівень  абстракції  значно  покращує  переносимість  коду  та  прискорює  розробку, ізолюючи логіку застосування від базових апаратних особливостей

Ключові слова:

мікроконтроллер; вбудовані системи; віртуальна машина; програмування; байт-код; паралелізм; інтернет речей

Використані джерела

  1. Wu, Z., Qiu, K., & Zhang, J. (2020). A Smart Microcontroller Architecture for the Internet of Things. Sensors, 20(7), 1821. https://doi.org/10.3390/s20071821.
  2. Krishnamurthy, J., & Maheswaran, M. (2016). Programming frameworks for Internet of Things. In Internet of Things (pp. 79-102). Morgan Kaufmann. https://doi.org/10.1016/B978-0-12-805395-9.00005-8.
  3. Bell, C. (2024). MicroPython for the Internet of Things: A Beginner’s Guide to Programming with Python on Microcontrollers Second Edition. Apress eBooks. https://doi.org/10.1007/978-1-4842-9861-9.
  4. Dashdamirli, N. (2025). Hybrid scheduling approach for concurrent task execution on microcontroller-based systems. Romanian        Journal   of            Information            Technology            and         Automatic          Control,   35(1),      79–90. https://doi.org/10.33436/v35i1y202506.
  5. Priyadarshini, S. B. B., Mahapatra, A., Mohanty, S. N., Nayak, A., Jena, J. P., & Samanta, S. K. S. (2022). myCHIP-8 emulator: An innovative software testing strategy for playing online games in many platforms. In Optimization of Automated Software Testing Using Meta-Heuristic Techniques (pp. 133-154). Cham: Springer International Publishing. https://doi.org/10.1007/978-3-031-07297-0_9.
  6. Cruz, N., Ruiz-Ferrández, M., Redondo, J. L., Álvarez, J., & Ortigosa, P. (2019). Applications of chip-8, a virtual machine from the late seventies, in current degrees in computer engineering. In EDULEARN19 Proceedings (pp. 1720-1729). IATED. https://doi.org/10.21125/edulearn.2019.0501.
  7. Dubé, D., & Feeley, M. (2005). BIT: A Very Compact Scheme System for Microcontrollers. Higher-Order and Symbolic Computation, 18(3), 271-298. https://doi.org/10.1007/s10990-005-4877-4.
  8. Feeley, M., & Dubé, D. (2003, November). PICBIT: A Scheme system for the PIC microcontroller. In Proceedings of the Fourth Workshop on Scheme and Functional Programming (pp. 7-15).
  9. St-Amour, V., & Feeley, M. (2010). PICOBIT: A Compact Scheme System for Microcontrollers. Implementation and Application of Functional Languages, 1-17. https://doi.org/10.1007/978-3-642-16478-1_1.
  10. Brouwers, N., Corke, P., & Langendoen, K. (2008, December). Darjeeling, a Java compatible virtual machine for microcontrollers. In Proceedings of the ACM/IFIP/USENIX Middleware'08 Conference Companion (pp. 18-23). https://doi.org/10.1145/1462735.1462740.
  11. Aslam, F. (2011). Challenges and Solutions in the Design of a Java VirtualMachine for Resource Constrained Microcontrollers (Doctoral dissertation, University of Freiburg).
  12. Varoumas, S., Vaugon, B., & Chailloux, E. (2016, January). Concurrent Programming of Microcontrollers, a Virtual Machine Approach. In 8th European Congress on Embedded Real Time Software and Systems (ERTS 2016) (pp. 711-720).
  13. Varoumas, S., Vaugon, B., & Chailloux, E. (2018, January). A generic virtual machine approach for programming microcontrollers: the OMicroB project. In 9th European Congress on Embedded Real Time Software and Systems (ERTS 2018).
  14. Gurdeep Singh, R., & Scholliers, C. (2019, October). WARDuino: a dynamic WebAssembly virtual machine for programming microcontrollers. In Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (pp. 27-36). https://doi.org/10.1145/3357390.3361029.
  15. Zandberg, K., & Baccelli, E. (2020, December). Minimal virtual machines on iot microcontrollers: The case of berkeley packet filters with rbpf. In 2020 9th IFIP International Conference on Performance Evaluation and Modeling in Wireless Networks (PEMWN) (pp. 1-6). IEEE. https://doi.org/10.23919/PEMWN50727.2020.9293081.
  16. Sarkar, A., Krook, R., Svensson, B. J., & Sheeran, M. (2021, September). Higher-order concurrency for microcontrollers. In Proceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (pp. 26-35). https://doi.org/10.1145/3475738.3480716.
Поділитися
Facebook
Twitter
LinkedIn
Email
Telegram
Viber
WhatsApp

https://doi.org/10.32703/2617-9040-2025-45-1

Адреса
03049, Україна, г. Київ,
вул. Івана Огієнка, 19


Email
ntu@tstjournal.org.ua

Основна інформація
  • Цілі та проблематика
  • Індексація журналу
  • Умови публікації
  • Редакційна колегія
  • Публікаційна етика
Додаткова інформація
  • Політика скарг
  • Процес рецензування
  • Політика відкритого доступу
  • Політика антиплагіату
  • Політика використання генеративного ШІ
  • Політика архівування матеріалів