[En-Nut-Discussion] SPI Bus
Allister Mannion
allister at nowatt.com
Tue Jul 28 10:26:46 CEST 2009
Hi Harald,
Forget last email (from last night) - I've got eboot to work without
changing any fuses :-)
Many thanks
Allister Mannion
ΠΟωaττ - saving more than you think
+41 (0) 79 - 7591554
www.nowatt.com
On Thu, 2009-07-23 at 11:22 +0200, Harald Kipp wrote:
> Allister Mannion wrote:
>
> > The codec and MP3 examples look a bit hardware device driver specific.
> > I'm sort of imagining a serial type interface, but I guess (and have
> > read) it's a little more complex. Maybe writing a driver like that for
> > the codec would make the application code more generic/readable, but I
> > was hoping I could do the whole SPI interaction as an application (i.e.
> > touch nothing in the *-bld/OS folder).
>
> The MMC MP3 Player and the Flash MP3 Player sample
>
> http://www.ethernut.de/nutwiki/Flash_MP3_Player
> http://www.ethernut.de/nutwiki/MMC_MP3_Player
>
> are quite generic in that sense, that any hardware specific code is done
> in the initialization. Access to the codec is via stdio. This is the
> most advanced solution, but requires a device specific Nut/OS driver.
>
> You can always directly access the AVR hardware. Actually, before the
> Nut/OS SPI bus driver has been available, this was used by all drivers
> of SPI devices. For example
>
> nut/arch/avr/dev/spiflash.c
>
> Check the function SpiByte().
>
> The advantages of the SPI bus driver are
>
> - SPI devices can be attached to any SPI bus, even bit-banged.
> - Several SPI drivers can be attached to the same bus.
>
> This makes its usage a bit more complicated.
>
>
> > I think I'm going to have to study the nutwiki/SPI document more; from
> > what you've forwarded and I've read, it looks like the closest I'm going
> > to get to an example.
>
> http://www.ethernut.de/en/documents/ntn-6_spi.html
>
> is the most important document. The chapter "Using the SPI bus / Low
> level bus access" provides an example, that doesn't require a driver. It
> should work on all platforms, because it is a bit banging driver. To use
> the AVR SPI hardware, simply replace the bus driver, using spiBus0Avr
> instead of spiBus0Gpio.
>
> Harald
>
> _______________________________________________
> http://lists.egnite.de/mailman/listinfo/en-nut-discussion
More information about the En-Nut-Discussion
mailing list