- Feeds completos
- Feeds dos comentários
- Feeds do fórum
- Receba o Meio Bit via e-mail
Mantenha-se informado sobre as nossas novidades com nosso newsletter semanal, todas as segundas-feiras
Não é de hoje que vocês sabem que ando "flertando" com dispositivos embarcados rodando Linux. Este é um dos principais motivos do meu relativo desaparecimento.
Hoje, felizmente, minha própria placa ganhou vida ( It's alive... it's alive! ) e é bem possível que o volume de trabalho diminua... se bem que, levando em consideração que a curva de aprendizado para se programar o Linux é muito alta... não sei, não. Aliás, antes que começem a dizer que sou preguiçoso/burro/vendido, vou logo avisando: além do software, também faço o hardware. Uma documentação fácil de se entender viria bem a calhar ( e observem que volume nem sempre se traduz em qualidade ).
O ponto é o seguinte: é preciso tanto trabalho, mas tanto trabalho para se embarcar o pinguim, que, sinceramente, estou reconsiderando a opção pelo Sistema Operacional. Além das incertezas do licenciamento, é muito difícil achar informação. Pelo menos, a informação certa. Há milhares de "Howtos" espalhados pela internet, mas a maioria ou é superficial ou obsoleta. Vou dar um exemplo prático: o processador que escolhi tem três linhas de interrupção externa. Como saber se o kernel as configurou para serem ativadas por nível ou transição? Em qual arquivo está isso? Não é importante? Apenas se eu quiser ficar com o hardware de referência, fornecido pelo fabricante.
Não é o tipo de coisa que o programador comum saiba ( até porque, o programador comum faz coisas mais... comuns, certo? ) e mesmo programadores experientes se enrolam. Mas é o tipo de coisa que o sujeito que "embarca" o Linux precisa saber. Ao menos, precisa saber onde está, pois sempre há um chip novo que não tem driver ou é preciso otimizar algum já existente.
Se o sistema fosse vendido por alguns dólares e esse dinheiro fosse usado única e exclusivamente em documentação ( não me xinguem, mas vejam a diferença entre o que a Microsoft oferece e o que a comunidade oferece ), seria a opção de nove em cada dez projetos. Sem isso, é bom provável que o Windows CE continue sua expansão.
Aliás, o que é bem comum acontecer é que, em vez da empresa licenciar o Windows CE, por exemplo, acreditando na "redução de custos" que o software livre trará para o projeto, acaba virando refém de outras distribuidoras de software. Seis mil dólares por uma licença do ambiente gráfico, quatro mil pelo ambiente de desenvolvimento, o dobro do salário para o engenheiro que entende de Linux ( se comparado com aquele que programa para a "plataforma-proprietária-do-demo" ) e por aí vai. É claro que sempre vai aparecer alguém e dizer que somos todos estúpidos, que poderíamos fazer tudo sem pagar nada, já que temos alguns fontes... mas, convenhamos: projeto atrasado, sua equipe trabalhando no meio da madrugada e aparece uma dúvida. Você escolheria um bom suporte ou um fórum qualquer?
Você tocou num ótimo ponto. Muito gente adora meter o pau na Microsoft, mas ao menos na área de desenvolvimento não há do que reclamar. A documentação das bibliotecas da MS é simplesmente fantástica.
-------------------------------------------------------
Diesoft Games
Que pena que os pontos contra sejam tão fortes, sempre tive vontade de ter algum "treco" em casa que rodasse linux e não fosse meu PC (sim, meu PC também é um treco!), será que existe alguma chance te eu JÁ TER algo rodando originalmente linux em casa e não saber?
Apenas mais um blog!--> TAKEUSPA!!!
Muito equipamento roda Linux embarcado, um bom exemplo é o Nokia N800, que diga-se de passagem nos anúncios na Wired sequer TOCA no nome do Linux. "Funciona e pronto".
www.contraditorium.com
Parabéns pela sua primeira execução bem sucedida. Afinal você só tem certeza de que está tendo sucesso em uma empreitada quando o seu primeiro protótipo está funcionando capenga.
Me faz lembrar do primeiro programa que eu fiz em OpenGL. Só consegui compilar depois de semanas de trabalho e em poucos dias avancei mais do que havia avançado no mês inteiro anterior.
A questão da documentação é realmente complicada, já que ninguém consegue adivinhar nada olhando código fonte. Entender e adaptar um código já existente dá quase tanto trabalho quanto fazer um novo.
Abandonar a implementação atual pode ser arriscado, e há de se avaliar muito bem as conseqüências do "investimento perdido". Pode ser mais lucrativo abandonar agora e partir para o Windows CE ou continuar com a idéia inicial. É nesse tipo de decisão que nascem os líderes.
É Marcellus, como é um projeto comercial, tem que ver o que trará menos custos no GLOBAL mesmo... e o custo inclui noites não dormidas, ehhehehe...
Quando éramos adolescentes, adorávamos ficar acordados desvendando enigmas de máquinas... mas a juventude se vai, ideologia também é coisa de adolescente... Então assinemos logo o contrato com o Demo e sejamos felizes :P
Brincadeiras a parte, ultimamente também estou querendo tudo do jeito mais fácil, mesmo que eu tenha que pagar por isso :D
/***************/
Quer Games online, Xadrez e diversao?
Route10-games - www.route10.com.br
Cara, você pode pagar e obter o que quer. Existem várias empresas que fazem exatamente isso, empacotam Linux para aplicações embarcadas e oferecem documentação e suporte, o Montavista é uma excelente opção, você só precisa pagar o preço.
A Freescale tem um suporte bacana no site ao Linux, tem pacotes prontos e documentação, o suporte pessoal deles eu achei sofrível, mas deve ser mal de ser desenvolvedor no Brasil...
Aliás, por graças ao bom Deus, o mercado de SO embarcado não se resume somente a Linux/uClinux e Windows CE, existem muitas opções. É claro que quando se pensa que um SO para microcontrolador começa custando 5000 doletas (FOB) a gente coça a cabeça, mas se o time-to-market é crucial, é um investimento fácil de fazer.
E que dúvidas em relação ao licensiamento você ainda tem??? Sempre pensei que esse fosse o assunto mais malhado de todos...
E não se esqueça que a licensa do CE cobra royaltie por produto fabricado, o que pode ser muito chato para o custo final do teu produto, e comprar um SO com royatie free pode ser muito importante.
O Marcellus fez uma pesquisa extensa sobre o assunto. Isso tornou-se um post aqui no MB, em vários capítulos, dada a quantidade de opções.
Acredite, amigo, embarcar Linux aqui no Brasil, fora de um dos centros tecnológicos (Campinas, São Paulo, Curitiba, Campina Grande) é complicado demais. E mesmo nesses lugares, o expertise é raro e o pool de conhecimento pulverizado.
No final, teria ficado mais barato usar Windows CE mesmo.
O link.
Revolta documentativa à parte, dá um bizu do projeto, seria um Media Center?
--
Marcio Merlone
Tech, Geek, Fun, Spiritual and other random stuff
http://merlone.ath.cx
Não posso... mas não é um Media Center. Mas, agora q vc falou... dá pra aproveitar e fazer um. ;)
Me chama que eu quero ajudar! :D
--
Marcio Merlone
Tech, Geek, Fun, Spiritual and other random stuff
http://merlone.ath.cx
Entendo a sua dificuldade, a curva de aprendizagem para GNU/Linux é íngrime e penosa, principalmente para quem não é familiar com o sistema. No entanto, o reuso é extremamente alto. Não existem diferenças marcantes entre o seu desktop GNU/Linux e o seu sistema embarcado com Linux. Não acho que o suporte é algo tão ruim quanto comentou também. O grande problema é que a informação está espalhada, mas a comunidade é bem ativa e pronta pra ajudar. Ou use uma distro com suporte, como já comentáram. Tive as duas experiências (proprietário x aberto) e não vejo uma diferença tão grande assim, a menos que o usuário não consiga viver sem algo pra poder dar um clique. Em especial, tenho usado uma placa da Atmel que me surpreendeu bastante. Recomendo uma olhada:
http://www.linuxabordo.com.br/wiki/index.php?title=NGW100
http://code.google.com/p/avr32fs/
http://free-electrons.com/
Eu já trabalhei com os ARMs da Motorola ( Freescale ) e, realmente, o suporte ajuda e muito. Estava pronto pra comprar o MontaVista ou o Hardrat, mas eles não suportam o processador que escolhemos ( por diversos outros motivos ).
O curioso é que a Microsoft suporta o danado...
Eu adoro software livre, tenho muita simpatia pelo Linux, mas definitivamente, quem tem tempo pra ficar revirando fóruns atrás de uma informação que você poderia ter em um piscar de olhos se tivesse um serviço de suporte adequado...
É por essas e outras que AINDA prefiro o conforto de se ter algo pago, do que o desafio de partir para o open source.
Você pode tentar o kit da Olimex CS-E9302 que é baseado no ARM9 e já vem com um kit de desenvolvimento linux kernel 2.4 ou 2.6 e também NetBSD.
É um hardware completo com porta ethernet, USB, conectores SD/MMC, etc.
Voce pode ver mais detalhes do kit no site www.olimex.com ou www.olimex.cl
Esse é um erro muito comum, tavares... o kit vem completo, mas não vem com *suporte* Linux... se o hardware der problema, tudo bem, eles arrumam. Mas se vc tiver dúvidas em como fazer um "device driver", ajoelha no milho e reza...
É por isso que a MontaVista vai bem. Mas não suporta o 9302.
Parabéns Marcellus.
Agora que seu filho já começou a chorar a coisa deve andar mais rápida, lembro do meu primeiro conjunto de circuitos da mesa de som que construí ainda na década passada quando nem se falava de mais de 3 canais sem equalização individual e multi entrada por canal num mixer para djs.
Quando tiver algum resultado simples do que o seu filhote faz posta para a galera ver, de certo a turma que babou com aquela série sobre processadores vai adorar ver algum resultado.
PS: Um dos kras do blog papotech construiu um chaveador de tomadas que topa comandos por DTMF através de uma linha telefônica.
Marcellus, tire algumas dúvidas de um leigo (até o osso!) nessa área.
Pelo que entendí, o linux só não é adotado em massa em embarcados pela sua falta de documentação, então pergunto, e quando a documentação estiver aí, pronta e quentinha, o linux vai ou não dominar essa área?
Se você resolver encarar e partir pra cima do linux, você vai "começar" essa documentação? Vai disponibilizar ou guardar pra sí? Se for guardar, não sería esse o grande motivo da falta de documentação?
PS: Pode até parecer provocação, mas é só curiosidade!!! :)
Apenas mais um blog!--> TAKEUSPA!!!
Na verdade, como já disseram aí em cima, a documentação até existe, mas está espalhada e você precisa ler toneladas de lixo para aproveitar alguma coisa. Só tem o caminho das pedras ( pelo menos, que eu saiba ).
O que eu pretendo é escrever um livro junto com dois colaboradores, contando todo o processo: do projeto à execução e dando aquelas dicas preciosas que poupam algumas noites em claro. Na verdade, um "guia" para quem já projeta com microcontroladores conseguir projetar com processadores de 32 bits rodando Linux. Vamos ver se sai...
Ae Marcellus, desiste não. vai ser a curva de aprendizado que vai fazer valer seu dinheiro futuro, :D O primeiro projeto sempre requer investimento acima do normal.
Afinal a Nokia pode e tu não?
E se vc for uma alma boa e caridosa num futuro vai fazer um artigo no vivaolinux sobre isso (yewww).
existem documentações na internet sobre linux embarcado.
O site linuxdevices.com é fantastico para isto.
Agora convenhamos se você quer um howto na internet para montar um linux embarcado é uma coisa...
Agora se você quer saber o porque das coisas e como a coisa funciona COMO TAMBÉM melhorar a tecnologia ... você precisa NO MÍNIMO ser técnico de eletrônica ou engenheiro eletrônico ou DEVORAR livros de eletrônica...
Sem base técnica você só terá capacidade de reproduzir conteúdo... Construir precisa estudar e não será um howto que te dará essa base.
No linuxdevices tem referência para materiais bons!
Tem trabalhos de graduação da USP com linux embarcado rodando DEBIAN... Lá é um ÓTIMO começo!
Abraço, boa sorte...
A propósito comprei um livro de hardware embarcado... como montar seu próprio...
Chama The art of eletronics por Thomas C. hayes e Paul Horowitz!
Esse livro é o curso de verão da universidade de Cambridge!
Comprei num cebo www.abebooks.com
Paguei 20 dolares acho.
Neste livro explica detalhadamente os porques...
Na internet talvez encontre o livro tbm...
ABRAÇO.
Ai ai...
Que cheiro de Diesel.