Ajuda com o projeto de formatura

21 views
Skip to first unread message

Pedro Nariyoshi

unread,
Aug 9, 2011, 11:09:44 PM8/9/11
to BRTOS
Olá a todos,

meu nome é Pedro Nariyoshi, sou estudante de Engenharia Elétrica e meu
projeto de formatura envolve o desenvolvimento de um sistema embarcado
voador (hexacóptero). Atualmente estamos decidindo qual sistema
operacional iremos utilizar no projeto. Nunca trabalhei com sistemas
embarcados antes e estou um pouco perdido nessa área.

Inicialmente pensamos no FreeRTOS, mas o BRTOS surgiu como uma
alternativa bastante interessante.

Gostaria de saber quais as vantagens do BRTOS sobre o FreeRTOS, pelo
que vi, os benchmarks são bem interessantes. E qual literatura devo
buscar, além da documentação do próprio BRTOS.

Além disso, vi que há alguns ports oficiais. Vocês tem alguma sugestão
de qual processador utilizar? O código que iremos rodar envolve alguns
PIDs, leitura de sensores (acelerômetros, giroscópios, etc) e algumas
trocas de mensagem com um outro processador (que irá receber os sinais
sem-fio e traçará as rotas).

Desculpem o incômodo

Gustavo Denardin

unread,
Aug 10, 2011, 9:24:09 AM8/10/11
to br...@googlegroups.com
Olá Pedro, tudo bem?

Vou tentar ser bem rápido e direto. Hoje em dia existem diversos RTOSes no mercado, com muito pouca diferença em desempenho. RTOSes comerciais como o uC/OS III e o ThreadX se destacam por estarem a muito tempo no mercado, enquanto que o FreeRTOS é bem reconhecido entre os RTOSes livres.

Realmente em nossos testes o BRTOS foi bem melhor que o FreeRTOS em grande parte dos testes. No entanto, você precisa ter em conta que este teste mede o desempenho de funções que um RTOS deve desempenhar. Normalmente o RTOS ocupa de 1 a 5% da CPU em um sistema embarcado (depende muito da aplicação, pois em aplicações com interrupções muito rápidas a ocupação de CPU pelo RTOS pode ser superior a 50%). Aquele ganho de desempenho do BRTOS em relação ao FreeRTOS incide somente na ocupação de CPU pelo RTOS. O desempenho dos aplicativos / tarefas dependerão muito mais do compilador / arquitetura utilizada.

Outro fator em que os RTOS se diferem é a latência de interrupção. Alguns são melhores que outros, sendo o uC/OS III um dos melhores neste quesito (esta foi a principal melhora do uC/OS II para o uC/OS III). O BRTOS se apresentou um pouco melhor que o FreeRTOS neste quesito tb.

A briga entre os RTOS hoje está muito mais focada nos adicionais que a empresa responsável pelo RTOS pode prover e o suporte do que o próprio desempenho do RTOS. Adicionais incluem bibliotecas de interface gráfica, stack USB e TCP/IP, entre outros.

Portanto, o que posso te dizer é que qualquer RTOS vai resolver o seu problema de concorrência.
Por que desenvolvemos o BRTOS? Primeiro pq não gostamos da principal opção livre disponível, o FreeRTOS. Segundo, para aprender melhor os conceitos relacionados a RTOSes. Terceiro, pq podemos melhorar / adicionar funções na medida das nossas necessidades, o que nos ajuda muito em problemas mais complexos.

Eu usaria o BRTOS em projetos embarcados em vez do FreeRTOS. Com certeza, já utilizamos. Temos vários sistemas embarcados relativamente complexos elaborados com o BRTOS funcionando perfeitamente.

A documentação do BRTOS é a disponível nos sites do BRTOS e este grupo de discussão.

Que microcontrolador utilizar? Eu utilizaria um microcontrolador de 32 bits de entrada. Exemplos: Coldfire V1, NXP LPC1114 (Cortex-M0), ou até mesmo um ARM Cortex-M3 ou Renesas RX600 (depende da complexidade dos cálculos / velocidade de atuação).

Espero ter ajudado,
Abraço,
Gustavo Denardin



--
Você está recebendo esta mensagem porque se inscreveu no grupo "BRTOS" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para br...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para brtos+un...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/brtos?hl=pt-BR.



Reply all
Reply to author
Forward
0 new messages