Página 1 de 1

Duvidas com o CodeWarrior e o HCSGT16

MensagemEnviado: 03 Mai 2007 20:32
por Nightcrawler
Olá pessoal,

Estou trabalhando a algum tempo com os micros da Freescale e até então não tive problemas. Hoje, estava finalizando a migraçaõ de um software para o GT16, quando o mcu começou a travar e na janela de comandos do debugador apareçe a seguinte frase: "Trigger A occurred". Mexi um pouco no programa, mas o problema persistiu. Resolvi criar um novo projeto. E o erro sumiu, mas apareçeu outro. Dessa vez com a função sprintf. Em um determinado lugar do programa, qdo uso ela, algumas variveis mudam de valor, o que não deveria aconteçer. Achei q fosse erro no meu programa. Mexi em tudo, mas não teve jeito. Criei um novo projeto, mas volto o problemas inicial, de travar o mcu.
Alguém pode me dar uma ajuda??

MensagemEnviado: 03 Mai 2007 21:47
por CCandido
sintoma aparenta ser estouro/ falta de RAM.
outra (sprintf) gasta muita memoria, tem umas funçoes que só em ultimo
caso mesmo pra usar. no pc. usa-se a vontade mas, em MCUs.....
outra coisa é vc criar uma funçao para chamar (sprintf)
vamos supor que vc chame muitas vezes(repete ela em varios ponto do program) adeus flash.
outra coisa seria reservar +ram pra pilha.
debug, e veja se estoura ou invede outra vars.
boa sorte.

MensagemEnviado: 03 Mai 2007 23:14
por Nightcrawler
CCandido, muito agradeçido pela ajuda. Realmente era estouro da pilha. Aumentei o tamanho dela de 80 bytes, para 150 bytes e o problema cessou.
Para implementar a biblioteca "stdio", o Codewarrior usa uns 3K de memória Flash. Como o mcu tem memória de sobra, não tem problema. O mcu tem 1K de RAM, e eu uso muito pouco no programa.