Página 1 de 1
Falha no ICD2 do Labtools

Enviado:
18 Mai 2008 17:55
por Bardelli
Olá Pessoal.
Dificilmente eu tenho que usar o Debug do ICD2 da Labtools, mas tive que faze-lo na sexta-feira passada e fquei passado com o que aconteceu.
Eu coloquei um breakpoint onde o programa nao deveria passar de jeito nenhum, e por incrivel que pareça, toda vez que eu rodava o programa ele parava naquele maldito breakpoint.
Exemplo:
IF(10>15){
printf("oi");
}
Esse if é uma condição impossivel de ser satisfeita. Coloquei o breakpoint na linha do printf, e por incrivel que pareça o icd2 parava no breakpoint.
Alguem mais teve problemas com esse ICD2?. Existe algum update que conserte os bugs??
Mais uma coisa, existe algum ICD2 que seja confiavel?. Abraços

Enviado:
18 Mai 2008 18:19
por B-EAGLE
qual compilador vc tá usando?

Enviado:
18 Mai 2008 18:49
por Maurício
Vc escreveu IF com letra maiúscula, no programa?
[]'s

Enviado:
18 Mai 2008 19:07
por Bardelli
Estou usando o Mplab linkado com o PIC da CCS
o IF no caso foi escrito em minusculo no programa..
Obs: Quando o programa é gravado no pic diretamente, sem o debug, ele funciona corretamente....

Enviado:
18 Mai 2008 19:36
por RobL
Eu coloquei um breakpoint onde o programa nao deveria passar de jeito nenhum, e por incrivel que pareça, toda vez que eu rodava o programa ele parava naquele maldito breakpoint.
Supondo que o código esteja escrito corretamente:
O programa não passa por lá?!!! Ou passa mas a condição não é para ocorrer?
Tem certeza que os recursos para o debug (registros, portas, etc) não estão sendo utilizados por algum código esquecido, ou setagem inadequada?
Há algum meio de setar esse break point por número de ciclos?
Se houver, veja se há algo desse tipo setado por lá?
Tem certeza que o execução parou onde não tinha como passar?
Se houver um assembler que pudesse ver em detalhes onde porou ajudaria bastante.
Tente outra função similar, com outra instrução equivalente e veja se ele também pára.
Nada sei sobre a qualidade desse debugador/gravador.

Enviado:
18 Mai 2008 22:57
por Bardelli
Eu vou postar o código aqui na segunda-feira, pois ele esta la no meu trabalho. EU sou um usuario com bastante experiencia em programaçao de PIC, e o programa funciona do jeito que deveria sem ser debugado. Quando eu uso o debuger e seto o breakpoint dentro de uma clause if que ele nao deveria entrar, ele acaba entrando.....
abracos e obrigado pelas respostas..

Enviado:
19 Mai 2008 00:04
por phophollety
Qual a versão do seu MPLAB? O 8.10 está bem melhor com no aspecto de ICD2 em uso, tanto é que agora o freeze está disponível...

Enviado:
19 Mai 2008 09:08
por silverbolt
Bardelli escreveu:Eu vou postar o código aqui na segunda-feira, pois ele esta la no meu trabalho. EU sou um usuario com bastante experiencia em programaçao de PIC, e o programa funciona do jeito que deveria sem ser debugado. Quando eu uso o debuger e seto o breakpoint dentro de uma clause if que ele nao deveria entrar, ele acaba entrando.....
abracos e obrigado pelas respostas..
Rubens,
Uma dúvida me ocorreu.
Para gravar o pic, vc usa as linhas: RB6, RB7, MCRL, +5 e gnd certo.
Até blz.
Mas se não me engano na hora do Debug, tem uma linha a mais, o RB3.
No meu ICD2 clone, ele vem grafado como saida AUX.
Veja se não falta ligar essa linha do seu icd no target.
Depois vc me fala.
[]'s
Sergio

Enviado:
19 Mai 2008 11:24
por phophollety
Não, não precisa e só data, clock, vpp, vdd e vss.

Enviado:
20 Mai 2008 08:34
por andre_bcs
Cara... isso acontece as vezes comigo! Tem vez que ele passa direto pelo breakpoint, tem vez que ele cria uns breakpoints "fantasma"...
Quando ele criar breakpoint do nada, vai no Debugger -> Breakpoints...
Ele vai te mostrar onde está o breakpoint fantasma... aí vc dá "remove"... pronto!
Tente aí e veja no que dá...
Até +

Enviado:
20 Mai 2008 09:09
por phophollety
As vezes tenho esse problema, quando e nem mostra na janela de breakpoints, ai eu coloco o limite de brakepoits (1 para 16 e 18F e 4 para 24 , 30 e 33) e retiro todos..
Quando mesmo assim não funciona, eu tenho que ir para o programador, apagar tudo, voltar para o debugador e programar.... ai vai...

Enviado:
21 Mai 2008 13:38
por leoabubauru
Bardelli (e demais amigos)
Creio que não haja nenhum problema ou defeito. Mas uma questão de interpretação. A própria documentação do MPLab e do CCS dizem que é possível que aconteçam "derrapagens" (abra o menu DEBUGGER/SETTINGS vá na guia LIMITATIONS e clique no botão DETAILS. No help que abrir haverá um link para "Debugger Limitations"). Isso acontece pois o código gerado é que é usado pelo depurador para os breakepoints. Portanto, como algumas vezes o código é otimizado, estas derrapagens acontecem.
Experimente verificar o código gerado em assembly (Vá ao menu View/Disassembly Listing) e acompanhe ali o depurador até o breakepoint. Acho que ficará surpreso!
É isso...
Laercio

Enviado:
21 Mai 2008 23:43
por phophollety
Nunca tive esse tipo de problema com o C30, mesmo usando as otimizações.. só o problema de breakpoints que não saiam mas sempre com uma reprogramada ou uma apagada em modo programador e em seguida, pau na máquina...