This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Re: STM32 - I/O pullup and EXTI issues, plus new SPI driver.
- From: Nick Garnett <nickg at ecoscentric dot com>
- To: Chris Holgate <chris at zynaptic dot com>
- Cc: ecos-devel at ecos dot sourceware dot org
- Date: 21 Nov 2008 15:52:42 +0000
- Subject: Re: STM32 - I/O pullup and EXTI issues, plus new SPI driver.
- References: <1227280292.8476.47.camel@hercules.zynaptic.com>
Chris Holgate <chris@zynaptic.com> writes:
> Hi folks,
>
> I came across a couple of HAL issues while putting together my new SPI
> driver for the STM32. I appreciate that the maintainers are overloaded
> with eCos 3.0 work at the moment, so I'll defer to them as to whether
> any of this needs fixing now and can provide more information/patches on
> request.
>
> 1) It's not possible to set pullups on I/Os using the provided
> functions. This is a trivial one-line fix to stm32-misc.c.
>
> 2) External interrupts don't work as they stand. This requires a few
> changes to the STM32 var_intr.h. If required I can tidy up my changes
> there and provide a patch which I've tested using a single I/O
> (EXTINT0), but which would probably benefit from a bit more testing
> using other I/O configurations.
I can easily believe that both of these don't quite work. I didn't do
much testing in this area, so any changes to make it work are appreciated.
> 3) I've now got full register maps for the AFIO, DMA and SPI blocks.
> For development purposes I've kept these in a separate file from the
> STM32 var_io.h, but can provide the file for merging if required.
So long as they match the existing naming and layout conventions these
can be added to var_io.h very easily.
>
> FYI, I now have a DMA-based SPI driver that is fully functional in
> kernel mode, but will need one or two changes (and some testing!) to
> make it play nicely in non-kernel mode. Probably best to leave that
> until the 3.0 release is done, though.
You can mainly test polled operation in the kernel just by temporarily
forcing the polled parameter to true.
--
Nick Garnett eCos Kernel Architect
eCosCentric Limited http://www.eCosCentric.com The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571
Registered in England and Wales: Reg No: 4422071