Linux embarcado: mais do mesmo

Por: em 12/12/07 na(s) categoria(s): Hardware, Linux, Miscelâneas


Talvez vocês tenha notado meu desaparecimento. Foi por uma boa causa. Aquele meu sistema embarcado conseguiu, finalmente, conversar com o mundo via TCP/IP.

“Poxa… mas o GNU/Linux® já tem a pilha TCP pronta, cadê a dificuldade?”. Pois é, Flipper… o mundo embarcado não é assim preto e branco. Na verdade, costuma ter 16.777.216 tons de cinza… entre o processador escolhido (um ARM, lembram-se?) e o conector RJ45 existe mais coisa do que imagina a nossa vã filosofia. Há desde fabricantes que não liberam bons manuais até códigos defeituosos, passando por placas de circuito impressas mal feitas.

Imaginem o cenário: você montou o protótipo, a coisa não funciona. Mas você não tem certeza se o problema está no software, no hardware ou nos dois. Sentiram o tamanho da encrenca? Foram quatro semanas e três pessoas “full time” até a solução final.

Bem, onde quero chegar? Em lugar algum. Só mostrar a vocês o resultado de alguns dias de experimentação:

Imag006.jpg


Imag007.jpg

Reparem nos “recursos técnicos”: protótipo é assim mesmo. Parece pouco, mas acreditem, foram horas de trabalho, pesquisa e daquela arte oculta de adivinhação, também conhecida como “leitura de manual”. Ah sim! São duas placas, montadas uma sobre a outra. Reparem que o estagiário soldou os leds para dentro!

Outra coisa que vale a pena comentar: quem é interessado na área pode ter o “gostinho” de experimentar uma plataforma de desenvolvimento, mas não quiser fazer isso remotamente, pode baixar uma versão da ferramenta de desenvolvimento da Atmel. É baseada no Eclipse e pode ser instalada no Windows (gerando código para GNU/Linux®).


  • Rafael Vasconcelos

    OK Marcellus, mas o que esse bichin faz mesmo ? :)

    OFF: Mim odeia Assembly.

    ————————————————————–
    Conhecimento vem de fora, inteligência vem de dentro.

    • Marcellus Pereira

      Pois é… não posso contar. :D

      • http://www.worldorg.net flaviotomazio

        Deixa eu entender, o Linux ta dentro daquelas plaquinhas?

        Mas um dia você vai contar o que isso vai fazer?

        WorldOrg.net – Visite e confira
        Awana Hybridus

        • Marcellus Pereira

          Aquelas plaquinhas são um computador completo, com processador ARM de 200MHz, 32MB de RAM, 16MB de flash, ethernet, USB e por aí vaí…

          • http://flybywire.librian.net/ Tango

            Acho que dá pra dar uma otimizada. Substitui isso tudo por um 555. =D


            Viagens e trabalho: http://flybywire.librian.net/
            Dicas, histórias e reflexões na sala de embarque

      • Paulim

        Quando vi, lembrei daquela materia do pessoal que tava reaproveitando celulares usados pra criar novos dispositivos.

      • siecola

        Nossa! Que interessante? O fazem essas plaquinhas?

        “Todos os dias, sobre todos os pontos de vista, vou cada vez melhor!”

        • Marcellus Pereira

          Até agora nada… o engenheiro que contratei é muito enrolão, entende? :P

    • http://magno-naval.blogspot.com magno

      Eu odeio C++. Vou até mandar fazer uma camisa.

  • http://notazero.blogspot.com HeryckDM

    desculpa.. peguei o barco andando… qual o objetivo final de tudo isso? quando acabar estarei olhando para quê?

    —————————————————————

    Se você não é um fanboy click AQUI.

  • xultz

    Só uma dica: quando for fazer costuras na placa, use fio de wire wrap e não estes fios enormes que você usou, o wire wrap é muito mais prático, já puxei até ligação em pinos de LQFP100 com o fio sendo soldado nos pads do chip.
    E outra dica de ouro: nunca, mas nunca mesmo, mande o estagiário montar uma placa de protótipo que ninguém tem certeza se funciona. Isto deve ser feito pela pessoa com mais experiência em solda que você tiver a disposição. Mesmo que seja um engenheiro. Porque as horas que você perde procurando solda fria acabam sendo muito maiores e mais custosas do que as duas ou três horas que o engenheiro gastaria soldando a placa. Sem contar que os leds soldados na face oposta demonstram claramente que o estagiário é um cabeça de bagre sem noção (quando o footprint mostra claramente o lado do led) e que não houve supervisão/comunicação clara sobre a montagem da placa.

    • Marcellus Pereira

      Infelizmente, meus fios de wirewrap tinham acabado… tive que fazer com os normais, mesmo.

      E, quanto ao estagnário… eram LEDs, poxa. Não imaginei que ele os colocaria PARA DENTRO da placa. :D Mas foi uma boa lição.

      • http://notazero.blogspot.com HeryckDM

        [quote=Marcellus Pereira]Infelizmente, meus fios de wirewrap tinham acabado… tive que fazer com os normais, mesmo.

        E, quanto ao estagnário… eram LEDs, poxa. Não imaginei que ele os colocaria PARA DENTRO da placa. :D Mas foi uma boa lição.[/quote]

        A lição é: NUNCA CONFIE EM ESTAGIÁRIOS!
        —————————————————————

        Se você não é um fanboy click AQUI.

        • http://magno-naval.blogspot.com magno

          [quote]NUNCA CONFIE EM ESTAGIÁRIOS![/quote]

          Mas se você puder contratar alguém que poderá fazer determinada tarefa mais barato do que você faria, contrate.
          (levando em conta prazo, custo por hora e tempo de execução)

          Afinal, porque eu iria digitar um texto no Word quando poderia dar isso para o estagiário fazer por cinco vezes menos o que eu ganho por hora?

          • http://www.flickr.com/photos/lfamorim lf.amorim

            [quote=magno][quote]NUNCA CONFIE EM ESTAGIÁRIOS![/quote]

            Mas se você puder contratar alguém que poderá fazer determinada tarefa mais barato do que você faria, contrate.
            (levando em conta prazo, custo por hora e tempo de execução)

            Afinal, porque eu iria digitar um texto no Word quando poderia dar isso para o estagiário fazer por cinco vezes menos o que eu ganho por hora?

            [/quote]

            Você quis dizer: Nunca confie em escravos?
            Google sobre Estagiários

          • hugobitola

            [quote=magno][quote]NUNCA CONFIE EM ESTAGIÁRIOS![/quote]

            Mas se você puder contratar alguém que poderá fazer determinada tarefa mais barato do que você faria, contrate.
            (levando em conta prazo, custo por hora e tempo de execução)

            Afinal, porque eu iria digitar um texto no Word quando poderia dar isso para o estagiário fazer por cinco vezes menos o que eu ganho por hora?

            [/quote]
            Cinco vezes menos $? Correto!!
            Dez vezes mais tempo gasto e dez revisadas para corrigir os erros? Mais do que correto! Vai BRAZUCA!

            Abraço!

      • bug_bgs

        Parabéns,
        perceverânça é a ultima que deve morrer

  • redebr2818

    1- cirvale?? hahaha
    2- quer mais algum estagiario ?

    • Marcellus Pereira

      Rapaz… pior que estou precisando mesmo. Manda o currículo, mas tem que morar no sul de Minas. :D

      • redebr2818

        Que tal sta rita do sapucai ? huaiiuahiuha aluno do inatel ? ehehe Vou ver aqui, mas não sei no que podia ser útil pra vocês..

        • Marcellus Pereira

          Sendo um *bom* aluno do Inatel… *bom* no sentido de *fudeba*, não de bitola.

          • redebr2818

            hahaha, bitola eu não sou .. te garanto.. hehe

  • http://magno-naval.blogspot.com magno

    Parabéns pelo bom trabalho, Marcellus. Quando terminar, avisa para a gente. Daí poderá sair muita coisa interessante.

    Será que dá para miniaturizar e assim criar um cyber-wear com acesso à Web?

    [quote]Marcellus: Reparem que o estagiário soldou os leds para dentro![/quote]

    Ainda bem que é apenas um dos protótipos.

    [quote]HenryckDM: desculpa.. peguei o barco andando… qual o objetivo final de tudo isso?[/quote]

    Segundo eu lembro, esse dispositivo é para ser usado embarcado mas para fazer qualquer coisa. De computador de bordo a controlador de perna robótica com reconhecimento de alvo :D .

    [quote]Parece pouco, mas acreditem, foram horas de trabalho, pesquisa e daquela arte oculta de adivinhação, também conhecida como “leitura de manual”.[/quote]

    Também tem o SDK sem manual, que é a mesma coisa. Com direito a várias variáveis obscuras como ioref, iref, objRef, objectRef, uuid, id; ponteiros que levam a lugar nenhum se você não pedir com jeitinho, etc.

    • Marcellus Pereira

      [quote=magno]Parabéns pelo bom trabalho, Marcellus. Quando terminar, avisa para a gente. Daí poderá sair muita coisa interessante.

      Será que dá para miniaturizar e assim criar um cyber-wear com acesso à Web?
      [/quote]

      Obrigado, mas foi um trabalho de equipe, não só meu.

      Quanto a diminuir e ‘vestir’, o problema é que não projetei tendo em vista a portabilidade… daí, o consumo é mais elevado do que deveria ser para dispositivos desse tipo.

      • http://magno-naval.blogspot.com magno

        O “Cyber-wear” foi meio que uma brincadeira (embora todas as minhas brincadeiras tenham um fundo de seriedade). Cyber-wear é gíria para dispositivos cibernéticos implantados no corpo humano na ficção científica.

  • http://icaju.wordpress.com Mamutti

    Marcellus, você já ouviu falar do uCLinux? Sei que ele roda em ARM porque já rodei ele no meu GBA. ^^

    Considerando que o objetivo do projeto uCLinux é ser usado em microcontroladores achei que seria interessante pra você, além de ele já ter sido compilado e funcionado em ARM’s.

    PS: Lembrei que você já havia falado dele em outro artigo, então me diga, esse port é viável em aplicações médicas como esse seu projeto?

    Esta linha que você está lendo é minha assinatura.

    • Marcellus Pereira

      Dois “problemas”: não tem suporte a MMU e usa a uClibc. Como o ARM que uso é o 9 e tem MMU, dá pra rodar o GNU/Linux® “normal”.

  • http://formfeed.blogspot.com hernandi

    Me diga, pra que voce esta fazendo isso; qual será a grande aquisição de dados que voce fara? ou o grande controle de motores de passo? qual será a utilidade.
    Sei que amamos a eletronica e a informatica; mas pra ter mandado o estagiario fazer o serviço voce não deve amar muito a eletronica!
    Just tell us more about.
    !!!!!!!!! ALIAS, UM BUG NO SISTEMA DE BITS DO SITE; TODA VEZ QUE EDITO UM COMENTARIO OS bits VÃO SE REDUZINDO ATÉ CHEGAREM A ZERO! CORRIJAM ISSO !!!!!!!!!!!

    • carituS

      Nussa! Calma, bety! Custa pedir com educação pro pessoal?

    • Marcellus Pereira

      Bom, hernandi, boa tarde. Se você seguiu os links no artigo, leu que, infelizmente, não posso comentar a aplicação. Minha idéia é mostrar um pouco do desenvolvimento com GNU/Linux® embarcado, coisa raríssima de ser mostrada no Brasil. Mas posso te adiantar que é bem mais que aquisição de dados e controle de motores-de-passo. Afinal, você bem sabe que se fosse só para isso, usava um microcontrolador.

      Quanto ao problema de “amar a eletrônica”… gostar da ciência é uma coisa. Não confiar num sujeito que estudou engenharia para soldar UM LED, é outra… veja que não foi o processador, não foi a flash, não foi o PHY… foi o LED!

      E quanto aos bits… lamento, mas não é um bug, é uma feature.

  • le_le

    Já descobri pra que funciona o GNU/Linux®!!!!!!!!!!
    simplesmente um aparelho para dominação mundial, ele dominará nossas mentes e nos obrigará a usar o Win 95 num 386 ferrado para invadir sites de não dominados!!!!!!
    Putz!!!!!viajei mas pra que serve essa coisinha ai?

  • Rhob

    Pereira, alguma previsão de término desse projeto?

    Por abril vai ter + uma edição do FISL aqui em Porto Alegre – RS.
    Quem sabe tu se inscreve como palestrante?
    hehe

    Sempre é bom ver projetos criativos feito pro brasileiros por lá… ;)

    E boa sorte com esse seu estagiário aí…
    AEHUAHEUAEHUAEHUAEH

    ___________________________________________________
    >> http://www.geekly.com << under construction
    ___________________________________________________
    “Imagine uma frase inteligente e sarcástica aqui.”

    • Marcellus Pereira

      Ih, rapaz… só se me pagarem a passagem.

      Me convidaram para palestrar uma vez (não no FISL) e, na última hora, sumiram… gastei o maior tempão na apresentação e fiquei a ver navios.