FabioDB wrote:
> Hi Sten,
>
> I have seen your nanoRTOS
> (http://www.net-attack.de/products/nanortos/2.0/) and I have a question
> about debugging: how have you debugged this OS (or other things) with
> GNU tools (gcc & gdb)?
> Are you able to use a JTAG interface with gdb, use a commercial tool or
> via printf messages?
>
Hi,
debugging under Linux is a little bit tricky. With a friend of mine
(www.section5.ch) we are working on a low-cost version of a JTAG
debugger working with gdb to provide a better open-source solution for
debugging. But you can also use non-low-cost commercial tools like
BDI2000 (about 2500Euro) from Abatron to debug ARM architectures with
gdb. But all these tools only provide source-code debugging not a real
OS-based debugging.
At the moment I'm mostly debugging with a UART and some LEDs. You can
compile nanoRTOS with a debug-monitor which provides a panic console on
a UART similar to a kernel panic under Linux. It dumps registers, top of
stack of latest running task, information about current state of the
kernel, a list of tasks of each task queue and a list of all memory
frames from dynamic memory managment. This panic is issued for example
if a very nasty interrupt (illegal instruction, data or prefetch abort)
occurs or if the system enters a absolutely non-recoverable state (e.g.
dynamic memory managment has been corrupted by a task, internal kernel
structures has been destroyed/overwritten, ...). This "dump"-functions
can be used for "manually" triggered dumps for debugging the system, too.
In addition you have the possibility to compile nanoRTOS with various
additional development features like stack-watch (to observe stack usage
of tasks for profiling or identifcation for dynamic memory corruptions)
or paranoid checking of pointers or internals. Features you may not need
in a software release.
In contrast to other RTOSs out there nanoRTOS has not been designed
under focus of theoretical computer science. It has been grown up from
several of my (real) projects in the last two years under focus of
performance, efficency and relaibility. I'm only an engineer for
micro-electronic with a great fetish for software.
Comments or new ideas would be appreciated!
Regards,
Sten
PS: Next time I will release a new version with some new features and
modules!
--
/************************************************
Do you need a tiny and efficient real time
operating system (RTOS) with a preemtive
multitasking for LPC2000 or AT91SAM7?
http://nanortos.net-attack.de/
Or some open-source tools and code for LPC2000?
http://www.net-attack.de/
************************************************/