Página 1 de 1

ZDS2... Ops! "Eu" apronto cada uma....

MensagemEnviado: 12 Out 2006 22:45
por KrafT
Olha só que aconteceu do nada:

Imagem

Simplesmente o debug ficou louco.... Já recriei o projeto e nada...

Isso na 4.10. Ainda nao ví se numa anterior funciona, é muito empenho. E o O soft roda normal. Debugar que é bom, nécas.

MensagemEnviado: 12 Out 2006 22:57
por Rodrigo_P_A
Isto acontece quando vc edita o código, o ZDS não reorganiza os breakpoints, faça o seguinte:

Clique com o botão direito do mouse sobre o código, vá em Edit Breakponits, e depois clique em Remove All

pronto, pode começar a reutilizar normalmente

MensagemEnviado: 13 Out 2006 08:12
por KrafT
Já fiz tudo isso...

Inclusive criei um novo projeto, em outra pasta e colei os fontes em novos arquivos .c e .h e nada.

O eletroinf me falou que o ZDS2 tem dessas e as vezes é só rearranjar o layout do texto no fonte que resolve.

Sei lá, eu acho que é confusão em algum .h ou .c externo. Vou transformar o prog num .c só e ver no que dá.

MensagemEnviado: 13 Out 2006 08:14
por Rodrigo_P_A
ops, ainda bem que comigo num aconteceu hehe.

MensagemEnviado: 13 Out 2006 10:03
por Nightcrawler
É Kraft, o ZDSII, tem dessas. Tb já passei por isso. Tive que desabilitar todos os breakpoint's e reiniciar o ZDS. Outro problema é com o "near" e matrizes. Se vc for usar um "sprintf" sai cada coisa sem fundamento.....

MensagemEnviado: 13 Out 2006 10:05
por Rodrigo_P_A
Eu nunca tive problemas com geração de código usando o ZDS-II
quando for trabalhar com matrizes longas, tem que habilitar o modo large na opção do projeto, senão o código gerado sai errado.

MensagemEnviado: 14 Out 2006 16:53
por KrafT
Convertí tudo para a versao 4.9 e dá a mesma mer....


Agora vou emendar tudo num arquivo .c par evr no que dá...



A luta continua...
- Desinstalei todos as versoes do ZDS2 que eu tinha...
- Reinstalei a versao 4.10...
- Recriei o projeto em outra pasta...

Nada acontece...

- Coloquei numa outra placa (Kit do 6403) e nada...

Gravei o C:\Arquivos de programas\ZiLOG\ZDSII_Z8Encore!_4.10.0\applications\Z8Encore!_F640\Z8Encore!_F640x_DriversDemo\src

No kit 6403 e funciona...

Compilei esse simples programa:

Código: Selecionar todos
void SeMataEgidio(void){
   asm("nop");
   asm("nop");
   asm("nop");
   asm("nop");
   asm("nop");
}




void main(void)
{
   unsigned char nada;
   char tudo;
   for(;;){
   asm("nop");
    SeMataEgidio();
   nada++;
   tudo--;
   }
}


E debugou certo nas duas placas.

Conclusao: Preciso rever todo o meu código, que o problma tá nele... Tou morto...












MensagemEnviado: 15 Out 2006 18:36
por Rodrigo_P_A
o estranho tbm é o seguinte, ele está mostrando os pontinhos azuis até onde tem comentário de código.

Kraft, o seu programa não está retornando nenhuma mensagem de erro ao compilar?

MensagemEnviado: 15 Out 2006 19:38
por Nightcrawler
Aconteçeu comigo, algo pareçido, só q foi com o IAR. Eu criei um backup da pasta onde eu tava testando o código. Quando fui escrever o código no arquivo novo ele compilou certo, mas na hora de debuggar ele debugava no arquivo de backup. Muito estranho..... Talvez esteja acontecendo algo assim com vc.

MensagemEnviado: 19 Out 2006 21:57
por KrafT
Bom, eu falei pessoalmente com o Jair da MicroTarget e o Fernando da Nishicon na palestra que eles deram em Floripa, sem muito sucesso.

Mas eles não poderiam me ajudar, afinal a cag@%$*$# foi minha. Acostumado com KEIL, IAR, CW, CCS eu não me liguei na manias do ZDS2. Talvez seja apenas ANSI, mas olhei bem um exemplo da própria Zilog e fiz as seguintes constatações:


1-Todos os arquivos de definição (.h) precisam ser incluídos com #include em cada arquivo .c aonde são utilizados. A inclusão num arquivo superior na árvore, não inclui as definições nos arquivos de nível inferior (da árvore).

2-Os arquivos .h de protótipos de função, tem que ser incluídos com #include nos arquivos .c nos quais forem utilizados, apenas no arquivo superior da árvore, pois os protótipos serão visíveis nos arquivos abaixo dele. Mas se a rotina estiver fora da arvore de chamada, o protótipo da função precisa ser novamente incluído, para que o compilador saiba da existência dela.

3-Os arquivos .h de protótipos de função, normalmente não incluem outros arquivos, exceto outro(s) arquivo(s) de definição(es) .h.

4-Os arquivos .c tem que ser inseridos manualmente na arvore de diretórios do ZDS2. Inserir com #include traz resultados imprevisíveis como os citados no inicio do tópico.


Arrumei o código conforme essas diretrizes e funcionou. Fica aí a dica para quem mais se aventurar no ZDS2.

MensagemEnviado: 20 Out 2006 10:55
por eletroinf
Bueno, eu gastei os miólos pensando o que poderia ser o teu problema, mas cada loco com suas manias! Eu costumo criar apenas um arquivo .h pra cada projeto e coloco tudo aí, pra não ficar aquela bagunça toda com um .h pra cada .c. Aí eu incluo este .h em cada .c. Ainda, neste .h estão incluídos os arquivos cabeçalho como o ez8.h. Parece que até agora funcionou.

Ricardo Morim