A Raspberry Pi e o Linux

Raspberry Pi e o Linux

 

Raspberry PI é uma placa de desenvolvimento de dimensões reduzidas fabricada no Reino Unido pela Fundação Raspberry PI e lançada em 2012. O objetivo principal do projeto é incentivar o ensino de ciência da computação a crianças. E para alcançar um público maior, o preço da placa precisava ser o mais baixo possível. Para isso, os criadores do projeto convenceram a empresa Broadcom a vender os processadores que seriam usadas na placa a um valor menor do que o usual. De fato a Raspberry PI tem sido usada por crianças em várias partes do mundo e tem ajudando a muitas delas no aprendizado de computação. Mas ela tem sido usada também em vários projetos de diversas empresas e hobbyistas. 

 

 

A placa em sua revisão B vem com um system on chip (SoC) Broadcom BCM2835 que inclui:

 

  • Processador ARM1176JZF-S de 700 MHz, com ponto flutuante por hardware;
  • GPU VideoCore IV;
  • 512 MB de memória RAM (SoC);
  • Entrada de cartão SD;
  • Duas portas usb 2.0;
  • Saída de vídeo HDMI e vídeo composto;
  • Ethernet 10/100 (RJ45);
  • Conector de 26 pinos das quais 17 são de GPIO;
  • Saída de áudio via conector jack de 3,5 mm.

 

 

No conector de 26 pinos, você terá acesso a I2C, SPI, UART e um pino de PWM. A Raspberry PI roda várias distribuições Linux como Arch Linux, Pidora, Openelec, Slackware, Raspbian e até um sistema não Linux chamado RISC OS e o FreeBSD. Ela pode ser comprada por $35 dólares ou por volta de R$200 reais no Brasil. Atualmente, a Raspberry é a placa de desenvolvimento mais vendida e usada no mundo.  

 

Um artigo introdutório já foi publicado aqui no Embarcados por Thiago Lima. Confira no link

 

Raspberry Pi e o Linux

 

 

O SOC BCM2835 da Broadcom

 

Broadcom é uma empresa norte-americana com sede em Irvine, California, sendo uma das líderes no mercado de dispositivos wireless e de multimídia. Ela também fabrica processadores voltados para aplicações de rede e de multimídia. A qualidade dos processadores da Broadcom é sem igual. Todos os aparelhos da Sky, desde muito tempo, usam processadores da Broadcom.

 

O BCM2835 é um processador para aplicações de multimídia com baixo custo, otimizado para dispositivos como celulares e aplicações que exigem os mais altos níveis de desempenho de multimídia. Projetado e otimizado para eficiência de energia, BCM2835 utiliza a tecnologia da Broadcom VideoCore IV® para permitir aplicações em reprodução de mídia, imagem, câmara de vídeo, streaming de mídia, gráficos e jogos 3D.

 

Por isso, a Raspberry PI tem sido muito usada para construir centrais de multimidia. O VideoCore é capaz de codificar e decodificar vídeos H.264 em 1080p Full HD. E a GPU, que é integrada ao VideoCore, é compatível com OpenGL-ES 1.1/2.0. O SoC BCM2835 também conta com um Advanced Image Sensor Pipeline (ISP) para suporte a cameras de até 20-megapixel operando em até 220 megapixels por segundo.

 

 

Broadcom e Linux

 

Alguns open source drivers são disponíveis e incluídos no kernel Linux para a família de chips wireless 802.11b/g/a/n da Broadcom. Desde a liberação do kernel 2.6.26 alguns chips da Broadcom tinham suporte no kernel mas requeriam firmware externo.

 

Em 2003 a Free Software Foundation acusou a Broadcom de não estar em conformidade com a General Public License porque a Broadcom distribuiu um driver GPL para seus chipsets 802.11g usados em roteadores sem tornar o código fonte público. O chipset era adotado pela Linksys que foi comprada pela Cisco. A Cisco eventualmente publicou o código fonte para o firmware de seu roteador wireless WRT54G sob a licença GPL.

 

Mas as coisas mudaram na relação entre a Broadcom e a comunidade Open Source. Em 2012 a Linux Foundation listou a Broadcom como uma das companhias Top 10 contribuindo para o desenvolvimento do Kernel Linux em 2011, colocando-a no Top 5% de 226 companhias estimadas (confira o report completo no link). A fundação Linux Kernel Development reportou também que, durante o curso do ano, a Broadcom submeteu 2916 patches ao kernel Linux.

 

Em outubro, o compromisso da Broadcom para a comunidade de software livre foi sublinhada quando partes anteriormente fechadas do código fonte do driver de GPU da Raspberry Pi foram liberadas sob uma licença BSD, tornando-se “o primeiro SoC multimídia baseado em ARM com drivers de código aberto totalmente funcionais e fornecidos pelo fabricante (em oposição a drivers parciais e derivados de engenharia reversa)”, embora esta alegação não foi aceita universalmente.

 

A Broadcom forneceu um driver Linux para o seu Broadcom Crystal HD, e eles também contrataram Eric Anholt, um ex-funcionário da Intel, para trabalhar em um driver gráfico que será livre e de código aberto para o seu VideoCore IV.

 

