Electronic – How to debug/get output from a microcontroller using cc-debugger

debuggingmicrocontrollerserialuart

I am working with TI's CC2540 SoC using CC2540dk-mini. My software stack is:

  • Ubuntu 12.04
  • sdcc Compiler
  • cc-tool to flash programs onto board using cc-debugger

I can compile, build and flash firmwares perfectly (until now) using these tools. But I do not know how to debug (toggle breakpoints, see sfr values, etc.) or even to "print" from CC2540.

Chapter 3 from CC2540 user guide talks about the debug interface, and reading it I notice that flash programming is done using this interface. So… aparently to debug the firmware I would have to extend cc-tool. It sounds right?

About printing: reading the sdcc user guide (section 3.17.2.1) I realize that I have to provide putchar() function, which makes sense. But what low level protocol should I use? USART? Or something else? (debug interface?) How the CC2540 can talk with cc-debugger? How cc-debugger can talk with Ubuntu?

This all seems a little vague, but it is because I have no experience in this "field" (I always used Arduino and I never had to go in this "low level" before).

Best Answer

I assume you are using code composer and you should(Keil uvision is a other good option). When you must select in the Flash button's arrow the "debug" option(little insect icon).

enter image description here

Than when you are going to Flash your MCU a interface will open showing the register and where you can track variable values.

Regards, MathieuL.