[GERAL] duvida sobre os tipos de memoria interna

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Mensagempor mastk » 09 Set 2010 13:28

Sim, barramento externo só para coisas complicadas, hoje em dia as CPU de rua ja tem muito poder de processamento e recursos.

O pong é super simples, é um exemplo de masoquismo.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor msamsoniuk » 09 Set 2010 16:03

o PC usa um processador com memoria externa e ninguem fica decorando enderecos de memoria. basta vc programar em C e todos os problemas magicamente se resolvem.

rcakto escreveu:interecante, mas com certezaa não deve ser nada facil programar a esta nivel, visto que voce deve utilizar memoria externa... aja saco para poder lembrar de cada endereco de memoria para ficar tudo rodando devidamente....
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabim » 09 Set 2010 16:38

Marcelo Samsoniuk escreveu:o PC usa um processador com memoria externa e ninguem fica decorando enderecos de memoria. basta vc programar em C e todos os problemas magicamente se resolvem.

rcakto escreveu:interecante, mas com certezaa não deve ser nada facil programar a esta nivel, visto que voce deve utilizar memoria externa... aja saco para poder lembrar de cada endereco de memoria para ficar tudo rodando devidamente....


uauaua, eu mereço esses caras!!!
To precisando rever os meus conceitos do tipo de loucos que eu ando junto !!! uauauaua
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor mastk » 09 Set 2010 17:36

Logico que vc pode esquecer os endereços em funcao de MMU, DLL, API e outra coisas de gente fraca.

Negocio é ter cuclão e fazer seu proprio stack TCP em asm.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor msamsoniuk » 09 Set 2010 20:48

assembler eh coisa de piqueiro! dah um zoio nessa "stack" udp em verilog:

http://www.fpga4fun.com/10BASE-T0.html

se o *hardware* jah eh programado em linguagem C-like (verilog), pq eu vou perder tempo com assembler? :D

mastk escreveu:Logico que vc pode esquecer os endereços em funcao de MMU, DLL, API e outra coisas de gente fraca.

Negocio é ter cuclão e fazer seu proprio stack TCP em asm.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor polesapart » 09 Set 2010 23:43

rcakto escreveu:so tenho uma coisa a dizer:

I R A D O

mas assim mesmo não deve ser nada facil, vai precisar de uns bons anos de pratica...


Assim, se conseguir os componentes extras (FLASH e/ou ram externas) e montar a placa não forem problemas pra vc, programar é que não vai ser. Geralmente vc tem que botar uma rotina de inicialização muito tosca e editar uns arquivos mais toscos ainda no linkeditor pra informar os endereços de memória. Uma vez feito isso, vc nunca mais se incomoda e teu programa vai rodar magicamente,vc só vai lembrar que a flash tá fora do encapsulamento da cpu quando olhar a placa ou os esquematicos :P

Ah, ok, eu tou mentindo: gravar a flash é um pouco mais pentelho, as vezes inicializar tbm :P e se vc montar algo com memória DRAM, vc provavelmente vai se matar até acertar a inicialização da maldita, vc precisa dar uns pulsos malucos pra configurar uns registradores dementes até que ela funcione. Mas uma vez que vc acerte, tbm dificilmente vai ter que se incomodar com ela novamente.

Tinha um colega aqui do forum que fiou careca tentando fazer uma DRAM operar :D
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor msamsoniuk » 10 Set 2010 00:16

memoria DRAM assincrona eh relativamente simples de fazer funcionar, o maior problema sao as memorias sincronas. mas no caso de processadores com controlador de SDRAM/DDR, eh questao apenas de configurar corretamente os parametros.

mas normalmente todo processador decente tem imensas tabelas com todas as combinacoes possivels de larguras de barramento, geometrias de bancos e outros parametros. achando a configuracao certa, deve funcionar de primeira!

polesapart escreveu:
rcakto escreveu:so tenho uma coisa a dizer:

I R A D O

mas assim mesmo não deve ser nada facil, vai precisar de uns bons anos de pratica...


Assim, se conseguir os componentes extras (FLASH e/ou ram externas) e montar a placa não forem problemas pra vc, programar é que não vai ser. Geralmente vc tem que botar uma rotina de inicialização muito tosca e editar uns arquivos mais toscos ainda no linkeditor pra informar os endereços de memória. Uma vez feito isso, vc nunca mais se incomoda e teu programa vai rodar magicamente,vc só vai lembrar que a flash tá fora do encapsulamento da cpu quando olhar a placa ou os esquematicos :P

Ah, ok, eu tou mentindo: gravar a flash é um pouco mais pentelho, as vezes inicializar tbm :P e se vc montar algo com memória DRAM, vc provavelmente vai se matar até acertar a inicialização da maldita, vc precisa dar uns pulsos malucos pra configurar uns registradores dementes até que ela funcione. Mas uma vez que vc acerte, tbm dificilmente vai ter que se incomodar com ela novamente.

Tinha um colega aqui do forum que fiou careca tentando fazer uma DRAM operar :D
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor rcakto » 10 Set 2010 00:47

ok, entao seguindo com os conceitos passados por voces, eu tenho um projeto em mente que até agora o LPC2478 resolve tudo. entao segue uma pergunta e o meu projeto.

se eu usar o linux so precisarei programar os A/Ds??

Projeto:

monitorar alguns dados do tipo analogico; Ex.: temperatura, pressão, umidade e afins...
uso de portas logicas AND,NAND,OR,NOR, como entrada de aviso de atenção; Ex.: porta aberta, aparelho ligou e por ai vai...
atuar avisos sonoros e visuais;
receber e transmitir dados via LAN, WIFI, RS232;
salvar dados para feedback em cartão de memoria ou pendrive;
LCD para visualizar tudo E/OU saida para monitor de PC, sendo que pelo LCD irei usar touchscreen para adcionar funcoes novas, como um sensor de temperatura novo e afins, e apagar tambem....; resumindo edit total...

esse e o meu projeto de aparelho para me ajudar no meu laboratorio, visto que muitas vezes não posso testar o funcionamento de alguns aparelhos que monto por nao poder ficar o tempo todo de olho nele, e ai ja viu.. se der problema e fogo na certa em alguma coisa...
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor msamsoniuk » 10 Set 2010 03:42

eu nao conheco o LPC2478 e muito menos usei ele com uclinux, mas diz a lenda que ele tem controlador de SDRAM integrado, portanto deve ser tudo *transparente*, em especial se vc estiver usando uclinux e uboot... de uma olhada aqui:

http://ics.nxp.com/support/documents/mi ... .usage.pdf

achei meio fraca a documentacao dos caras e o ideal era encontrar um reference design especifico LPC2478 para nao fazer besteira. e jah recomendo ficar com memorias SDRAM micron, como a MT48LC8M16A2 recomendada ae no pdf. o 8M16 indica 8M x 16 bits e vc encontra com facilidade tb 4Mx16, 16Mx16 e 32Mx16. o uclinux gosta de muita memoria, no minimo 8MB (uma 4Mx16 portanto).

e claro, o uclinux nao cabe na flash on-chip do LPC2478 e possivelmente apenas o uboot vai caber lah. entao vc vai precisar de armazenamento extra, por exemplo, cartao MMC, SD ou memorias flash SPI. a ideia eh que o uboot boota a placa a partir da flash interna e configura a SDRAM e outros perifericos. entao o uboot puxa do dispositivo de armazenamento a imagem do uclinux e abre ela na SDRAM.

quanto ao build do uclinux e uboot, tem que falar com o fabim, que ele eh o especialista ae no forum em ARM e linux.

rcakto escreveu:ok, entao seguindo com os conceitos passados por voces, eu tenho um projeto em mente que até agora o LPC2478 resolve tudo. entao segue uma pergunta e o meu projeto.

se eu usar o linux so precisarei programar os A/Ds??

Projeto:

monitorar alguns dados do tipo analogico; Ex.: temperatura, pressão, umidade e afins...
uso de portas logicas AND,NAND,OR,NOR, como entrada de aviso de atenção; Ex.: porta aberta, aparelho ligou e por ai vai...
atuar avisos sonoros e visuais;
receber e transmitir dados via LAN, WIFI, RS232;
salvar dados para feedback em cartão de memoria ou pendrive;
LCD para visualizar tudo E/OU saida para monitor de PC, sendo que pelo LCD irei usar touchscreen para adcionar funcoes novas, como um sensor de temperatura novo e afins, e apagar tambem....; resumindo edit total...

esse e o meu projeto de aparelho para me ajudar no meu laboratorio, visto que muitas vezes não posso testar o funcionamento de alguns aparelhos que monto por nao poder ficar o tempo todo de olho nele, e ai ja viu.. se der problema e fogo na certa em alguma coisa...
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabim » 10 Set 2010 07:25

uai, pagando bem..
2478 são os projetos que estamos acabando para a encubadora de transporte, e a estacionaria.
Linux, eu estou só brincando não me aprofundei ainda. O bom de pegar projetos é que aprendemos ganhando!! Se quiser o orçamento... Até hoje não existiu o que eu não conseguisse fazer funcionar.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor tcpipchip » 10 Set 2010 07:37

Olha...

O uclinux vai muito bem com SRAM (STATIC RAM), mas o que mata é o preço dela...(CYPRESS) (16 bits + 16 bits)....cy7c1061

Eu testei uclinux no LPC2398 com elas (sem controlador de SDRAM)...baseado no projeto do ULRICH...funciona muito bem...até hoje roda :)

Outra opcao sao as SRAM de 8 bits... (SAMSUNG KM68512), com bancos de 4 CI de cada, para formar o barramento de instruções/dados de 32 bits...tem o modo THUMB...mas...nao foi...
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor xultz » 10 Set 2010 08:43

Fabim, quanto você quer para fazer o Brasil funcionar?

mas normalmente todo processador decente tem imensas tabelas com todas as combinacoes possivels de larguras de barramento, geometrias de bancos e outros parametros. achando a configuracao certa, deve funcionar de primeira!


Coloque "imensas tabelas", "achar a configuração certa", e "lei de Murphy" na mesma frase, e morra de medo...
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor polesapart » 10 Set 2010 10:10

xultz escreveu:Fabim, quanto você quer para fazer o Brasil funcionar?


Já tou até vendo ele eleito e fazendo o filme "Fabim, o filho do Brasil"
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor rcakto » 10 Set 2010 12:06

ta mas me falaram que ao usar memoria externa vc perde quase todos pinos por culpa dela, pois voce nao pode usar ela em paralelo com outras aplicações senão da pau ou na memoria ou no que vc estara fazendo

ex.:

vamos dizer que vc vai ler um sinal analogico e o mesmo pino e usado para a memoria, se o sinal ficar negativo estraga a memoria...
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor fabim » 10 Set 2010 12:28

xultz escreveu:Fabim, quanto você quer para fazer o Brasil funcionar?

mas normalmente todo processador decente tem imensas tabelas com todas as combinacoes possivels de larguras de barramento, geometrias de bancos e outros parametros. achando a configuracao certa, deve funcionar de primeira!


Coloque "imensas tabelas", "achar a configuração certa", e "lei de Murphy" na mesma frase, e morra de medo...
,

Meo, xuxu!!! Se liga, não se cumpre ordem absurda, nem se cobra pelo impossivel.
O brasil só vai pra frente, só quando morcego duar sangue, e o saci cruzar as pernas!!!!!!!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

AnteriorPróximo

Voltar para ARM

Quem está online

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

x