Estudo de caso sobre uso de Rust em sistemas embarcados: desenvolvimento de um device driver do sensor BMP180 para microcontroladores AVR

DSpace Repository

A- A A+

Estudo de caso sobre uso de Rust em sistemas embarcados: desenvolvimento de um device driver do sensor BMP180 para microcontroladores AVR

Show simple item record

dc.contributor Universidade Federal de Santa Catarina. pt_BR
dc.contributor.advisor Moratelli, Carlos Roberto
dc.contributor.author Muraro Grando, Marcos Alexandre
dc.date.accessioned 2024-07-12T18:05:20Z
dc.date.available 2024-07-12T18:05:20Z
dc.date.issued 2024-07-03
dc.identifier.uri https://repositorio.ufsc.br/handle/123456789/256010
dc.description TCC (graduação) - Universidade Federal de Santa Catarina, Campus Blumenau, Engenharia de Controle e Automação. pt_BR
dc.description.abstract Este trabalho desenvolve um device driver do sensor BMP180 em Rust para microcontroladores AVR, neste caso um kit de desenvolvimento Arduino Mega 2560. Não havendo um device driver já existente, usa-se noções do análogo em linguagem C para fins de desenvolvimento e comparação. Utiliza-se critérios de comparação qualitativos, como qualidade do compilador, e quantitavos, como tamanho binário do firmware, tempo de compilação e tempo de execução. Para a escrita do driver em Rust e sua utilização em placas AVR, é necessária uma camada de abstração de hardware específica para isso, havendo apenas uma opção pública que contém implementações do protocolo I2C, chamada AVR HAL. Foi concluído que o Rust pode ser capaz de entregar tamanhos binários significativamente menores a custo de uso de memória RAM. Para futuros trabalhos, recomendar-se-ia realizar comparações similares com softwares mais complexos, que já sejam conhecidos em C e que tenham notáveis problemas de segurança, com a finalidade de saber se o Rust pode entregar os mesmos benefícios aqui descritos, ao mesmo tempo que aumenta a segurança do código. pt_BR
dc.description.abstract This work develops a device driver for the BMP180 sensor in Rust for AVR microcontrollers, in this case, an Arduino Mega 2560 development kit. In the absence of an existing device driver, notions from the analogous driver in the C language are used for development and comparison purposes. Both qualitative comparison criteria, such as compiler quality, and quantitative criteria, such as binary firmware size, compilation time, and execution time, are used. For writing the driver in Rust and its use on AVR boards, a specific hardware abstraction layer is required, with only one public option available which contains I2C protocol implementataions, called AVR HAL. It was concluded that Rust can deliver significantly smaller binary sizes at the cost of RAM usage. For future work, it is recommended to perform similar comparisons with more complex software that is already known in C and has notable security issues, with the aim of determining whether Rust can provide the same benefits described here while increasing code security. pt_BR
dc.format.extent 56 f. pt_BR
dc.language.iso pt_BR pt_BR
dc.publisher Blumenau, SC. pt_BR
dc.rights Open Access. en
dc.subject Rust pt_BR
dc.subject Sistemas Embarcados pt_BR
dc.subject Embedded Systems pt_BR
dc.subject Device Driver pt_BR
dc.subject Arduino pt_BR
dc.title Estudo de caso sobre uso de Rust em sistemas embarcados: desenvolvimento de um device driver do sensor BMP180 para microcontroladores AVR pt_BR
dc.type TCCgrad pt_BR


Files in this item

Files Size Format View
TCC_Rust_Marcos_Final_Assinado.pdf 1011.Kb PDF View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Browse

My Account

Statistics

Compartilhar