Expandir memoria FLASH por SD Card

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Expandir memoria FLASH por SD Card

Mensagempor dandrade » 10 Abr 2012 18:59

Quero compreender e debater, a possibilidade de utilizar uma memoria externa de alta capacidade, como recurso para expandir a area de memoria utilizada para o programa compilado do microcontrolador.

Resumindo, inves de usar microcontrolador com 128Kb, 256Kb de memoria FLASH. Usar um microcontrolador de menor capacidade, com o booloader carregado e programa basico(malhas de controles) que leia as instruções contida em um SD CARD (MemoryKey).

Quero saber se já existe projetos com esta solução, caso negativo o que impede ou restringe.
dandrade
Nibble
 
Mensagens: 56
Registrado em: 14 Set 2007 15:36

Mensagempor chrdcv » 10 Abr 2012 19:47

Microcontroladores, como a própria descrição do nome diz, são unidades de processamento com capacidades limitadas tanto pela arquitetura (concepção) quanto pela construção. Durante a fase da arquitetura, é decidido sobre a concepção dos blocos bem como a interconexão destes através de um barramento. Especificamente no teu caso, temos um uC de 8bits RISC cuja a arquitetura possibilita o mesmo a execução de códigos em uma FLASH (base do conceito inovador dos primeiros AVRs).

Devido aos desdobramentos tecnológicos e quebras de paradigmas, e/ou utilização de conceitos já estabelecidos anteriormente por uma questão de mercado, houve recentemente uma remodelagem dos mesmos, através da expansão e renovação do portifólio dde produtos, o que levou a um aumento da capacidade de memória de programa e de dados (FLASH/RAM) bem como a possibilidade de acesso à memória externa através de pinos de Endereço/Dados.

Periféricos são módulos adicionais que realizam algumas funções "sujas" as quais poderiam tomar tempo da CPU. No teu caso, certamente os uC não possuem um suporte ao barramento de 4bits para interface com um cartão, então, o mais próximo que poderia usar seria uma SPI, o que demanda tempo de processamento e posse da CPU realizando função de I/O no cartão e ainda tendo que rodar o filesystem. A BIOS que mencionou poderia ser simplesmente um sistema baseado em uma "máquina virtual". Mas no contexto, máquina virtual em uma arquitetura minúscula implica em uma série de restrições (alocação de memória, processamento concorrente -- troca de contexto) sendo a mais interessante o tempo de processamento.

Existe uma solução bem próxima do que pretende realizar, e o nome é elua. Baseada na linguagem lua criada no braZil nos laboratórios da tecgraf puc-rio. Devido ser uma linguagem muito pequena (mas muito poderosa) e ter uma máquina virtual escrita e polida em C, possibilita o uso nas mais diversas arquiteturas. Então, o que tem que fazer é ver se há um port atual para teu processador. Caso positivo (muito provável), é necessário que a máquina lua (interpretador) rodando na memória de programa interna/externa, busque "instruções" no cartão de memória externo. Daí que o rabo torce a porca... possível e viável é, mas não mais perderia o meu tempo com isso!

uC de 32bits é uma realidade a preços módicos, e o mais interessante, vc pode construir grandes sistemas com arquiteturas fantásticas (Coldfire v2, v3) utilizando ferramentas gratuitas e base de código madura e a "prova de fogo". Assim, uma vez tendo a tua plataforma "base" vc se isola das camada inferiores por um bom tempo e fica desenvolvendo somente a aplicação, ou seja, o foco no que tem que ganhar dinheiro e é o teu nicho. Caso necessite renovar o portifólio dos teus produtos com uma nova arquitetura ou acréscimo de periféricos, todo o código da aplicação poderá ser usado, bastando a alteração da nova base para a nova arquitetura.

Decididamente, quando olho para trás e vejo o quanto tempo eu gastei desenvolvendo e estudando arquiteturas de 8, 16 bits ou até mesmo as de 32b escrevendo aplicações que rodavam sem o suporte de um RTOS ou OS, eu vejo o quanto tempo perdi, o quanto de dinheiro eu perdi e o quanto é agora obsoleto e mínimo são as funcionalidades dos produtos que desenvolvi ou ajudei em parte a fazer!

Putz, foi um desabafo!
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Re: Expandir memoria FLASH por SD Card

Mensagempor andre_luis » 10 Abr 2012 21:26

Nesse caso em específico, onde a aplicação pede mais recursos, tenho de concordar com a opinião acima, de que é melhor partir para uma arquitetura mais robusta.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x