Eduardo
Ve o circuit cellar design contest projeto TAM TAM do ARM 2005. Acho que o codigo fonte que tem lá dá para te dar suporte.
O grande problema não é nem a capacidade de memória. Com FAT16 você pode guardar 2 GB de dados. Acima disso só com FAT32. Outro fator é como você vai guardar os dados, ou seja, em que velocidade voce vai pegar os dados da planta e mandar. Existe comandos especificos para isso, tipo gravar um bloco de dados, voce define o tamanho e vai escrevendo. Depois da um "post". Se a velocidade não é tão crítica voce pode gravar setor a setor. 512 bytes. sem maiores problemas.
Outro fator importante é a quantidade de arquivos num unico diretorio. FAT16 tem um limite. Dai voce teria que criar sub pastas para não ter que foder o diretorio raiz.
Outro ponto importante é se voce vai apagar ou nao arquivos na FAT, isso vai gerar uns buraquinhos no cartao na hora que apagar, e o codigo que voce vai usar tem que ser bem feito para não complicar tua vida.
Normalmente eu vi poucas distro FAT que usa LFN (long file names), que nada mais é do que usar entradas de diretorio para escrever o nome dos arquivos maior que 8.3.
Eu particularmente nunca precisei escrever no cartao, assim dei uma capada numa distro qq da vida e fiz apenas a parte de ler..... e nao tem muita complicacao nao, a nao ser na hora de dar boot no cartao, pois para pegar o endereçamento completo do setor de boot e fazer os jumpers necessarios para a area de diretorios e de arquivos, dependendo do compilador e do alinhamento de bytes tratados voce pode ter algumas supresas desagraveis, no que diz respeito principalmente a conversão de ponteiros.
O bom mesmo é ter uma ferramenta de depuracao passo a passo para ver pra onde voce esta apontando na hora do boot, para ver se voce vai precisar ou nao mexer no codigo.
Esses links que a turma passou ae acho que ja resolvem o teu problema.
Normalmente o pessoal escreve codigo para acesso ao cartão no modo SPI. No ARM voce pode ir a 8 Mhz na boa, claro dependendo do teu hardware, pois se for mal feito, limita a velocidade que voce pode impor ao cartão.
Certas preocupacoes tais como deixar a tensao no cartao estabilizar, ter o controle de power do cara (ve la no site da vlsi, eles poem um mosfetzim para controlar o power), pois é sempre bom ter o controle de reset por software e hardware num dispositivo dessa natureza.
Outro fato por exemplo, eh a velocidade da SPI. Na inicializacao do cartoa voce usa uma velocidade baixa, e so depois sobe no gás. Algo como 100 Khz e depois sobe para 7 Mhz.
Acho que é por ae, sentar na bancada e larga o pau.
:roll: