Falha no ICD2 do Labtools

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Falha no ICD2 do Labtools

Mensagempor Bardelli » 18 Mai 2008 17:55

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
Bardelli
Byte
 
Mensagens: 126
Registrado em: 20 Out 2006 12:42

Mensagempor B-EAGLE » 18 Mai 2008 18:19

qual compilador vc tá usando?
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor Maurício » 18 Mai 2008 18:49

Vc escreveu IF com letra maiúscula, no programa?

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor Bardelli » 18 Mai 2008 19:07

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....
Bardelli
Byte
 
Mensagens: 126
Registrado em: 20 Out 2006 12:42

Mensagempor RobL » 18 Mai 2008 19:36

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.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor Bardelli » 18 Mai 2008 22:57

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..
Bardelli
Byte
 
Mensagens: 126
Registrado em: 20 Out 2006 12:42

Mensagempor phophollety » 19 Mai 2008 00:04

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...
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.
Avatar do usuário
phophollety
Dword
 
Mensagens: 1511
Registrado em: 15 Out 2006 13:00
Localização: Santo André São Paulo, Brasil

Mensagempor silverbolt » 19 Mai 2008 09:08

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
Symphony Robotica
gravador usb, icd2 PIC, AVR e ARM.
Distribuidor BASCOM no Brasil.
www.roboticafacil.com.br
Locação de robos para eventos
www.symphony.com.br
Avatar do usuário
silverbolt
Byte
 
Mensagens: 468
Registrado em: 03 Nov 2006 10:17
Localização: Vulcano - SP

Mensagempor phophollety » 19 Mai 2008 11:24

Não, não precisa e só data, clock, vpp, vdd e vss.
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.
Avatar do usuário
phophollety
Dword
 
Mensagens: 1511
Registrado em: 15 Out 2006 13:00
Localização: Santo André São Paulo, Brasil

Mensagempor andre_bcs » 20 Mai 2008 08:34

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é +
andre_bcs
Nibble
 
Mensagens: 59
Registrado em: 09 Fev 2007 12:33

Mensagempor phophollety » 20 Mai 2008 09:09

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...
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.
Avatar do usuário
phophollety
Dword
 
Mensagens: 1511
Registrado em: 15 Out 2006 13:00
Localização: Santo André São Paulo, Brasil

Mensagempor leoabubauru » 21 Mai 2008 13:38

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
Tento, tento e tento...
Me arrebento!
Também bato!
Ô negocim bunitim essa tal eletrônica de barco!
leoabubauru
Byte
 
Mensagens: 227
Registrado em: 21 Nov 2006 19:08
Localização: São Paulo

Mensagempor phophollety » 21 Mai 2008 23:43

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...
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.
Avatar do usuário
phophollety
Dword
 
Mensagens: 1511
Registrado em: 15 Out 2006 13:00
Localização: Santo André São Paulo, Brasil


Voltar para PIC

Quem está online

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

cron

x