This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Ethernet over SPI driver for ENC424J600
- From: Ilija Stanislevik <ilijas at siva dot com dot mk>
- To: eCos developers <ecos-devel at ecos dot sourceware dot org>
- Date: Tue, 10 Nov 2009 12:28:25 +0100
- Subject: Ethernet over SPI driver for ENC424J600
- References: <4ACB4B58.2040804@ecoscentric.com> <4ACC61F0.3020303@televic.com> <4AD3E92E.5020301@jifvik.org> <4AD47ADE.9010606@cs.vu.nl> <4AD6A7EC.8080703@jifvik.org> <4ADC452B.5040706@ecoscentric.com> <4ADD14E1.3050702@jifvik.org> <4ADD8E47.1080305@ecoscentric.com> <4ADE6C92.9060300@jifvik.org> <4AE02E54.7000508@ecoscentric.com> <4AF8F6D7.1000709@jifvik.org> <4AF94296.7040104@ecoscentric.com>
Hi all,
I am developing the driver on STM32 platform and my intention is to make
it independent of platform.
The driver makes use of external interrupt (from one of the general
purpose I/O pins in case of STM32) to get interrupt request from
Ethernet chip. I've found that, in eCos 3.0 implementation for STM32,
the cyg_drv_interrupt_... functions don't set up the AFIO_EXTICRx
register, which is necessary in order to connect particular I/O pin with
the EXTI logic. The driver can always arrange for this outside the
standard functions, but such an approach produces a driver which is tied
not only to Ethernet chip, but to platform too.
I wish if some of cyg_drv_interrupt_...() could arrange the whole
external interrupt signal train based solely on the interrupt vector
given to it. This is possible for STM32, since interrupt vectors bear
unambiguous info on the assigned GPIO pin. Are there plans to provide
such functionality?
Another solution is external function provided from application within
the private data structure, to be called from drivers init function. The
driver is still platform-independent and the application programmer
should take care for marshaling of interrupt.
Thoughts or suggestions?
Ilija Stanislevik