OK Ok...vou contar um segredo sobre interface JTAG !

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

OK Ok...vou contar um segredo sobre interface JTAG !

Mensagempor proex » 06 Set 2013 14:57

Alguns de vcs já deve ter sofrido com isso. Escrevendo seu programa e debugando com a JTAG, refazendo os erros, debugando novamente...... etc.

Tudo lindo até que, definitivamente vc deixa seu programa rolar sem a JATG conectada, ai o programa fica doido.

Eu mesmo ja bostei esse problema aqui e ninguem soube dizer a resposta correta. E é muito comum isso acontecer tambem com PIC e o ICD2.

Nos foruns da NET no mundo todo sempre se acha questionamentos sobre esse comportamento estranho. É a famosa exclamação: Meu programa só funciona com a JTAG no modo debuger ou, meu PIC só funciona com o ICD2 conectado no modo debuger.

Por que isso acontece?

Isso esta diretamente relacionado com as temporizações internas dos processos do seu programa definidos quando vc estava testando o programa no modo debuger.

Exemplo: visualizando o funcionamento do seu programa atraves da Jtga no modo debuger, vc chegou a conclusão que aquele Delay, naquele ponto, deve ser de 15uS pra rotina ficar bem rapida e experta.

Acontece que, quando vc conecta o Jtag, os processos internos do modo Debuger diminuem a velocidade de execução do seu programa. Li que, dependendo da quantidade de variaveis que vc colocou na janela Watch, essa queda de velocidade da CPU pode chegar até 20%. Se vc tenta visualizar os dados de um Buffer grande na janela Memory, pior ainda. Essa queda de velocidade pode chegar facilmente a 30%.

Já senti isso na pratica tentando visualizar os TX_Buffer e RX_Buffer de 8K cada.

Então, aquele Delay critico que vc definiu como 15uS quando estava no modo debuger, na realidade ele será de 20 a 30% menor quando vc rodar o programa sem o debuger. E vai ser nessa hora que seu programa fará coisas esquisitas como escrever caracteres estranhos no display, não ler o SDcard corretamente, executar rotinas de modo estranho etc.

Bem, é isso.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Re: OK Ok...vou contar um segredo sobre interface JTAG !

Mensagempor Red Neck Guy » 06 Set 2013 15:08

Bem isso tudo aí que tu falou faz o maior sentido, tanto é, que as boas práticas de programação pregam que seja definido o simbolo
#DEBUG e essas definições críticas sejam ajustas para os dois casos. Alias, ignorem isso e façam do seu jeito.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: OK Ok...vou contar um segredo sobre interface JTAG !

Mensagempor B-EAGLE » 07 Set 2013 23:52

olha, quando eu usava mais pic teve uma vez que me aconteceu isso, mas era outra cagada minha que nao lembro exatamente..

nunca tive problema, independente do tamanho do buffer que botar no 'watch', se estiver em modo Run a parada roda do mesmo jeito que sem o debugador...

Isso nos cortex-m, pic e 8051 da silabs que mexi, sempre rodando normal, agora nos HC08 por exemplo, lembro que eu dava o Run do debug ficava mais lento mesmo...

eu tava usando ate um tempo atras o Keil (mdk). agora passei tudo pro gcc (https://launchpad.net/gcc-arm-embedded). quando preciso debugar alguma coisa abro o projeto no eclipse e ponho pra rodar pelo gdb, tudo no linux.

edit: to usando o j-link v8 EDU original pra desenvolver, SWD sem SWO
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Re: OK Ok...vou contar um segredo sobre interface JTAG !

Mensagempor andre_luis » 08 Set 2013 10:47

Posso estar enganado, mas até onde sei, mesmo nos PIC mais recentes, não era implementado propriamente um JTAG no seu conceito original ( boundary scan ), mas algo que possuía as mesmas características de comunicação, o que nos faz supor que na prática, parte do processamento do core poderia ser realmente dedicado á esse recurso.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: OK Ok...vou contar um segredo sobre interface JTAG !

Mensagempor tcpipchip » 08 Set 2013 11:27

nos finais dos anos 80 eu utilizava o NOICE para debug o z80,8098,8051,mps470 e o 68hc11
depois de cada instrucao tinha um call para debug...ficava gigante...mas debugava :)_
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!


Voltar para ARM

Quem está online

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

cron

x