Página 1 de 1

"MAM" linha LPC NXP, entendi mais não compreendi.

MensagemEnviado: 19 Nov 2009 08:17
por fabim
Entendi perfeitamente, que p prefetch roda na mesma velocidade de acesso da ram de dados, sendo assim os dois trabalham praticamente na mesma velocidade, aumentando a quantidade de instruções por segundo.
Não compreendi como configurar isto.

Pelo que eu fui enganado, e abusado.
Eu quero que uma parte de programa rode na RAM DE PROGRAMA, no meu caso são 4 rotinas que tratam o FFT.

Existe algum comando de compilador pra serializar estas rotinas e fazer o anexo à RAM de programa ?

to a uma semana fuçando e procurando no herpe, mais o UM do 2148/2368 explica o que é e qual o intuito desta função, mais não achei nada apalpavel para poder aprender como usar bunitinho.

ALguém que realmente saiba como usar, poderia me introduzir estas informações ?

Abraços

O cornoarm...

MensagemEnviado: 19 Nov 2009 16:35
por Djalma Toledo Rodrigues
Ol Fabim

Do Datasheet:

In addition, the CPU interrupt vectors may be re-mapped to allow them to reside in either
flash memory (the default) or on-chip static RAM. This is described in Section 6.17
“System control”.


6.17.6 Memory mapping control
The memory mapping control alters the mapping of the interrupt vectors that appear
beginning at address 0x0000 0000. Vectors may be mapped to the bottom of the on-chip
flash memory, or to the on-chip static RAM. This allows code running in different memory
spaces to have control of the interrupts.


Aí roda na RAM como qualquer bom PC

T++

Re: "MAM" linha LPC NXP, entendi mais não compreen

MensagemEnviado: 19 Nov 2009 18:22
por Djalma Toledo Rodrigues
fabim escreveu: ... Pelo que eu fui enganado, e abusado. ...

Doeu muito ? :D


Mas, relendo agora parece que o que você pretende é como colocar a Rotina FFT2 na RAM

É isso ?
.

FLASH TO RAM

MensagemEnviado: 19 Nov 2009 19:02
por tcpipchip
Existe algum comando de compilador pra serializar estas rotinas e fazer o anexo à RAM de programa ?


Sim Fabin, dá uma olhada no compilador da IAR, voce pode configurar a copia de um programa da FLASH para RAM durante o START

IAR TOOLSET

Abraços

TCPIPCHIP

MensagemEnviado: 20 Nov 2009 05:37
por Jozias del Rios
já tentou fazer um memcpy(...) e uma chamada ao endereço de destino logo depois?

MensagemEnviado: 20 Nov 2009 06:45
por fabim
Jozias del Rios escreveu:já tentou fazer um memcpy(...) e uma chamada ao endereço de destino logo depois?


hehe, pessoar.
Esperei para responder e ter certeza...

Agora eu tendeu e compreendeu :)

Zerô!!

Só não vou colocar aqui, pois é grande e complicado pra explicar.

Mas vão ao Santo Graaogle, e digitem.
LPC2148 MAM aplication example.

Mesmo ele não achando a sinaxi da palavra toda, vai puxar uma pá de forum e sites de hobbystas que explicam como usar.
No meu caso, o putex me mandou algumas linhas explicando o blablabla, eu fiquei fuçando no keil pra todo lado, e quando dei uma pesquisada no grogri achei um site que explicou como funciona na pratica..

TKSALL!!!

Fabim

MensagemEnviado: 20 Nov 2009 08:31
por Djalma Toledo Rodrigues
fabim escreveu: ... putex me mandou algumas linhas explicando o blablabla, eu fiquei fuçando no keil pra todo lado, e quando dei uma pesquisada no grogri achei um site que explicou como funciona na pratica...
Fabim

Observaram como não compartilham?

Que Site?

O Proex envia em prive. Ta baum

Agora não entendi porque na RAM roda mais rápido.

No PC se entende. Mas, no µC o tempo de instrução não é constante ?

-----------------------------------------------------------------------------------
O conhecimento não diminui quando se compartilha
muito pelo contrário.

"Falow. Preciso dar um break" como dizia aquele hippie doidão do Chico Anísio
.

MensagemEnviado: 20 Nov 2009 08:38
por fabim
bom, assim ó.
Imagina um LPC2148 rodando a 60mhz, e os ditos 52 mips.

MENTIRA, O TEMPO DE LEITURA DA FLASH É DE 50Ns.

OS ditos 52 mips em 60mhz faz mensão ao MAM abilitado e rodando na RAM..
PLO que eu consegui entender, fica assim.

um carinha desse rodando a 60mhz, na verdade esta a 1/3 disso.
pois 1 / 0.000 000 050 = 20mhz......

Agora pelos meus calculos, e pelas esplanações que eu lí por aí.

A ram vai rodar a 17nS, 58823529,411764705882352941176471mhz

ou seja, máximo de 58.8mhz, que esta proximo aos 60 do CCLK que vai para CPU.

Só que tem aqueles calculos que o fabricante faz, na média de numero de clock intrução, que da os 52.5mips.

PORQUE EU ENTENDI ASSIM ?

Pois joguei o FFT na ram,
Entrou FFT seta pino
Saiu FFT clear pino
deu quase 3.5X menor tempo que rodando na flah...

Vai entender, o duro é só 32K de ram :( poderiam colocar pelo menos uns 256K..rsrsrs

Abraços

MensagemEnviado: 20 Nov 2009 09:13
por Djalma Toledo Rodrigues
OK Entendido. :arrow:
.