por KrafT » 19 Out 2006 21:57
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.