Sounds like you want to write a kernel driver.
I've run the SPI at pretty close to max rate before, and it works just fine.
All you need to do is run it off interrupts in kernel mode.
-Brett
On 07/19/2010 02:35 PM, Simon wrote:
> Thanks WouterS and Jim Jackson. Now I understand a little better what's going
> on in there.
>
> My problem is that I'm trying to do some very fast communications through the
> SPI port and I need to do some flag management through the DIO ports. I've
> done some tests and when I go beyond 8 kHZ it seems that the kernel gets in
> the way and creates small delays in the process.
>
> I was trying to get past that by communicating straight to the hardware. I've
> read about something called 'nice' to increase the priority of my program but
> I don't know how to use it for the TS boards. Can someone point me to
> documentation or tell me how it's done?
>
> Thank you very much for your help!
>
> --- In Jim Jackson<> wrote:
>
>>
>>
>>
>> On Thu, 15 Jul 2010, Simon wrote:
>>
>>
>>> Hi, I've been using the peekpoke instructions as inline assembly and they
>>> work perfectly. However, I was wondering if there's a way, using inline
>>> assembly, to use these functions without mmap'ing. Maybe set some flags
>>> that'd let me control the memory locations directly?
>>>
>>> I just want to be able to communicate with the GPIO ports directly
>>> instead of having to go through virtual memory mapping. Is there a way to
>>> do this?
>>>
>> Not without having to go through virtual memory mapping.
>> You can do it without using peekpoke functions.
>> Once you have addresses mmap'ed, or addresses calculated from mmap'ed base
>> addresses, you can use them directly. There is example code around.
>> If stuck check out the ts7200.c file in any of my programs.
>>
>>
>> cheers
>> Jim
>> ----------------------------------------------------------------------------
>> HomePage: http://www.comp.leeds.ac.uk/jj
>> TS7200 Page: http://www.comp.leeds.ac.uk/jj/linux/arm-sbc.html
>>
>>
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|