sexta-feira, 29 de abril de 2011

Criando um Workspace e debugando seu programa

No ultimo post ensinamos como criar uma biblioteca para executar código morse através do led, nesse mostraremos como utilizar o workbench para criar uma área de trabalho e dubugar o programa.
As bibliotecas “CodigoMorse.c” e ”CodigoMorse.h” já se encontram para download.
Crie uma pasta para colocar os arquivos em qualquer local de “Usuários”, pois se for criado em (C:\ArquivosdeProgramas) o Workbech terá que ser sempre executado como administrador, para Windows Vista e 7.
Inclua nesta a pasta das bibliotecas “inc” encontrada em (C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0 Kickstart\430), e crie outra pasta com o nome “projetos”.
Ponha as duas bibliotecas já prontas na pasta “inc”.
Agora abra o Workbench e vá em (File → New → File).
Escreva o seu codigo "main", que também pode ser encontrado para download:

#include "msp430.h"
#include "CodigoMorse.h"

int main(void)
{
      unsigned char i;
      WDTCTL = WDTPW + WDTHOLD;    // Interrompe o watchdog
      P1DIR |= 0x01;                            // Seta P1 como saida
      for (;;)                                         // Inicia loop infinito
      {
           CodigoMorse('S');
           CodigoMorse('O');
           CodigoMorse('S');
           P1OUT = 0x00;     //Termina a mensagem e aguarda antes de reiniciar
          for(i=0;i<10;i++)
         {
              TempoEntreLetras();
         }
      }
}

Salve esse arquivo na pasta “inc” com o nome “MainMorce.c”.
Após todos os processos concluídos, a árvore de includes fica assim:
As bibliotecas principais do MSP430 são básicas para o programa principal e para as todas nossas bibliotecas que iremos criar, portanto não podemos esquecer de incluí-las.
Agora você tem tudo que precisa para criar um worspace e fazer o download do programa para o microcontrolador.

Vamos começar criando e configurando a área de trabalho:
Vá em (File → New → workspace), e depois em (Project → Create New Project).
Na janela que abrir selecione “Empty Project” e pressione “Ok”.
Uma nova janela irá se abrir, salve com o nome “CodigoMorse.ewp” na pasta “projetos”.
Vá em (Project → Options → General Options → Device), selecione (MSP430x2xx Family → MSP430F2013)
Por ultimo em (Project → Options → Debugger → Driver), certifique-se de que esteja selecionado “FET Debugger” e não “Simulator”

Agora o workspace esta pronto para receber os arquivos:
Clique com o botão direito do mouse na janela da esquerda com o nome “Workspace” e depois em (Add → Add Files).
Adicione os 2 “.c” previamente criados (CodigoMorse.c e MainMorse.c).
Vá em (File → Save Workspace), e salve sua área de trabalho com o nome “CodigoMorse.eww”, não esquecendo que deve ser salvo na pasta “projetos”.

Antes de executar o download você devera ter certeza de que os arquivos não apresentam erros:
Vá em (Project → Rebuild All). Deverá aparecer a seguinte janela :


Como o Workspace não possui erros, o projeto poderá ser copilado no microprocessador.
Note também que toda a árvore de includes foi incluída automaticamente.


Vá em (Project → Download and Debug).
Caso o computador não consiga se comunicar com o microprocessador, provavelmente é erro de reconhecimento da placa, veja o post sobre instalação.
Caso a comunicação não apresente falhas o projeto será baixado e o Workspace irá mudar.
Agora você ira aprender a utilizar os botões que controlam o microprocessador, e que podem ajudá-lo a inclusive “debugar” o programa.
Da esquerda para a direita:

  1. Reset: reinicia o projeto que esta sendo executado.
  2. Break: para a execução do projeto, estará incessível a menos que o projeto esteja sendo executado.
  3. Step Over: executa a atual linha do código, e vai para a próxima.
  4. Step Into: executa o próximo passo do código. Por exemplo, em um for(i=0;i<5;i++): caso i=3 o próximo passo é incrementar i, mas sem sair do for.
  5. Step Out: termina os passos da atual linha. No caso anterior o for iria ser concluído diretamente.
  6. Next Statement: vai para a próxima linha de comando do programa principal.
  7. Run to Cursor: executa o programa até a linha indicada pelo cursor. A linha indicada não será executada.
  8. Go: começa a executar o projeto.
  9. Stop Debugging: interrompe o debugging e volta pra a área de trabalho anterior.
Mas, os botões só funcionaram assim caso existam funções, se o código não apresentar funções, então o botão 6 funcionará igual ao 4.
Também é de grande utilidade utilizar a janela “watch”, vá em (View → Watch).
Agora você pode selecionar qualquer variável do código e arrastá-la para essa janela para que possa acompanhar seus valores mudando e assim compreender melhor o que esta acontecendo.
Agora que você já sabe como utilizar os botões poderá ver o SOS passo a passo, ou de uma vez, divirta-se!
Finalmente, após 2 semanas você finalmente viu o tão esperado SOS, mas agora com todas informações que já tem e com a biblioteca completa, você pode escrever o que quiser, pode modificar as rotinas de tempo, criar funções para executar frases, etc.

Bom acho que por enquanto é isso, mande suas duvidas para agente através dos comentários, tentaremos ao máximo solucioná-las, caso precisem de ajuda para o workbench, procurem em seu datasheet.

Valeu, e até semana que vem quando começaremos a falar sobre o hardware!


Um comentário:

  1. Eduardo,parabéns pelos artigos, sei que faz tempo que vc postou,mas é que estou começando agora e estou com este kit da Texas, segui o seu Step-by-Pass,mas está dando erro na hora que vou no Rebuild All, vc poderia me ajudar por favor? O erro é o seguinte:

    Building configuration: CodigoMorse - Debug
    Updating build tree...

    4 file(s) deleted.
    Updating build tree...
    CodigoMorse.c
    Error[Pe121]: a case label may only be used within a switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 78
    Error[Pe121]: a case label may only be used within a switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 79
    Error[Pe116]: a break statement may only be used within a loop or switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 81
    Error[Pe121]: a case label may only be used within a switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 83
    Error[Pe121]: a case label may only be used within a switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 84
    Error[Pe116]: a break statement may only be used within a loop or switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 86
    Error while running C/C++ compiler
    MainMorce.c

    Total number of errors: 6
    Total number of warnings: 0

    ResponderExcluir