new project

Hello I am an experienced programmer and I need to develop some software on an Arduino UNO.
The project has 2 parts:
a realtime part which is already written and tested
a non real time part which is to be tested.
the application uses one serial port and we use LINUX for software development.

I need a real debugger (see variables, breakpoints) and not a print function and I cannot use the serial port for debugging since the serial port is used by the application.

I understand this means I need a "hardware kit’ in between my arduino board and my PC . Can you confirm my understanding? Is the ATMEL ICE the right equipment or is there anything newer for a reasonable price?

I also need an IDE. I do not need fancy features for the IDE. Just the possibility to have several modules and load them when needed. I also need to have different folders for tests and software and also for different versions of the software. Is the Arduino IDE OK or should I use Eclipse or another IDE runinng under LINUX?

I thank you in advance for your advices.

I need to develop some software on an Arduino UNO.

Which Arduino? This matters a lot because not all solutions are applicable to all Arduinos.

Atmel ICE is a good choice. Then get gdb ... here are 2 links to get you started:

http://winavr.sourceforge.net/AVR-GDB_and_AVaRICE_Guide.pdf
You might want to look at ddd or nemiver, if you like it more gui-style.

“I need a real debugger (see variables, breakpoints) and not a print function and I cannot use the serial port for debugging since the serial port is used by the application.”

Interesting.

You can flash a LED, use i2c, SPI or a second serial port.

A mega has several ports.

Most here debug small sections of code as they are written then proceed to the next . . .

Sounds like a bit of an enthusiast with an XY problem! :astonished:

I am an experienced programmer and I need to develop some software on an Arduino UNO.

If you are an experienced programmer I wonder why you need to set break points and the other stuff on such a simple platform as an Arduino? Most inexperienced folks don’t need them.

Grumpy_Mike:
If you are an experienced programmer I wonder why you need to set break points and the other stuff on such a simple platform as an Arduino? Most inexperienced folks don’t need them.

I suspect it's a status thing. "real programmers use break-points" :slight_smile:

...R

Hello
Nothing to do with a status thing. More with comfort and productivity!....

May be it is doing without a debugger that is a status thing !....
Thanks for your replies anyhow!...

piscvau:
a non real time part which is to be tested.

In the AVR world, Is there such thing as “non real time” code?
Everything is loaded on the MCU and then it runs.

Is this second part just a new subroutine, function, library, branch or what?

Grumpy_Mike:
Which Arduino? This matters a lot because not all solutions are applicable to all Arduinos.

Still not answered that.

Slumpert:
Is this second part just a new subroutine, function, library, branch or what?

It is state machine for a communication protocol , a buffer manager and functions to send messages and receive messages on the serial line.

Grumpy_Mike:
Still not answered that.

Allergic to giving out information, maybe you simply don’t want an answer?

I think we knew that from the first post. Creative head-banging it seems. :grinning: