ts-7000
[Top] [All Lists]

Re: [ts-7000] Re: request_irq help

To:
Subject: Re: [ts-7000] Re: request_irq help
From: Eddie Dawydiuk <>
Date: Thu, 12 Apr 2007 13:25:19 -0700 (MST)
Hello,

> Ok, cool, I finally got it to compile, thanks for the help.
>
> However, it doesn't produce an executable.  It generates an
> executable, but without the correct permissions set.
>
> I changed them with chmod, moved it over to the board, and ran it, but
> it gives me
>
> $ chmod 777 irq_handle
> $ ls
> irq_handle
> $ ./irq_handle
> ./irq_handle: 1: Syntax error: newline unexpected (expecting ")")
>
> I guess the make didn't produce a binary?  Or is this error saying
> something else?

You may want to read up on Linux Device Drivers, as it sounds like you
are confusing kernel code and user space code. You can compile a device
driver as a module you can load or as part of the kernel.

//Eddie

> --- In  Eddie Dawydiuk <> wrote:
>>
>> Hello,
>>
>>> So, I ran "make ts7250_config && make oldconfig", and everything
>>> compiles well.  I even got the gps_pps example to compile using the
>>> 3.3.4 crosstool.
>>>
>>> However, now my code thinks it should look for header files in the
>>> crosstool file system rather than in the kernel source.
>>>
>>> Is there a link that I should change somewhere???
>>
>> Take a look at the Makefile for the gps_pps example, you'll need to
>> specify to gcc not to use the standard include directories when
>> compiling a device driver,  also you'll need to specify the include path
>> to the kernel headers...
>>
>> //Eddie
>>
>>> --- In  "mbuynak" <mikestas@> wrote:
>>>>
>>>> Awesome, thanks for helping out a noob.
>>>>
>>>>
>>>> --- In  Eddie Dawydiuk <eddie@> wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>>>> I'm trying to write a very simple irq handler for a ts-7250
>>>> board, and
>>>>>>> I can't seem to get the dependencies correct.
>>>>>>>
>>>>>>> Here's what I have so far
>>>>>>>
>>>>>>> #include <sched.h>
>>>>>>> #include <signal.h>
>>>>>>> #include <asm/irq.h>
>>>>>>> #include <stdio.h>
>>>>>>>
>>>>>>> void irq_handler(int irq, void *dev_id, struct pt_regs *regs)
>>>>>>> {
>>>>>>>         printf("handling irq %d/n",irq);
>>>>>>> }
>>>>>>>
>>>>>>> int main(void)
>>>>>>> {
>>>>>>>         if(request_irq(5, irq_handler, 0, "ChannelA", 0)<0)
>>>>>>>                 printf("Can't get irq 5\n");
>>>>>>>         if(request_irq(6, irq_handler, 0, "ChannelB", 0)<0)
>>>>>>>                 printf("Can't get irq 6\n");
>>>>>>>
>>>>>>>         return 0;
>>>>>>> }
>>>>>
>>>>> This needs to be in kernel space, you'll need to write a device
>>>>> driver to handle IRQs. You may want to take a look at Linux Device
>>>>> Drivers http://www.xml.com/ldd/chapter/book/
>>>>>
>>>>>>> because asm/arch/irqs.h doesn't exist.  How do I know which
>>>>>>> architecture to choose?
>>>>>
>>>>> Download the kernel source code, then run "make ts7250_config &&
> make
>>>>> oldconfig". This will setup the symbolic links you need...
>>>>>
>>>>> //Eddie
>>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>> Yahoo! Groups Links
>>>
>>>
>>>
>>>
>>>
>>
>
>
>
>
>
> 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/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU