Paginação

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Paginação

Mensagempor Vonnilmam » 17 Nov 2009 18:01

Caros colegas, eu queria fazer um pergunta ingênua de quem esta começando a mexer com esses avrs...no caso sobre o ATMEGA16,

Então eu queria saber se eu preciso ficar selecionando paginas na memória de programa e na de dados (pergunto isso porque nos pics 16, temos que ficar fazendo essas coisas), estou programando em assembler no momento, afim de me familiarizar com o chip...

Grato,
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Mensagempor Djalma Toledo Rodrigues » 17 Nov 2009 18:36

Tem não

Extraido do Datasheet:
Código: Selecionar todos
The first 96 locations address the Register File and I/O Memory, and the next
1024 locations address the internal data SRAM.

The direct addressing reaches the entire data space.

Quer dizer os primeros 96 Bytes contem: R0 a R31 e Portas

A partir do Endereço 0x60 livre


T ++ e bom ASM
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

duvida

Mensagempor Vonnilmam » 17 Nov 2009 21:48

Muito obrigado pela atenção!

- Para que serve o R0-R31? (por um acaso seriam registros de uso livre onde se poderia manipular bits e bytes?)

- Apartir do endereço 0x60 (dados da ram) eu posso manipular livremente os bits e bytes também?

Eu sempre lí sobre esses registros R0 a R31 mas confesso que numca entendi direito porque fala-se tanto nesses registros (isso imaginando que os endereços posteriores da ram fazem as mesmas coisas ou seja: pode-se escrever e ler bits e bytes também...

Grato,
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Mensagempor Jozias del Rios » 17 Nov 2009 21:52

vc sofre do mal de pic!

seguinte... os r0 - r31 são os seus 32 acumuladores "W" equivalentes da PIC.

Dê especial atenção para os r16-r31, pois estes podem trabalhar com valores imediatos, os outros não.

especial atenção tambem para as duplas
z = r31:r30
y = r29:28
x = r27:r26

que são usados como ponteiros 16 bits para varias finalidades, entre elas ponteiro para a memoria (RAM ou Flash)

e dalhe estudo! aprender asm de avr é muito bom! esse bixinho é massa.
Editado pela última vez por Jozias del Rios em 18 Nov 2009 02:16, em um total de 1 vez.
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor Djalma Toledo Rodrigues » 17 Nov 2009 23:17

Jozias del Rios escreveu: ... e dalhe estudo! aprender asm de avr é muito bom! esse bixinho é massa.

Vou 'adotar' um.

Um com 'pedigree' ATXMEGA128A1
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Jozias del Rios » 18 Nov 2009 03:59

Se vc achar uma loja aqui no Brasil que vende esse bixinho tão fácil quanto um LED, me avisa.

Que pena que ele não fala USB
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor Vonnilmam » 18 Nov 2009 14:53

Realmente eu estou com pic na cuca em demasia...muito obrigado pelas dicas importantes...

Há eu trabalho com um distribuidor de componentes e eles encontram quase qualquer coisa (inclusive de amostras) fornecem em pequena quantidade (digam que são amigos do "marcos de minas gerais" e falem com marcelo farias, ok...www.tecnomult.com.br

Muito obrigado a todos, vou iniciar o aprendizado colocando a mão na massa...rsos...
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Mensagempor Jozias del Rios » 18 Nov 2009 16:39

http://www.tecnomult.com.br/
:
Directory Listing Denied

??
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor Vonnilmam » 25 Nov 2009 11:01

Oi, tudo bem com vcs..

Então o telefone da tecnomult é: 011-4461-3099 falar com o marcelo farias...ok, o site esta correto: www.tecnomult.com.br...

O email do farias é: m.farias@tecnomult.com.br


Boa sorte a todos, e muito obrigado pelas dicas...em breve voltarei!
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Mensagempor vtrx » 25 Nov 2009 12:05

Jozias,voce pode implementar USB em qualquer µc ou processador que não tenha,veja o exemplo do Mjoy,um ATmega8 usando USB...
Claro que fica limitado a velocidade,mas sem Hardware específico,vantagens do ASM...
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor Jozias del Rios » 25 Nov 2009 13:59

vtrx,

o problema é que eu estou querendo implementar um USB Full Speed Host (12Mbps), completamente diferente de um USB Low Speed Device como o Mjoy!

Quero conversar com um Pen Drive, como falei em outro tópico... tem que ter o modo Bulk Transfer, que não é implementado em Low Speed.

Tecnologicamente é impossível fazer isso com um ATMEGA sozinho por causa da Serial Engine Interface. Pensei até em usar o SPI e um FlipFlop externo como sugestão dada aqui no tópico, mas mesmo assim fica aquém do necessário em performance.

Até conversei com uns gringos por e-mail, e fiz eles corrigirem o site do projeto deles:
http://courses.cit.cornell.edu/eceprojectsland/STUDENTPROJ/2007to2008/blh36_cdl28_dct23/index.html (veja a primeira pergunta do FAQ)

eles afirmavam que flash drives eram dispositivos que eles conseguiam interfacear com o Atmega32, mas agora não mais.

Mesmo assim, eu, e os gringos também, estamos abertos a idéias criativas ;-)
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor Jozias del Rios » 25 Nov 2009 14:05

cara, esse http://www.tecnomult.com.br só dá "Directory Listing Denied" por aqui, pelo Chrome e Firefox. Alguém consegue abrir (excetuando-se o nego que sugeriu o site) ?
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor Djalma Toledo Rodrigues » 25 Nov 2009 15:34

Tem até uma Funerária Tecnomult -- Cruz credo! :lol:
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor vtrx » 25 Nov 2009 17:35

Jozias,vc programa em C ou ASM?
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor Jozias del Rios » 25 Nov 2009 17:54

Bom... programei muito ASM para a arquitetura x86, e cheguei até o SIMD com SSE/SSE2.
Em "alto nível" programo em C e C++, mas somente para computadores (Win32), não para microcontroladores.

Estou em vistas de, quando tiver paciencia e achar que compensa, criar uma linguagem " ASM++ " que tenha sintaxe parecida com o C++, porem que é traduzida diretamente para codigo binario. Algo como:

Código: Selecionar todos
r16++;
// torna-se: inc r16

if ( cf( r16 += 5) )
    r16 = 255;

// torna-se:
// sbi r16, -5
// brnc pc+2
//    ser r16



e tudo mais, e com a mesma orientação a objetos que o C++, porém com mais liberdade para realizar "inline" das funções e inclusive uso inteligente de registradores (variaveis abstratas)... enfim, uma linguagem com transição seamless entre C++ e ASM. Uma sintaxe que praticamente suporta arquivos .ASM e .CPP com o mesmo parser.

Logicamente criar uma ferramenta dessas para AVR não vale a pena. Eu estava imaginando fazer para o ARM-Cortex que eu espero que ainda vá dominar o mercado dos uC de 32 bits...

Bom, to deixando aqui a semente para que esse tópico se torne outro "C vs. ASM", igual deixei a semente no outro e rolou o que rolou hehehe.

e... pq a pergunta?
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Próximo

Voltar para AVR

Quem está online

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

cron

x