Thread (5 messages) flat view 5 messages, 3 authors, 2008-10-23

Re: Compile program using XGpio

From: Bruno Monteiro <hidden>
Date: 2008-10-23 16:59:21

Hi,

I'm a new driver writer and i'm trying to understand how to deal with XGpio.
My goal is writing a small piece of code that can turn leds on and off. I
think this driver should do it:


#include <linux/init.h>
#include <linux/module.h>

#include "xgpio.h"
#include "xgpio_ioctl.h"
#include "xparameters.h"

XGpio led;

static int myteste_init(void)
{
    XGpio_Initialize (&led, LEDs_4Bit);
    XGpio_SetDataDirection(&led,1,0);
    XGpio_DiscreteWrite(&led,1,0xf);
    printk (KERN_ALERT "LEDS: Turn off\n");

    return 0;
}

static int myteste_exit(void)
{

    XGpio_DiscreteWrite(&led,1,0x0);
    printk (KERN_ALERT "LEDS: Turn on\n");
    return 0;
}

module_init(myteste_init);
module_exit(myteste_exit);

But i have this error:
ERROR: "XGpio_SetDataDirection" [drivers/char/mytest/mytest.ko] undefined!
ERROR: "XGpio_Initialize" [drivers/char/mytest/mytest.ko] undefined!
ERROR: "XGpio_DiscreteWrite" [drivers/char/mytest/mytest.ko] undefined!

Any suggestion? This is the makefile:
  EXTRA_CFLAGS    += -I$(TOPDIR)/drivers/xilinx_common
  EXTRA_CFLAGS    += -I$(TOPDIR)/drivers/char/xilinx_gpio
  obj-$(CONFIG_MY_TEST)     := mytest.o


Is there any way to use *.dts instead xparameters.h

Thanks,
Bruno




On Tue, Oct 21, 2008 at 9:08 PM, John Linn [off-list ref] wrote:
 Hi Bruno,



I don't think you can do what you're trying to do, unless I'm
misunderstanding or just not smart enough.



The EDK from Xilinx ships with drivers that are not Linux drivers.  Those
functions in main below are intended for a standalone (no RTOS) system such
they can't just be called from a user app in Linux.  You are sort of trying
to create a user mode driver with what you are doing.



There is a character mode gpio driver in the Xilinx git tree, git://
git.xilinx.com/linux-2.6-xlnx.git that has been used previously.  I don't
currently test that driver as we're in the process of getting a flattened
gpio driver that is not char driver ready for mainline.



I plan to take a look at the char mode gpio driver today as there's another
question regarding it on the list.



Thanks,

John




  ------------------------------

*From:* linuxppc-embedded-bounces+john.linn=xilinx.com@ozlabs.org [mailto:
linuxppc-embedded-bounces+john.linn<linuxppc-embedded-bounces%2Bjohn.linn>
=xilinx.com@ozlabs.org] *On Behalf Of *Bruno Monteiro
*Sent:* Tuesday, October 21, 2008 8:36 AM
*To:* linuxppc-embedded@ozlabs.org
*Subject:* Compile program using XGpio



Hi all,


I'm working with a Virtex2p. I have a running system using:

   - EDK 9.1
   - Crosstool-ng (svn)
   - linux-2.6-xlnx
   - BusyBox 1.12.1

Now, i'm trying to build a small program that turn off leds. I guess it
should be something like this:

void main (void){
    XGpio led;
    XGpio_Initialize (&led, XPAR_LEDS_4BIT_DEVICE_ID);
    XGpio_SetDataDirection(&led,1,0);
    XGpio_DiscreteWrite(&led,1,0xf);
}


I want to know how to compile it (without EDK). Any suggestion?


Thanks,
Bruno Monteiro

This email and any attachments are intended for the sole use of the named
recipient(s) and contain(s) confidential information that may be
proprietary, privileged or copyrighted under applicable law. If you are not
the intended recipient, do not read, copy, or forward this email message or
any attachments. Delete this email message and any attachments immediately.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help