[En-Nut-Discussion] My opinion and some suggestions
Klaus Ummenhofer
info at umec-edv.de
Sat May 21 19:36:58 CEST 2005
Hi all,
I started to work with the Ethernut board in 2002. Perhaps Harald can
remember.
For my final project I ported parts of the project to ICCAVR and wrote
drivers
for the Ethernet chip AX88796 which I included into my design. The major
reason to do the
port was the lack of ELF debug support with AVRStudio. This was all
based on
Version 2.21 I think. Up till now I did several projects with my port
most of them
not network related and it has proved that it is rock stable. Even if I
don't use
the networking functions and I have often only two or three threads
running it think that
the great i/o system based on streams and files it _very_ useful.
Now I heard that GCC and AVRStudio can work together. I tried this with
some simple
projects and decided to do the step to port my whole code to GCC again.
After checking
Nut and my files I pressed all through the compiler and all worked fine
;-) But I tried
it only with the simulator. Next week will show how stable my mix is in
reality. But
the simulation part works great.
As I reviewed both codes I remembered that I did some changes in the
driver model which
could be useful for all. I wrote several drivers for external hardware
circuits like FT245, SC26C92 etc. I don't like to hardcode the ports for
interrupts
and reset lines. So the driver is much more flexible. I need this
because the external
devices are on many different hardware configurations. But with this
flexibility comes
one drawback. Since the ports aren't known during initialisation I have
to do some
preinitialisation to tell the driver the necessary information. In order
to do this I
changed the definition of the init function in NUTDEVICE from
int (*dev_init) (NUTDEVICE *) to int (*dev_init) (NUTDEVICE *, void
*conf)
I think this makes sense, what's your opinion?
Is the Ethernut board the only available hardware working with the
NutOS? I thought about
developing a _mainboard_ with the controller with a flexible bus system
and
several add on boards for
- USB support
- Ethernet support
- I/O with relays and optical separated inputs
- A/D converters, D/A converters
- Keyboard and display
- Additional UARTS
- etc.
All should be separate modules which can be plugged together. Some of
them will need
a full Address- / Databus (USB, Ethernet, UART) others could be
connected via I2C.
Does something like this already exist? Would this be useful?
It's nice to see how much life is in this project. Now I will now go on
and browse
more code. If welcome I will make some more suggestions the next days in
different
threads.
Best Regards
Klaus Ummenhofer
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.322 / Virus Database: 266.11.14 - Release Date: 20.05.2005
More information about the En-Nut-Discussion
mailing list