Desenvolvimento de aplicações multitarefas em sistemas embarcados
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UCS |
Texto Completo: | https://repositorio.ucs.br/11338/9708 |
Resumo: | Tradicionalmente, as aplicações de sistemas embarcados, são desenvolvidas utilizando uma técnica de desenvolvimento que consiste em um laço infinito, conhecido como super loop ou sistema Foreground/Background. Porém, esse modelo esgota os recursos dos microcontroladores, dificultando o desenvolvimento de aplicações mais complexas. Desta forma, torna-se atrativo a utilização de um sistema operacional de tempo real, que possibilita que as funcionalidades sejam implementadas como tarefas, que executam em threads independentes e com diferentes níveis de prioridade entre elas. Dentro deste contexto, neste trabalho foi realizado a alteração do produto embarcado produzido pela empresa Albatec Indústria Eletrônica, que consiste em um controlador para uma geladeira automotiva. Esse originalmente foi desenvolvido utilizando uma técnica Foreground/Background e foi adaptado de forma a utilizar um sistema operacional de tempo real. Para o desenvolvimento deste trabalho optou-se pela utilização do Sistema Operacional FreeRTOS, devido as limitações de hardware do microcontrolador STM32F030C6 e o fato desse apresentar uma licença de código livre. Além disso, considerou-se o suporte ao compilador Keil uVision, que é o compilador utilizado atualmente pela empresa Albatec e disponibilidade de uma documentação completa e suporte. Posteriormente, cada funcionalidade da aplicação foi implementada como uma thread independente, sendo que a sincronização entre elas foi realizada através de semáforos. A partir dos testes realizados verificou-se que a aplicação alterada apresentou um menor consumo de energia. De fato, a aplicação utilizando multitarefa apresentou um consumo de 3,9 mA enquanto a aplicação serializada possui um consumo de 6,4 mA. Porém, a aplicação alterada apresenta um alto consumo de memória, utilizando 3976 bytes dos 4 Kbytes disponíveis. [resumo fornecido pelo autor] |
id |
UCS_236dfa9034ef27203233bc5c6f99b3a0 |
---|---|
oai_identifier_str |
oai:repositorio.ucs.br:11338/9708 |
network_acronym_str |
UCS |
network_name_str |
Repositório Institucional da UCS |
repository_id_str |
|
spelling |
Oliveira, Marcal Nunes deDorneles, Ricardo VargasNotari, Daniel LuísMartinotto, André Luis2022-03-21T17:49:07Z2022-03-21T17:49:07Z2020-12-242020-12-16https://repositorio.ucs.br/11338/9708Tradicionalmente, as aplicações de sistemas embarcados, são desenvolvidas utilizando uma técnica de desenvolvimento que consiste em um laço infinito, conhecido como super loop ou sistema Foreground/Background. Porém, esse modelo esgota os recursos dos microcontroladores, dificultando o desenvolvimento de aplicações mais complexas. Desta forma, torna-se atrativo a utilização de um sistema operacional de tempo real, que possibilita que as funcionalidades sejam implementadas como tarefas, que executam em threads independentes e com diferentes níveis de prioridade entre elas. Dentro deste contexto, neste trabalho foi realizado a alteração do produto embarcado produzido pela empresa Albatec Indústria Eletrônica, que consiste em um controlador para uma geladeira automotiva. Esse originalmente foi desenvolvido utilizando uma técnica Foreground/Background e foi adaptado de forma a utilizar um sistema operacional de tempo real. Para o desenvolvimento deste trabalho optou-se pela utilização do Sistema Operacional FreeRTOS, devido as limitações de hardware do microcontrolador STM32F030C6 e o fato desse apresentar uma licença de código livre. Além disso, considerou-se o suporte ao compilador Keil uVision, que é o compilador utilizado atualmente pela empresa Albatec e disponibilidade de uma documentação completa e suporte. Posteriormente, cada funcionalidade da aplicação foi implementada como uma thread independente, sendo que a sincronização entre elas foi realizada através de semáforos. A partir dos testes realizados verificou-se que a aplicação alterada apresentou um menor consumo de energia. De fato, a aplicação utilizando multitarefa apresentou um consumo de 3,9 mA enquanto a aplicação serializada possui um consumo de 6,4 mA. Porém, a aplicação alterada apresenta um alto consumo de memória, utilizando 3976 bytes dos 4 Kbytes disponíveis. [resumo fornecido pelo autor]ComputaçãoMicrocontroladoresSistemas embarcados (Computadores)Processamento eletrônico de dados em tempo realDesenvolvimento de aplicações multitarefas em sistemas embarcadosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisporreponame:Repositório Institucional da UCSinstname:Universidade de Caxias do Sul (UCS)instacron:UCSinfo:eu-repo/semantics/openAccessUniversidade de Caxias do SulBacharelado em Ciência da ComputaçãoCampus Universitário de Caxias do SulORIGINALTCC Marcal Nunes de Oliveira.pdfTCC Marcal Nunes de Oliveira.pdfapplication/pdf10021497https://repositorio.ucs.br/xmlui/bitstream/11338/9708/1/TCC%20Marcal%20Nunes%20de%20Oliveira.pdfad5d47b12598533c876dd23e8f70e906MD51TEXTTCC Marcal Nunes de Oliveira.pdf.txtTCC Marcal Nunes de Oliveira.pdf.txtExtracted texttext/plain76687https://repositorio.ucs.br/xmlui/bitstream/11338/9708/2/TCC%20Marcal%20Nunes%20de%20Oliveira.pdf.txt41605c8274d782f28562557921f32b1dMD52THUMBNAILTCC Marcal Nunes de Oliveira.pdf.jpgTCC Marcal Nunes de Oliveira.pdf.jpgGenerated Thumbnailimage/jpeg1256https://repositorio.ucs.br/xmlui/bitstream/11338/9708/3/TCC%20Marcal%20Nunes%20de%20Oliveira.pdf.jpg614b008421a12d39739f9dceccb01887MD5311338/97082022-10-18 18:03:51.558oai:repositorio.ucs.br:11338/9708Repositório de Publicaçõeshttp://repositorio.ucs.br/oai/requestopendoar:2024-05-06T09:59:52.097871Repositório Institucional da UCS - Universidade de Caxias do Sul (UCS)false |
dc.title.pt_BR.fl_str_mv |
Desenvolvimento de aplicações multitarefas em sistemas embarcados |
title |
Desenvolvimento de aplicações multitarefas em sistemas embarcados |
spellingShingle |
Desenvolvimento de aplicações multitarefas em sistemas embarcados Oliveira, Marcal Nunes de Computação Microcontroladores Sistemas embarcados (Computadores) Processamento eletrônico de dados em tempo real |
title_short |
Desenvolvimento de aplicações multitarefas em sistemas embarcados |
title_full |
Desenvolvimento de aplicações multitarefas em sistemas embarcados |
title_fullStr |
Desenvolvimento de aplicações multitarefas em sistemas embarcados |
title_full_unstemmed |
Desenvolvimento de aplicações multitarefas em sistemas embarcados |
title_sort |
Desenvolvimento de aplicações multitarefas em sistemas embarcados |
author |
Oliveira, Marcal Nunes de |
author_facet |
Oliveira, Marcal Nunes de |
author_role |
author |
dc.contributor.other.none.fl_str_mv |
Dorneles, Ricardo Vargas Notari, Daniel Luís |
dc.contributor.author.fl_str_mv |
Oliveira, Marcal Nunes de |
dc.contributor.advisor1.fl_str_mv |
Martinotto, André Luis |
contributor_str_mv |
Martinotto, André Luis |
dc.subject.por.fl_str_mv |
Computação Microcontroladores Sistemas embarcados (Computadores) Processamento eletrônico de dados em tempo real |
topic |
Computação Microcontroladores Sistemas embarcados (Computadores) Processamento eletrônico de dados em tempo real |
description |
Tradicionalmente, as aplicações de sistemas embarcados, são desenvolvidas utilizando uma técnica de desenvolvimento que consiste em um laço infinito, conhecido como super loop ou sistema Foreground/Background. Porém, esse modelo esgota os recursos dos microcontroladores, dificultando o desenvolvimento de aplicações mais complexas. Desta forma, torna-se atrativo a utilização de um sistema operacional de tempo real, que possibilita que as funcionalidades sejam implementadas como tarefas, que executam em threads independentes e com diferentes níveis de prioridade entre elas. Dentro deste contexto, neste trabalho foi realizado a alteração do produto embarcado produzido pela empresa Albatec Indústria Eletrônica, que consiste em um controlador para uma geladeira automotiva. Esse originalmente foi desenvolvido utilizando uma técnica Foreground/Background e foi adaptado de forma a utilizar um sistema operacional de tempo real. Para o desenvolvimento deste trabalho optou-se pela utilização do Sistema Operacional FreeRTOS, devido as limitações de hardware do microcontrolador STM32F030C6 e o fato desse apresentar uma licença de código livre. Além disso, considerou-se o suporte ao compilador Keil uVision, que é o compilador utilizado atualmente pela empresa Albatec e disponibilidade de uma documentação completa e suporte. Posteriormente, cada funcionalidade da aplicação foi implementada como uma thread independente, sendo que a sincronização entre elas foi realizada através de semáforos. A partir dos testes realizados verificou-se que a aplicação alterada apresentou um menor consumo de energia. De fato, a aplicação utilizando multitarefa apresentou um consumo de 3,9 mA enquanto a aplicação serializada possui um consumo de 6,4 mA. Porém, a aplicação alterada apresenta um alto consumo de memória, utilizando 3976 bytes dos 4 Kbytes disponíveis. [resumo fornecido pelo autor] |
publishDate |
2020 |
dc.date.submitted.none.fl_str_mv |
2020-12-16 |
dc.date.issued.fl_str_mv |
2020-12-24 |
dc.date.accessioned.fl_str_mv |
2022-03-21T17:49:07Z |
dc.date.available.fl_str_mv |
2022-03-21T17:49:07Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://repositorio.ucs.br/11338/9708 |
url |
https://repositorio.ucs.br/11338/9708 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UCS instname:Universidade de Caxias do Sul (UCS) instacron:UCS |
instname_str |
Universidade de Caxias do Sul (UCS) |
instacron_str |
UCS |
institution |
UCS |
reponame_str |
Repositório Institucional da UCS |
collection |
Repositório Institucional da UCS |
bitstream.url.fl_str_mv |
https://repositorio.ucs.br/xmlui/bitstream/11338/9708/1/TCC%20Marcal%20Nunes%20de%20Oliveira.pdf https://repositorio.ucs.br/xmlui/bitstream/11338/9708/2/TCC%20Marcal%20Nunes%20de%20Oliveira.pdf.txt https://repositorio.ucs.br/xmlui/bitstream/11338/9708/3/TCC%20Marcal%20Nunes%20de%20Oliveira.pdf.jpg |
bitstream.checksum.fl_str_mv |
ad5d47b12598533c876dd23e8f70e906 41605c8274d782f28562557921f32b1d 614b008421a12d39739f9dceccb01887 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UCS - Universidade de Caxias do Sul (UCS) |
repository.mail.fl_str_mv |
|
_version_ |
1813258422960783360 |