collapse

* Posts Recentes

tecnologias web para servidor num MCU por jm_araujo
[09 de Outubro de 2019, 14:47]


Limitador de corrente simples por jm_araujo
[08 de Outubro de 2019, 10:29]


Assemblagem de PCBs - JLCPCB por jm_araujo
[06 de Outubro de 2019, 13:46]


"Arduino vs PIC" por jm_araujo
[06 de Outubro de 2019, 13:42]


UTC555D vs NE555N ? por jm_araujo
[03 de Outubro de 2019, 17:57]


Caixa de música por Alhiados
[02 de Outubro de 2019, 00:30]


Trituradora/Destruidora de cartão em tiras por m90mine
[01 de Outubro de 2019, 21:30]


Perfil 30x30 400mm? por brunus
[30 de Setembro de 2019, 23:35]


Carregador Solar para Baterias - EBay por almamater
[20 de Setembro de 2019, 21:57]


Ajuda na identificação de componente de portatil por m90mine
[20 de Setembro de 2019, 17:19]

Autor Tópico: BeagleBone Black vs Raspberry Pi  (Lida 7136 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

StarRider

  • Visitante
Re: BeagleBone Black vs Raspberry Pi
« Responder #15 em: 22 de Dezembro de 2014, 04:03 »
Não se pode comparar o que não tem comparação ...

Uma coisa é uma arquitectura outra coisa é o código gerado por um qualquer compilador para um
determinado MCU, um compilador pode gerar 20K de código para fazer um blink num AVR e outro
pode gerar 3K ... da mesma forma que uma outra toolchain cria um blink com 700 bytes de código
para um ARM (O Keil por exemplo) e outra pode gastar 10k, tudo depende do uso que de libs e afins.

Da mesma forma, comparar um AVR de 8 bits com um processador de 32 bits deita logo à partida
por terra qualquer conclusão, até porque cada instrução do ARM trabalha com operadores de 32
bits e os AVR com operadores de 8  bits, só por ai o tamanho do código tem que mesmo que ser
diferente, um INT .

Depois, é tudo proporcional, da mesma forma que é esperado um Ferrari gastar mais que um
Corsa, por isso mesmo é que um AVR pode ter até 256KB de flash e existem ARMs com 2MB de
flash ... e em termos de preço então nem se fala, um ATMEGA256 custa uns 14 euros e um ARM
com 1024KB custa uns 12 euros ... é não existe comparação possível em termos de desempenho,
performance, capacidade,periféricos, etc, entre os dois.

E relação à arquitectura, a ARM está ao mesmo nível do SPARC, sendo superior à MIPS, pelo que
gostava de saber porque é que o LuísR.A. não "gosta" dos cores ARM, e quais as desvantagens que
aponta em relação a outros.

...mas se querem fazer um blink usem um 555, é quanto basta ;)

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: BeagleBone Black vs Raspberry Pi
« Responder #16 em: 22 de Dezembro de 2014, 04:13 »

E relação à arquitectura, a ARM está ao mesmo nível do SPARC, sendo superior à MIPS, pelo que
gostava de saber porque é que o LuísR.A. não "gosta" dos cores ARM, e quais as desvantagens que
aponta em relação a outros.



Quem disse que não gosto ARM? :P
É a unica coisa que uso agora. Antes extra só usava o MSP430 com o Energia.
Agora ando-me a meter nos ARM e já não tenho a queixa que um ARM-M4 como o Tiva é caro para algumas aplicações - a ST tem ARM-M0 mais baratos.

AH! já percebi. Eu não disse que "não gostava". Tambem me exprimi mal, claro que gosto do poder de processamento superior mas gosto muito é da quantidade de periféricos que tem

« Última modificação: 22 de Dezembro de 2014, 04:15 por LuísR.A. »
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.616
  • Helpdesk do sitio
Re: BeagleBone Black vs Raspberry Pi
« Responder #17 em: 22 de Dezembro de 2014, 11:41 »
Tudo relativo, se usares por exemplo um M0(que são os ARM's feitos para competir com o mercado 8 bits), a correr código Thumb2, cada instrução são 16 bits, e o avr, 16 bits.

Isto não é nenhuma guerra nem fanboyismo(lol), nem tão pouco falar mal de A ou B, simplesmente acho que existem compiladores/toolchains/bibliotecas que não passam de gigantescos montes de redundância e código não optimizado, porque é o que cada vez se vê mais, meh, tem 1MB de flash não é preciso perder tempo com isto, ou possivelmente é a procura das pessoas por código arduinês.
Avr fanboy

StarRider

  • Visitante
Re: BeagleBone Black vs Raspberry Pi
« Responder #18 em: 22 de Dezembro de 2014, 14:39 »
Boas,

Sim, concordo e era essa a ideia que queria passar, a "Standard Peripheral Library" da ST é um
bom exemplo disso mesmo ... mas bem pior ainda é o que se passa com o mbed que sobre o
mesmo problema de encadeamento de libs que acontece no arduino.

Abraços,
PA

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: BeagleBone Black vs Raspberry Pi
« Responder #19 em: 22 de Dezembro de 2014, 15:20 »
Bem mas agora com tanta RAM e Flash acham que não se justifica as bibliotecas?

Facilitam muito mais e tambem se evita andar a fazer asneira com os registos quando se está a começar, afinal em programação directa de registos podem fazer o que quiserem e não ha avisos. Se usar uma função para controlar os GPIO ela só me deixa mesmo fazer isso (se tiver bem feita a biblioteca neh?).

Claro que nenhuma biblioteca dispensa saber programar em registos, algumas coisas precisam de ser mais eficientes e/ou não são possiveis com a biblioteca.
Quando preciso de usar algo em registos no Tiva basta ir consultar as funções, facilmente troco para só registos.

Uma das vantagens de ter tanta RAM e Flash é mesmo poder ter estas bibliotecas e funcionarem para a maior parte das aplicações - acho que concordam que são mais faceis e tambem na ST um código de um STM32F0 funciona no STM32F4. Claro que assim não podem tirar mesmo todo o proveito do MCU, mas assim se calhar era melhor programar em assembly? :p

Isto digo eu...
« Última modificação: 22 de Dezembro de 2014, 16:57 por LuísR.A. »
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline MAntunes

  • Mini Robot
  • *
  • Mensagens: 75
Re: BeagleBone Black vs Raspberry Pi
« Responder #20 em: 22 de Dezembro de 2014, 16:49 »
Depois de tanta conversa acho que vou guardar esta compra para mais tarde..
Vou-me dedicar agora ao Tiva e a explorar todos os perifericos e depois logo pensarei se avanço para outra plataforma.
Obrigado a todos pela ajuda!
Se ninguém se importar podem continuar a conversa, estou a acha-la bastante interessante e já aprendi algumas coisas :)

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.616
  • Helpdesk do sitio
Re: BeagleBone Black vs Raspberry Pi
« Responder #21 em: 22 de Dezembro de 2014, 17:08 »
É o tal argumento, a biblioteca é pesada, ocupa RAM e flash com fartura, mudar o estado de um pino são 20 instruções, mas para quê preocupar-me com isso se o core core a 80 ou 100 ou 180Mhz, por enquanto é tudo muito nessa base, acredito(ou melhor espero, lol, quem é que quero enganar, é tudo feito a despachar, não há tempo para optimizações) que em ambiente empresarial se tome mais atenção a isso, mas regra geral é bloat por todo o lado, faz-me confusão um telemovel actual ter dois cores gráficos, suporte nativo para descodificação H.264, gráficas dual core, processadores dual/quad core com extensões NEON, e o telemóvel é lento, empanca, encrava, crasha(só me falta ver um kernel panic no android) e no caso do meu chaço, usa 550MB de RAM para me mostrar um ecrã com uma duzia de icones, como é que tanto bloat é possivel?

Eu sei a resposta á pergunta, suporte para mil e um chipsets, no entanto "só" isso para mim não serve como desculpa para usos extravagantes de RAM, a falta de optimização de código actualmente é algo de muito comum e um dado adquirido.
Avr fanboy

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: BeagleBone Black vs Raspberry Pi
« Responder #22 em: 22 de Dezembro de 2014, 17:13 »
Ai nem é problema das bibliotecas de mais baixo nivel. Não são assim tão pesadas.

É mesmo usarem tipo cenas de mais alto nivel para tudo e nunca meterem as mão a bibliotecas de mais baixo nivel ou mesmo registos. Isso e má programação...

É mais o pessoal a querer se despachar do que outra coisa... se vires as bibliotecas de baixo nivel da TI e da ST (falo so dessas que é as que mexi) até tão porreiras. Mas noto mesmo assim que registo directo (não assembly) faz uma differença significativa.
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: BeagleBone Black vs Raspberry Pi
« Responder #23 em: 22 de Dezembro de 2014, 17:48 »
Hoje em dia consegue-se programar em C quase quase quase com a mesma performance de Assembly, se conhecermos bem o compilador e este for um bom compilador. O software é cada vez mais complexo (tem cada vez mais funcionalidade) e portanto começa-se a programar cada vez a mais alto nível, por um lado por questões de produtividade e por outro por questões de legibilidade, manutenção e extensibilidade da aplicação.

Excepto em casos muito, mas mesmo muito muito especiais (e não me lembro de nenhum desses casos), fazer uma aplicação comercial toda em Assembly é praticamente dar um tiro no pé. Eu digo isto e sou um grande fã de performance, inclusivé o Assembly já foi das minhas linguagens preferidas. Já programei em ASM de Z80 (cheguei a fazer um "semi"-compilador de C para as famosas calculadoras TI-8x), x86 16 e 32 bits, AVR, PIC, uma beliscadela num RISC load/store penso que da Freescale e cheguei a fazer 1 ou 2 intros de 4KB em Assembly para PC. No entanto, para quem quer e gosta de saber, aprender um bocado de Assembly é essencial, porque é a única linguagem que dá uma visão muito pouco ou nada filtrada da máquina. E se quiserem tirar o máximo partido da máquina, mesmo programando em C ou C++ ou noutra linguagem de mais alto nível, isso será útil, ajuda-vos a não serem surpreendidos pelos limites e a tomarem as melhores opções de implementação.

Sabem qual é a minha linguagem favorita hoje em dia? TCL (com TK para os grafismos). É praticamente tão flexível como LISP, e com a velocidade dos PCs de hoje (na verdade, mesmo com a dos de há 10 anos) não há diferenças relevantes para a generalidade das minhas aplicações. Nada bate a produtividade que tenho com isto, especialmente porque já pratico regularmente há mais de 10 anos. Se eu precisar de algo especialmente rápido, faço uma extensão em C para o TCL. Isto não implica que não goste e não pegue em C para alguma aplicação num microcontrolador (pegar em Assembly já é mais dificil, porque de facto não acho que justifique, pelas razões que descrevi atrás); não vou tentar arranjar um interpretador de TCL nessa plataforma, a cada aplicação a sua ferramenta. Cabe mesmo muita coisa em 2KB de flash se soubermos o que estamos a fazer.

Contudo, e independentemente da linguagem que utilizem, convém saber programar :) . Programar é um exercício conceptual e independente de qualquer plataforma. Quem programar mal numa linguagem vai programar mal em todas, e o mesmo para o inverso.
« Última modificação: 22 de Dezembro de 2014, 18:42 por Njay »