A Broadcom também liberou a documentação do BCM2835, usado na Raspberry PI.

 

Raspberry Pi e o Linux

 

 

Suporte ao BCM2835 no kernel Linux

 

Em fevereiro de 2012, os usuários da Raspberry PI discutiam como seria interessante ter os patches do BCM2835 incorporados ao kernel oficial. "We would love the kernel changes to be pushed upstream. No one at Broadcom/R-Pi has experience of this, so we are hoping the community gets involved." Hoje, muitos dos controladores e periféricos internos do BCM2835 já estão incorporados no kernel Linux, como por exemplo: timer, GPIO, SDCard, I2C, SPI, controlador de interrupção, etc. Mas alguns drivers ainda não foram incorporados no kernel oficial ou não existe nenhum código: framebuffer driver, Thermal driver, sound driver, etc...

 

Um driver interessante que provavelmente não será incluído no kernel main-line, pelo menos não por enquanto, é o LIRC GPIO driver, usado para receber e transmitir sinais de infravermelho.  Para que um driver seja incorporado ao kernel oficial, é necessário seguir um conjunto de "normas" e "regras" para que seja aceito. Às vezes, adequar o código do driver aos padrões exigidos é um trabalho árduo que exige paciência e determinação. 

 

O esforço de desenvolver drivers para incluir um novo processador ao kernel Linux é feito por desenvolvedores da comunidade como um trabalho voluntário ou por desenvolvedores a serviço de uma empresa geralmente envolvida com o Linux. Esse trabalho pode durar vários meses ou até anos. A exemplo do próprio BCM2835, ainda resta partes ou drivers que ainda não foram incluídos no kernel oficial. E cada dia que surge uma nova placa ou um novo processador no mercado, é necessário criar novos drivers para podermos utilizá-lo no Linux ou em qualquer outro sistema. Mas isso é uma coisa boa, porque dessa forma sempre teremos trabalho a fazer. 😀

 

 

Saiba mais

 

Review da Raspberry Pi 

Criando uma distribuição Linux Embarcado para Raspberry Pi + Yocto

Conheça a Raspberry Pi Model B+

Conheça a Raspberry Pi Compule Module e Compute I/O Board

 

 

Onde Comprar

 

Você pode conferir o preço da Raspberry Pi Modelo B e acessórios na loja virtual FILIPEFLOP: Arduino e Componentes Eletrônicos. Acesse!

 

 

Referências:

 

http://www.broadcom.com/products/BCM2835
http://en.wikipedia.org/wiki/Broadcom
http://elinux.org/RPi_Low-level_peripherals
http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/
http://www.raspberrypi.org/downloads/
http://www.raspberrypi.org/documentation/installation/installing-images/README.md
https://github.com/notro/rpi-firmware/wiki/BCM2708vsBCM2835
http://aron.ws/projects/lirc_rpi

 

[Esse artigo foi editado a partir do artigo publicado pelo mesmo autor no Blog do Software Livre ]

 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Vinicius Maciel
Cursando Tecnologia em Telemática no IFCE. Trabalho com programação de Sistemas Embarcados desde 2009. Tenho experiência em desenvolvimento de software para Linux embarcado em C/C++. Criação ou modificação de devices drivers para o sistema operacional Linux. Uso de ferramentas open source para desenvolvimento e debug incluindo gcc, gdb, eclipse.

7
Deixe um comentário

avatar
 
5 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Vinicius MacielCleiton BuenoCctv Cameras Wikipedia | Actual PercentilO que pedir pro papai noel?Raspberry Pi A+ Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
trackback
Cctv Cameras Wikipedia | Actual Percentil

[…] A Raspberry Pi e o Linux – Embarcados – Sua fonte de … – A Raspberry Pi e o Linux, suporte ao processador da Broadcom no Linux…. […]

trackback
O que pedir pro papai noel?

[…] Raspberry Pi e o Linux [10], escrito por Vinicius […]

trackback
Raspberry Pi A+

[…] Raspberry Pi e o Linux [14], escrito por Vinicius […]

trackback
Acione IOs com a Raspberry Pi utilizando Python

[…] já conhece essa board mas não é muito familiarizado com Linux, Vinicius Maciel escreveu o artigo Raspberry Pi e o Linux que irá dar uma excelente base sobre os dois […]

Cleiton Bueno
Membro
Cleiton Bueno

Gostei da historia "Broadcom e Linux" muito interessante e parabéns pelo artigo.

Cleiton Bueno
Membro
Cleiton Bueno

Verdade da Nvidia tinha visto, levei um susto quando li sobre Broadcom :). Mas fico muito feliz em ler sobre isso, porque o ponto que você levantou é muito importante "Mas isso é uma coisa boa, porque dessa forma sempre teremos trabalho a fazer".
Eu não sou envolvido 100% com Desenvolvimento Linux/C para embarcado" mas esse ano já me envolvi em três projetos e vejo que o mercado esta em uma exponencial em termos Linux Embedded e a diversidade de boards sendo criadas.

Abraço.