Hardware-independent firmware development methodology

Ao contrário de outras formas de desenvolvimento, a maneira como o desenvolvi mento de firmware é realizada é um tanto desatualizada. Não é incomum encontrar sis temas inteiros implementados de forma monolítica e com dependências cruzadas. Além disso, o software de muitas implementações é dependente...

Descripción completa

Detalles Bibliográficos
Autor: Farina, Maurício Dall'Oglio
Tipo de recurso: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2024
País:Brasil
Institución:Universidade Federal do Rio Grande do Sul (UFRGS)
Repositorio:Biblioteca Digital de Teses e Dissertações da UFRGS
Idioma:inglés
OAI Identifier:oai:www.lume.ufrgs.br:10183/282846
Acceso en línea:http://hdl.handle.net/10183/282846
Access Level:acceso abierto
Palabra clave:Sistemas embarcados
Arquitetura de computadores
Software
Embedded systems
Embedded development
Firmware architecture
Development methodology
Descripción
Sumario:Ao contrário de outras formas de desenvolvimento, a maneira como o desenvolvi mento de firmware é realizada é um tanto desatualizada. Não é incomum encontrar sis temas inteiros implementados de forma monolítica e com dependências cruzadas. Além disso, o software de muitas implementações é dependente do hardware. Portanto, mudan ças significativas no hardware podem resultar em extensas revisões de implementação de firmware que podem consumir tempo e levar a versões de baixa qualidade, o que pode re presentar um problema importante para aplicações de sistemas embarcados que evoluem com muita frequência. Para lidar com esse problema, este trabalho propõe uma metodolo gia de desenvolvimento de firmware embarcado que permite reutilização e portabilidade, ao mesmo tempo em que melhora o ciclo de vida do desenvolvimento de firmware. Além disso, ao empregar essa metodologia, os erros típicos de um desenvolvedor de software iniciante podem ser reduzidos Além disso, esses desenvolvedores podem ter uma rápida rampa de aprendizagem do projeto e melhorar suas habilidades de desenvolvimento se guindo as diretrizes e arquitetura propostas neste trabalho. A metodologia proposta define funções dos membros da equipe, fluxos de trabalho de desenvolvimento e uma arquitetura modular de várias camadas. Além disso, ele fornece diretrizes, regras, padrões, conven ções e melhores práticas para o desenvolvimento de firmware embarcado. Para avaliar a metodologia proposta, foram conduzidos dois estudos de caso. Primeiro, um projeto sim ples de sistema IoT foi refatorado para este modelo de metodologia e os resultados foram comparados com o projeto legado. Segundo, a comparação entre as métricas da versões legado e novo de um projeto real e mais complexo foram analisadas. Para ambos os ca sos, a comparação demonstrou que a metodologia proposta pode apresentar melhorias substanciais na portabilidade, reutilização, modularidade e outros aspectos do firmware