Hi there,
this is my first post on this forum. I've registred because a friend of mine (Florian Rassl) has developed a little debugging shell for the Atmega Series from Atmel, of which i thought it is rather neat. So i wanted to share the code with you. It's primalary designed for the Atmega328u, which you can find on the Arduino Micro development board, but you should can adapt the code for most of the Atmel chips. He has coded that because he wanted to do something with that, if i remember right, for that RC remotes for remote controlled cars, planes, quadcopters and stuff, and things (as always) didn't work on the first go.
What it provides:
So you code around the "framework", connect a cable from your PC's serial port to the UART, interrupt the running code with a '#+c' key combo (he didn't get the ctrl+c combo working) in your favourite serial terminal application, and you find yourself in a little shellish environment (with tab autocompletion, isn't it nice?!), where you can read out individual pins, put pins high/low, put some (hard) PWM to the pins and read out the ADC. By coding the "framework" he had also expandability in mind, so you can also code your own functions whichever you think that they are useful to you into the shell, and execute them from the debugging console.
If you type in a command with the '-h' argument, you get a small help, which shows which arguments each command expects.
What it doesn't provide:
The shell commands are at the moment fixed to a maximum length of (i think) 80 characters to keep the memory footprint small. (You should can change this behavior, but keep in mind you are running on a uC, not on a PC with almost an infinity ammount of RAM)
The code is not so well commented, all comments are in german language and it lacks of a documentation (Yeah, programmers are lazy people). If you have special questions, i think, i can redirect them to him and (hopefully) answer them back here.
Probably it has some bugs
Licence:
It is distributed under the very restrictive "do whatever you want, don't blame us" licence. If you put the code somewhere and it goes on fire, its your fault, not ours. Just don't do something stupid (unless you know, what you are doing).
If you code some extensions or make cool modifications, please share them with us (of course you don't have to, but it would be nice)