Moderadores: 51, guest2003, Renie, gpenga
renatokodaira escreveu:Oi Fabio !
Quando tiver a placa do ARM disponivel pra venda pode avisar que eu vou querer uma. Tem jeito de meu irmao pegar quando voce estiver em Floripa ? A proposito, ele ainda tem interesse nas igniçoes para motos.
Abraço !
MacRC escreveu:Fabio Pereira,
O WT perguntou porque voce não divulgou este kit la na piclist ?
Não sei se voce esta acompanhando a lista, mas estavam discutindo sobre o kit da ST estes dias e eu passei o link de cá para eles ... espero não ter feito caca ...
1. Introdução. 11
1.1. Versões da CPU ARM... 12
1.2. Famílias ARM... 13
1.3. Eu Preciso de um ARM ?. 16
1.4. Características Gerais de Alguns Modelos. 17
1.5. Hardware Utilizado. 19
1.6. Convenções Adotadas. 21
2. Ambientes de Programação. 23
2.1. O Ambiente Embedded Workbench. 23
2.1.1. Criando o Primeiro Projeto no EWARM... 23
2.1.2. Configurando o Linker. 28
2.1.3. O Arquivo de Inicialização. 31
2.1.4. Simulando um Programa. 33
2.1.5. Depurando um Programa. 40
2.2. O Ambiente Eclipse + GCC.. 45
2.2.1. Criando um Projeto em C.. 45
2.2.2. Configuração do Linker. 50
2.2.3. O Makefile. 51
2.2.4. Simulando o Projeto. 52
2.2.5. Depurando o Projeto. 54
3. A Arquitetura ARM... 58
3.1. Estados da CPU.. 62
3.2. Registradores da CPU.. 63
3.2.1. Registradores do Estado ARM... 64
3.2.2. Registradores do Estado Thumb. 66
3.2.3. Registrador CPSR.. 67
3.3. Modos de Processamento. 69
3.3.1. Modo User (usr) 70
3.3.2. Modo System (sys) 70
3.3.3. Modo Supervisor (svc) 70
3.3.4. Modo Abort (abt) 70
3.3.5. Modo Undefined (und) 72
3.3.6. Modo IRQ (irq) 73
3.3.7. Modo FIQ (fiq) 74
3.3.8. Endereços e Prioridades das Exceções. 75
3.4. Organização e Alinhamento da Memória. 75
3.5. Instruções ARM... 76
3.5.1. Manipulação de Dados. 76
3.5.2. Lógicas e Aritméticas. 76
3.5.3. Teste e Desvio. 77
3.5.4. Controle da CPU.. 77
3.5.5. Co-Processador 77
3.5.6. LDR, STR, LDM e STM... 77
3.5.7. SWP. 82
3.5.8. ADD e ADC.. 83
3.5.9. SUB e SBC.. 84
3.5.10. RSB e RSC.. 84
3.5.11. AND, EOR, ORR e BIC.. 85
3.5.12. MOV e MVN.. 86
3.5.13. CMP, CMN, TST e TEQ.. 86
3.5.14. MUL e MLA.. 87
3.5.15. B, BL e BX.. 88
3.5.16. MRS e MSR.. 89
3.5.17. SWI 90
3.5.18. LDC, STC, CDP, MCR e MRC.. 90
3.5.19. Sufixos das Instruções ARM... 91
3.6. Instruções Thumb. 93
3.6.1. LDR e STR.. 95
3.6.2. LDMIA e STMIA.. 96
3.6.3. PUSH e POP. 96
3.6.4. MOV.. 97
3.6.5. MVN.. 98
3.6.6. ADD e ADC.. 98
3.6.7. SUB e SBC.. 99
3.6.8. NEG.. 99
3.6.9. MUL. 99
3.6.10. AND, ORR e EOR.. 99
3.6.11. BIC.. 100
3.6.12. ASR, LSL, LSR e ROR.. 100
3.6.13. B.. 100
3.6.14. Bxx. 101
3.6.15. BL. 101
3.6.16. BX.. 102
3.6.17. CMP. 102
3.6.18. CMN.. 102
3.6.19. TST.. 103
3.6.20. SWI 103
3.7. Temporização das Instruções. 103
3.8. Outras Tecnologias ARM... 104
3.8.1. Instruções ARM v5 e Posteriores. 104
3.8.1.1. Thumb-2. 108
3.8.2. MMU e MPU.. 108
3.8.3. Co-processador VFP. 109
4. Programação em C.. 110
4.1. Revisão da Linguagem C.. 110
4.1.1. Comandos e Palavras Reservadas. 110
4.1.2. Estrutura Básica de um Programa. 110
4.1.3. Tipos de Dados. 111
4.1.3.1. Declaração de Variáveis. 112
4.1.3.2. Outros Modificadores. 113
4.1.4. Operadores e Expressões em C.. 114
4.1.5. Tipos de Dados Complexos. 116
4.1.5.1. Enumerações. 116
4.1.5.2. Ponteiros. 117
4.1.5.3. Matrizes. 118
4.1.5.4. Estruturas. 120
4.1.5.5. Uniões. 121
4.1.5.6. Definições de Tipos. 122
4.1.6. Comandos da Linguagem C.. 122
4.1.6.1. If 122
4.1.6.2. Switch. 123
4.1.6.3. For 124
4.1.6.4. While. 124
4.1.6.5. Do. 125
4.1.7. Funções. 125
4.2. O Compilador IAR.. 127
4.2.1. Tipos e Organização dos Dados. 127
4.2.1.1. Uniões, Estruturas e Campos de Bit 128
4.2.2. Funções Intrínsecas. 130
4.2.3. Diretivas e Extensões da Linguagem.. 131
4.2.4. Bibliotecas C.. 134
4.2.5. Embutindo Código Assembly. 136
4.2.5.1. Convenções de Chamada e de Retorno de Funções. 137
4.3. O Compilador GCC.. 138
4.3.1. Pragmas. 139
4.3.2. Atributos Especiais. 139
4.3.3. Opções de Linha de Comando do GCC.. 140
4.4. Produzindo Código C Eficiente. 143
4.4.1. Tipos de Dados. 143
4.4.2. Alinhamento de Memória. 145
4.4.3. Manipulação de Bits. 146
4.4.4. Outros Aspectos Importantes. 147
5. ST STR71x. 148
5.1. Descrição Geral da Família STR71x. 149
5.1.1. Pinagem.. 152
5.1.2. Mapa de Memória. 155
5.2. Portas de E/S. 157
5.2.1. Modo de Alta Impedância / Entrada Analógica. 158
5.2.2. Modos de Entrada Digital 159
5.2.3. Modos de Saída Digital de Uso Geral 160
5.2.4. Modos de Saída de Periférico Digital 161
5.2.5. Exemplos. 161
5.3. Sistema de Suporte à CPU.. 163
5.3.1. Controle de Interrupções (EIC) 163
5.3.1.1. Canais e Vetores de Interrupção. 166
5.3.1.2. Latência das Interrupções. 167
5.3.1.3. Registradores do EIC.. 168
5.3.1.4. Exemplos de Configuração. 171
5.3.1.5. Módulo de Interrupções Externas (XTI) 173
5.3.1.6. Registradores do XTI 175
5.3.1.7. Exemplos de Utilização. 178
5.3.2. Reset 182
5.3.2.1. Controle de Reset dos Periféricos. 183
5.3.2.2. Registradores. 184
5.3.3. Clock. 187
5.3.3.1. Operação a Partir do Oscilador Externo. 188
5.3.3.2. Operação do PLL1 no modo Free Running. 189
5.3.3.3. Operação a Partir do Oscilador de Baixo Consumo. 190
5.3.3.4. Alterando a Fonte ou Velocidade dos Clocks. 190
5.3.3.5. Bloco PLL2. 191
5.3.3.6. Controle Individual do Clock dos Periféricos. 192
5.3.3.7. Saída de Clock CKOUT.. 193
5.3.3.8. Interrupções. 193
5.3.3.9. Registradores. 193
5.3.3.10. Exemplos de Configuração. 200
5.3.4. Gerenciamento de Energia. 205
5.3.4.1. Modo SLOW... 207
5.3.4.2. Modo WFI 207
5.3.4.3. Modo LPWFI 208
5.3.4.4. Modo STOP. 209
5.3.4.5. Modo STANDBY.. 210
5.3.5. Registradores do PRCCU.. 211
5.3.6. Exemplos de Uso. 219
5.4. RTC.. 222
5.4.1. Configuração do RTC.. 223
5.4.2. Interrupções do RTC.. 224
5.4.3. Registradores do RTC.. 224
5.4.4. Exemplo. 228
5.5. Timers. 229
5.5.1. Contador Principal 230
5.5.2. Canais A e B.. 231
5.5.2.1. Canais de Captura. 231
5.5.2.2. Canais de Comparação. 233
5.5.3. Modo OPM... 234
5.5.4. Modo PWM... 235
5.5.5. Interrupções dos Timers. 236
5.5.6. Conexões dos Timers. 237
5.5.7. Registradores dos Timers. 238
5.5.8. Exemplos. 241
5.6. UARTs. 246
5.6.1. Transmissão. 247
5.6.2. Recepção. 249
5.6.2.1. Timeouts. 251
5.6.3. Gerador de Baud Rate (BRG) 251
5.6.4. Modo de Endereçamento. 255
5.6.5. Interrupções. 255
5.6.6. Conexões das UARTs. 257
5.6.7. Registradores das UARTs. 258
5.6.8. Exemplos de Utilização. 262
5.7. Interfaces SPI 266
5.7.1. Interrupções das SPI 270
5.7.2. Conexões das SPI 271
5.7.3. Registradores das SPI 271
5.7.4. Exemplos de Utilização. 274
5.8. Interfaces I2C.. 275
5.8.1. Chamada Geral 278
5.8.2. Byte de partida. 278
5.8.3. Funcionamento. 279
5.8.3.1. Modo Mestre. 280
5.8.3.2. Modo Escravo. 284
5.8.4. Interrupções I2C.. 286
5.8.5. Conexões das Interfaces I2C.. 286
5.8.6. Registradores das Interfaces I2C.. 287
5.8.7. Exemplos de Utilização. 291
5.9. Conversor A/D de 12 Bits. 293
5.9.1. Aumentando a Velocidade do Conversor 295
5.9.2. Interrupções do ADC.. 295
5.9.3. Conexões do ADC.. 296
5.9.4. Registradores do ADC.. 296
5.9.5. Exemplos de Configuração. 298
5.10. Controlador de Memória FLASH (FPEC) 301
5.10.1. Programação da FLASH.. 302
5.10.1.1. Apagamento de um Setor 302
5.10.1.2. Programação de uma Word. 304
5.10.1.3. Programação de duas Words. 305
5.10.1.4. Suspendendo uma Operação. 306
5.10.2. Proteção da Memória FLASH.. 306
5.10.2.1. Proteção Contra Escrita. 306
5.10.2.2. Proteção Contra Leitura/Acesso. 308
5.10.3. Registradores do FPEC.. 309
5.11. Interface USB.. 314
5.11.1. Conceitos Básicos de USB.. 315
5.11.1.1. Nível Elétrico e Físico. 316
5.11.1.2. Estados de um Dispositivo. 318
5.11.1.3. Pipes e Endpoints. 319
5.11.1.4. Quadros e Microquadros USB.. 321
5.11.1.5. Pacotes USB.. 321
5.11.2. Anatomia das Transações USB.. 326
5.11.2.1. Transações de Controle. 327
5.11.2.2. Transações de Interrupção. 331
5.11.2.3. Transações Bulk. 332
5.11.2.4. Transações Isócronas. 334
5.11.3. Requisições USB.. 335
5.11.3.1. SET_ADDRESS. 335
5.11.3.2. GET_STATUS. 336
5.11.3.3. CLEAR_FEATURE. 337
5.11.3.4. SET_FEATURE. 337
5.11.3.5. GET_DESCRIPTOR.. 338
5.11.3.6. SET_DESCRIPTOR.. 339
5.11.3.7. GET_CONFIGURATION.. 339
5.11.3.8. SET_CONFIGURATION.. 339
5.11.3.9. GET_INTERFACE. 339
5.11.3.10. SET_INTERFACE. 340
5.11.4. Descritores. 340
5.11.4.1. Device Descriptor. 340
5.11.4.2. Device Qualifier Descriptor. 342
5.11.4.3. Configuration Descriptor. 343
5.11.4.4. Other Speed Configuration Descriptor. 344
5.11.4.5. Interface Descriptor. 345
5.11.4.6. Endpoint Descriptor. 346
5.11.4.7. String Descriptor. 347
5.11.5. Classes de Dispositivos. 348
5.11.6. Dispositivos HID.. 349
5.11.6.1. Requisições HID.. 350
5.11.6.2. Descritores de um Dispositivo HID.. 352
5.11.7. A Interface USB dos STR711. 356
5.11.7.1. Princípios de Operação. 356
5.11.7.2. Buffers de Dados. 356
5.11.7.3. Transações USB.. 356
5.11.7.4. Interrupções. 356
5.11.7.5. Registradores. 356
5.11.7.6. Exemplos de Utilização. 361
6. Exemplos de Projetos com ARM7. 362
6.1. Conversão de uma Aplicação de 8 para 32 Bits. 362
6.2. Interface com Módulo LCD Alfanumérico. 362
6.3. Mouse USB com um Acelerômetro. 362
7. Apêndice A – Funções da Biblioteca C.. 363
8. Apêndice B – Tabela ASCII 367
9. Índice Remissivo. 368
Referências Bibliográficas. 374
Marcas Registradas
Usuários navegando neste fórum: Google [Bot] e 1 visitante