dc.contributor.author | Martinez Santa1, Fernando | |
dc.contributor.author | Orjuela Rivera2, Santiago | |
dc.contributor.author | Martinez Sarmiento1, Fredy H. | |
dc.date.accessioned | 2023-10-13T22:34:20Z | |
dc.date.available | 2023-10-13T22:34:20Z | |
dc.date.issued | 2022 | |
dc.identifier.citation | APA | spa |
dc.identifier.issn | 0973-5321 | spa |
dc.identifier.uri | https://repositorio.cun.edu.co/handle/cun/4469 | |
dc.description.abstract | This article proposes a programming structure for low-resource
microcontrollers over the name of Sokae Project, this is inspired by
Arduino and Micropython projects and pretends to work as a medium
point between both programming structures taking the best features of
each kind of languages and programming structures. The project’s name
is inspired by the crab pet of Rust programming language. Sokae means
crab in Emberá Chamí language, so the project’s name is a tribute to
Emberá native people. The programming structure is composed of three
main components: a language based on Rust syntax, a transpiler that
turns the defined Rust- like language into C, and a generic Application
Programming Interface API. The main goal of this project is to obtain a
cross- platform programming structure for programming low-resource
microcontrollers over the same language and API. Sokae language is a
small subset of Rust programming language following its overall syntax.
On the other hand, the transpiler from Sokae language to C is
implemented by using Python and the SLY module as lexer and parser.
Likewise, the API is written for the native C compiler for each
microcontroller, so it is necessary to use it as a part of the project. Several
application examples are tested in order to check the correct working of
the overall programming structure, just over the XC16 compiler for
PIC24/dsPIC33 microcontroller family. Finally, after several tests, the
proposed programming structure shows that it is possible to use modern
language structure to program any kind of microcontroller no matteríts
limited resources. | eng |
dc.format.extent | 16 Paginas | spa |
dc.format.mimetype | application/pdf | spa |
dc.language.iso | eng | spa |
dc.subject.ddc | Ciencias de la computación, información y obras generales - Programación, programas, datos de computación | spa |
dc.title | Rust-like Programming Language for Low-resource Microcontrollers | eng |
dc.type | Artículo de revista | spa |
dcterms.audience | Estudiantes, docentes, investigadores, comunidad académica. | eng |
dc.contributor.researchgroup | Idecun - Armos | spa |
dc.description.researcharea | Innovación Tecnológica | spa |
dc.relation.references | A. Radovici and I. Culic, Embedded Systems Software Development.
Berkeley, CA: Apress, 2022, pp. 27–47. | spa |
dc.relation.references | E. Kusmenko, B. Rumpe, S. Schneiders, and M. von Wenckstern, “Highlyoptimizing and multi-target compiler for embedded system models: C++
compiler toolchain for the component and connector language
embeddedmontiarc,” in Proceedings of the 21th ACM/IEEE International
Conference on Model Driven Engineering Languages and Systems, ser.
MODELS ’18. New York, NY, USA: Association for Computing Machinery,
2018, p. 447–457. [Online]. Available:
https://doi.org/10.1145/3239372.3239388 | spa |
dc.relation.references | A. K. Rachioti, D. E. Bolanakis, and E. Glavas, “Teaching strategies for the
development of adaptable (compiler, vendor/processoríndependent)
embedded c code,” in 2016 15th International Conference on Informa- tion
Technology Based Higher Education and Training (ITHET), 2016, pp. 1–7. | spa |
dc.relation.references | K. Zandberg and E. Baccelli, “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). IEEE, 2020, pp. 1–6. | spa |
dc.relation.references | K. Grunert, “Overview of javascript engines for resource-constrained
microcontrollers,” in 2020 5th International Conference on Smart and
Sustainable Technologies (SpliTech), 2020, pp. 1–7. | spa |
dc.relation.references | D. E. Bolanakis, “A survey of research in microcontroller education,” IEEE
Revista Iberoamericana de Tecnologias del Aprendizaje, vol. 14, no. 2, pp.
50–57, 2019. | spa |
dc.relation.references | S.-M. Kim, Y. Choi, and J. Suh, “Applications of the open-source hardware
arduino platform in the mining industry: A review,” Applied Sciences, vol.
10, no. 14, p. 5018, 2020. | spa |
dc.relation.references | V. M. Ionescu and F. M. Enescu, “Investigating the performance of
micropython and c on esp32 and stm32 microcontrollers,” in 2020 IEEE
26th International Symposium for Design and Technology in Electronic
Packaging (SIITME), 2020, pp. 234–237. | spa |
dc.relation.references | A. Suarez Ruiz, “Disen o de hardware y firmware para un sistema
inal ́ambrico de adquisició n de datos daq de bajo costo,” Departamento de
Ingenierí́a El ́ectrica, Electró nica y Computació n, 2019. | spa |
dc.relation.references | H. Wu, C. Chen, and K. Weng, “An energy-efficient strategy for
microcontrollers,” Applied Sciences, vol. 11, no. 6, p. 2581, 2021. | spa |
dc.rights.accessrights | info:eu-repo/semantics/closedAccess | spa |
dc.subject.proposal | Programming Language | eng |
dc.subject.proposal | Rust | eng |
dc.subject.proposal | Transpiler | eng |
dc.subject.proposal | Microcontroller | eng |
dc.subject.proposal | Embedded Systems | eng |
dc.subject.proposal | Compiled Language | eng |
dc.subject.proposal | Microcontroller API | eng |
dc.type.coar | http://purl.org/coar/resource_type/c_2df8fbb1 | spa |
dc.type.coarversion | http://purl.org/coar/version/c_ab4af688f83e57aa | spa |
dc.type.content | Text | spa |
dc.type.driver | info:eu-repo/semantics/article | spa |
dc.type.redcol | http://purl.org/redcol/resource_type/ART | spa |
dc.type.version | info:eu-repo/semantics/acceptedVersion | spa |
dc.rights.coar | http://purl.org/coar/access_right/c_14cb | spa |