por fabim » 27 Mai 2011 10:48
Cabra, eu não sei qual é a necessidade de clock do seu projeto.
Mais veja que, é absolutamente e muito possivel o uso de um ARM7 com EMC.
O LPC2478 tem EMC com até 1/2CCLK ou seja, se rodar a 72KK/2, e lembre-se conforme o samsonite explicou a pouco tempo, o periferico de controle de EMC consegue até 2 transações ou mais por CK.
No caso, funciona da seguinte forma.
Tu cria o seu projeto normalmente no keil, porem com os pragmas apontando o start program pro mesmo endereço da EMC onde seu programa vai rodar. Saca?
O 2478 a EMC começa no endereço, 0xA0000000.
Lá o keil tu faz o seu programa em apenas um *.C, e com o botão direito sobre o arquivo, tu informa qual região vai estar o seu programa.
Bom, isso é o executavel infinito que vai ser rodado na ram, de forma simploriamente explicado.
Mas para subir este programa para a EMC, você precisa de um outro programa que por sua vez vai estar gravado na flash interna.
Este programa simplesmente faz o seguinte:
1° Configura os perifericos minimos para que o processador funcione.
2° Habilita e configura o periferico EMC
3° Habilita e configura o meio de memoria qual o programa que vai rodar a EMC esta armazenado.
4° Se estiver em hex32 intel, faz a linkedição, se estiver em bin só jogar todos os N bytes do cheksum lá na memoria, partindo do endereço X.
5° GOTO 2° MAIN, não CALL, é GOTO. E lá fica while 1...
Isso é estatico, para qualquer sistema, isso é o que o boot faz!!
Você ainda não aprendeu dar o BOOT ?
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!