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/
|