Posts tagged ‘Embedded’

My Sons

That’s my sons:

My sons :)

The left most is  eee.bristot.eti.br: an asus eeePC that’s always with me at my bag. Is a INTEL ATOM n270, I got it because of you battery life, about 6 hour of full work, and your weight, about 1,3Kg with all packages installed and all my music inside ;-)
It’s run Fedora 13 with XFCE Desktop environment.

At the middle is kiron.bristot.eti.br and amd64rt.bristot.eti.br: ok is only the screen, but is an DELL Inspiron 531 with an AMD Athlon 64 X2 3800+.
That’s my desktop and test machine, I run fedora 13 on two installations:

  • The first one is for my desktop machine, where I watch some movies , surf on internet and use to develop some embedded and kernel. The desktop environment is Gnome.
  • The second one is for test real-time Linux kernel and make some applications. It run Fedora 13 with a custom kernel with the last real time patch, the desktop environment is XFCE.

The right most computer is an at91sam9260ek called as at91.bristot.eti.br. Is an Atmel development Kit for at91sam9260 processor (an ARM 926ej-s CPU at 200Mhz).
It run Buildroot Linux with a custom kernel with preempt-rt Linux and I use it to study drivers, kernel, and hardware architecture.

Where wallpaper is possible, is always about MotoGP, preferentially pictures where Valentino Rossi #46 is at 1st position. There is more development kits here, with TI omap3, blackfin and anthers embedded processors, but, these are the computer that i use more :)

Muita tecnologia para uma pessoa só

A culpa para eu não ter postado mais é uma só: é muita tecnologia para uma pessoa só!
Nessa vida de acadêmico, profissional e hobbista estou tendo que lidar com coisas tanto em baixíssimo quanto altíssimo nível;
A começar pela vida acadêmica, este trimestre a cadeira é de sistemas distribuídos, o contexto é:

  • comunicação com utilização de mensagens;
  • protocolos e semânticas;
  • tratamentos de erros, correções, tolerância a falhas;
  • tempo distribuído, ordens causais, exclusão mútua distribuída;

A linguagem de programação definida pelo professor (define:professor – Alguém que não é legal você contrariar) é JAVA. Sabe já fui xiita quanto a isto, mas para algumas coisas o Java realmente é uma mão na roda, por exemplo, faziam 4 anos desde a última vez que eu fiz um programa com janelinhas, e com Java consegui fazer um programa demo em menos de meia hora.

Outro ponto é: Objetos remotos. O Trabalho deste trimestre é fazer uma implementação utilizando Corba, e com Java isto é legal :) é muito simples compartilhar um objeto remoto utilizando Java, e eu sinceramente não sei porque este protocolo junto com o RMI (que é mais fácil ainda) não são utilizados em larga escala.

Saindo um pouco da vida acadêmica, caio na minha vida profissional, ai entramos em um outro extremo. Ai o contexto é outro:

  • kernel Linux, uCLibc, arm-linux-*
  • ARM, Atmel, TI
  • C e asm
  • NandFlash, Dataflash, EEPROM
  • 32MB, 4KB, 99Mhz…

E esta é a minha praia, eu sinceramente, sem brincadeira, fico feliz com os problemas que me aparecem lá, os últimos que me vem a cabeça…

  • fazer o suporte da INFERNO PACK para o u-boot mainline;
  • um patch com os drivers do INFERNO PACK para o kernel mainline e resolver os pepinos da integração deste com o PREMPT_RT;
  • resolver um problema da implementação de mutex na linuxthreads da uCLibc;
  • por o 2.6.33.5-rt + buildroot-2010.05 + um monte de aplicação em 3.5MB de dataflash;
  • provar para o pessoal do outro lado do barramento que a latência não é no Linux (eu adoro este);

Mas ultimamente um problema legal que tenho trabalhado é o fato do processador Atmel at91sam9g20 não conseguir ler a uma NAND Samsung de 512 mbit, faz mais de um mês que estou discutindo com a Atmel que o problema é a ROMBOOT do processador. O legal disto é que estou tendo bastante contato com o drivers/mtd/ e o código do bootstrap do processador.

Por fim, o lado hobbista… aaa, este é uma coisa só: kernel Linux/Tempo real. Pra quem não sabe, minha proposta de palestra para a LinuxCon foi aceita, em breve publicarei aqui o resumo dela e os slides. Mas bom, voltando ao assunto, ultimamente tenho lido bastante sobre tempo real, tanto teoricamente com o livro Real Time Systems quanto implementações no kernel Linux, como a implementação do HRT, DynTick, a proposta do escalonador EDF, alguns artigos sobre controle de admissão de processos de tempo real.

Enfim, como pode-se ver, meu tempo ultimamente tem passado desde registradores à objetos distribuídos… porém, pelo meu lado hobbista… tudo se resume na frase do Linus…

And yeah, I still think the hard-RT people are mostly crazy. — Linus;