Kit de desenvolvimento LPC3250 da Embedded Artists

- por Sergio Prado

Categorias: Hardware Tags: , ,

O kit de desenvolvimento LPC3250 da Embedded Artists vem equipado com o microcontrolador LPC3250 da NXP, e pode ser uma boa escolha se você quer boa performance, alto nível de integração de periféricos e baixo consumo.

Se sua aplicação precisa de uma capacidade de processamento maior do que a oferecida pelas CPUs ARM Cortex-M3, com necessidades de display gráfico e conectividade, mas não quer uma solução tão high-end como as linhas i.MX da Freescale ou Sitara da TI, talvez o LPC3250 seja o que você procura.

O kit é composto basicamente por uma placa com CPU e memória RAM/Flash (LPC3250 OEM Board) conectada à uma placa-base (QVGA Base Board), com o display e um conjunto de periféricos para acesso.


O microcontrolador LPC3250 é um ARM9 rodando à 266MHz com 256kB de SRAM, interface para flash NAND e barramento para SDRAM, Ethernet MAC e um controlador de display LCD integrados, além de diversas interfaces de comunicação como USB, UART, I2C, SPI, I2S, PWM, ADC, etc.


O kit vêm com 128MB de flash NAND, 4MB de flash NOR e 64MB de SDRAM. Pode ser alimentado por USB ou uma fonte externa de 9-15V. Possui interfaces Ethernet, USB host/OTG, cartão SD/MMC, display LCD de 3.2", JTAG, RS232, IrDA, acelerômetro, E2PROM, botões, leds e conectores para expansão de I/O.

O manual do usuário pode ser baixado aqui e o datasheet aqui.

O kit pode ser adquirido no site da Embedded Artists por $340 FOB (no momento em que escrevo este artigo), ou em um de seus distribuidores como a Digi-Key, a Future Electronics e a Mouser. No Brasil, a Microgenios é a distribuidora oficial da Embedded Artists.

LINUX

Com MMU e boa capacidade de memória (Flash e RAM), conectividade e interface com displays gráficos, o kit é uma boa plataforma para se trabalhar com Linux.

A comunidade Linux para os microcontroladores da NXP gira em torno do site http://www.lpclinux.com, com seções de download, tutoriais, blogs, forums, etc.

PROCESSO DE BOOT

O microcontrolador LPC3250 possui uma ROM interna de 32K com um código de boot que é executado sempre que você liga o equipamento. Este código de boot procura por um bootloader em 4 diferentes fontes: UART, SPI, NOR e NAND.

Quando você liga o equipamento, este código de boot em ROM verifica a entrada SERVICE (GPI_1) do microcontrolador. Se esta entrada estiver em nível baixo, o codigo de boot inicia um processo de recuperação para baixar um programa pela UART e carregá-lo para a SRAM. Se esta entrada estiver em nível alto, ele irá procurar por um bootloader nas seguintes interfaces, nesta ordem: SPI, NOR e NAND. Se ele encontrar, irá carregar os primeiros 54kB para a SRAM.

Este código carregado para a SRAM é o bootloader de 1o. estágio, chamado de Kickstarter, responsável basicamente por carregar e iniciar um bootloader de 2o. estágio, o S1L. Este bootloader de 2o. estágio é o responsável por inicializar o hardware (GPIO, clock, SDRAM, etc) e carregar o bootloader de 3o. estágio, o U-Boot. Ufa!

Daí é o processo normal de qualquer sistema Linux embarcado, o U-Boot carrega o kernel e então temos nosso sistema Linux rodando no kit.

USANDO O KIT

Para usar o kit, basta alimentá-lo com o cabo USB, conforme figura abaixo:


Você só vai precisar de uma fonte externa se for ligar dispositivos de consumo alto no barramento USB.

Como a placa possui o chip FT232 da FTDI, ao mesmo tempo que o cabo USB serve para alimentar o kit, ele será sua conexão serial (console) com o equipamento!

Configure seu programa de comunicação serial preferido com 115200-8N1, ligue o kit na sua máquina de desenvolvimento pelo cabo USB, e veja o menu do bootloader de 2o. estágio (S1L):

Embedded Artist 3250 Board (S1L 2.0)
Build date: Nov 23 2010 13:21:19
 
EA3250#

Com este bootloader você é capaz de bootar do cartão SD, da UART ou da NAND Flash. Mas é claro que você vai querer bootar o Linux, não é verdade? Então você vai precisar gravar o U-Boot na flash NAND.

Você pode baixar o u-boot daqui, renomeá-lo para u-boot.bin e salvá-lo em um cartão SD.

Coloque o cartão SD no kit, reinicie-o e na linha de comandos do bootloader S1L, carregue o U-Boot do cartão SD para a RAM:

EA3250# load blk u-boot.bin raw 0x83fa0000

Salve na flash:

EA3250# nsave

E configure o bootloader S1L para automaticamente carregar o U-Boot no boot do equipamento:

EA3250# aboot flash raw 0x83fa0000

Configure também um delay de 2 segundos no boot do S1L:

EA3250# prompt EA3250# 2

Reinicie e pronto! Você receberá o prompt do U-Boot no terminal:

Embedded Artist 3250 Board (S1L 2.0)
Build date: Nov 23 2010 13:21:19
Autoboot in progress, press any key to stop
 
U-Boot 2009.03-rc1 (Sep 28 2009 - 09:38:20)
 
DRAM:  64 MB
NAND:  128 MiB
*** Warning - bad CRC or NAND, using default environment
 
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
uboot#

TREINAMENTO

Este é o kit que utilizarei nas minhas primeiras seções do treinamento de Linux embarcado. Os kits foram gentilmente cedidos pela NXP para a realização do treinamento.

Busquei desenvolver uma metodologia de ensino de forma que as atividades de laboratório fossem independentes de hardware. Nada de receitas de bolo. O que você aprender com este kit, poderá aplicar em qualquer outro hardware com suporte à Linux. Mas espero que possamos nos divertir bastante com este kit, desenvolver alguns projetos legais durante (e depois) do treinamento, e claro, aprender Linux embarcado!

Para quem já se inscreveu, vejo vocês lá!

Um abraço!

Sergio Prado

Faça um Comentário

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.