This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

General embedded development kits using gcc/gdb.


Dear GCC Cross Compiler List,

My name is Andrew Tuckey and I'm currently an Australian postdoctoral research
scientist at the Eindhoven University of Technology, Eindhoven, the
Netherlands.  My stay here stops in 7 weeks when I migrate the the USA to take
up a position at the University of Wisconsin - Madison.  My primary research
topic is dynamic control of electric machines and the testing of such
controlled machines.

For my current project I'm using a TMS320C40 DSPs to dynamically control the
torque of an induction type machine using a technique called Field Oriented
Control (FOC).  As an outer loop speed control I'm using another 'C40 with
speed and torque set-points output by LabVIEW via a LabMaster A/D card.  In
pursuing this project I have become aware of a couple of limitations of our
system, and the development of microprocessor control systems in general.
Therefore I would like to look for a different type of solution for future
projects.

I would like to make some single board embedded development kits with some
simple tools.  Firstly I would like to use a board that has a more general
(i.e. non DSP) type processor, something like a MIPS, ARM, PowerPC, or
Pentium, or anything else that is deemed suitable.  The programme for a board
will be programmed using gcc on any type of host computer with target output
for the embedded system processor, and I would like to have the facility to
use gdb as the debugger.  Such a system has many advantages.

Firstly such a system would only cost hardware since the software tools are
free, and thus it would be reachable by students and enthusiasts, not just
full-fee paying companies.  

Secondly gcc and gdb are familiar to computer science students so they
wouldn't have to learn another compiler/debugger (like Code Composer for
the 'C40s for instance).

Thirdly, one wouldn't be restricted to a particular hardware for development or
for the target processor (again like Code Composer and the 'C40s) - one could
use whatever one desired that had enough processing power.

I realise that I will need to do some ROM programming for the
downloading/debugger interface, but I'm willing to put in a little time if the
hardware will support it, and channel the lessons learned in the experience
back into the open source community.

As an extension I would further like to look at using RTLinux on the systems
in more general contexts.  Ultimately I would like to use some high-speed
communication for the downloading/debugging since using a serial port can get
very painful.  If I used Ethernet and TCP/IP the embedded system could be
remote from the development environment.

Further, I would like to have some digital and analogue I/O on the board.
Having these on-board avoids the delays incurred in getting the data from the
A/D converters etc. - something I have had some experience with using 'C40 for
electric machine control.  I would like to experiment with mapping the outputs
of the analogue and digital I/O onto particular memory locations so that I
can avoid ISA and PCI bus interface complexity and delays.

For these boards customers could just buy the chips they want and leave out
the bits they don't so the price for a development kit would be kept quite
low.


Now the question that I would ask this list is `is what I'm proposing
feasible?'  I'm sure it's fine for the larger processors, like a Pentium or
MIPS, but what about the gdb interface for a memory limited ARM board?

Do any of you see any obvious problems with the concept?  Any recommendations?

Although I have used gcc and gdb in my computer science degree subjects and
for some software development, I'm not quite sure where to start with the gdb
interfacing.  I would like to know what type of communication is used between
the processor, the running programme and gdb.  Could someone point me in the
right direction to get such information.

And finally, when I build up these boards, how many would be interested in
buying one?



-- 
Andrew Tuckey, Visiting Lecturer
Electrical and Computer Engineering Department
University of Wisconsin - Madison
1415 Engineering Drive
Madison, WI  53706-1691

Email: tuckey@ieee.org

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]