0

I am trying to write a PCI device driver in VXworks. Even though the source file is in place for the pciConfigLib, after compilation, it throws error stating " undefined function reference".

Any help is appreciated.

Thanks VxNewbee

VxNewbee
  • 1
  • 2
  • What function is undefined? – Chris Desjardins Mar 27 '13 at 20:40
  • Hi Chris, First Thank you for responding. Am using the funtion Pcifindevice() in the file pciConfigLib.c. I have included the file and all related header files for the project and just trying to find the device. I have created a user defined application project, under a 653 platform project. Userdefined appplication project gets compiled. When i compile the platform project to load the application in simulator, I recived the error"Undefined reference to the function Pcifindevice" – VxNewbee Mar 28 '13 at 03:12

1 Answers1

0

I am just going to throw this out there, but if you are in fact calling Pcifinddevice then that is wrong, you need pciFindDevice (case matters)

If that doesn't work, then from the vxworks shell can you show me the output of

lkup "pci"

Also be sure to read the device driver developers guide: http://www.mecatronica.eesc.usp.br/wiki/upload/0/07/Vxworks_device_driver_developers_guide_6.0.pdf

It doesn't really have a good basic example of how to create a basic driver, but if you are using eclipse, then you should be able to create a new device driver project in there, it does give some good advice however, start from an existing template driver. Also there are other docs that you should be able to access from the wind river support site.

http://www.windriver.com/products/vxworks/

Chris Desjardins
  • 2,631
  • 1
  • 23
  • 25
  • Infact chris, i have considered the letter cases for the function calls. – VxNewbee Mar 28 '13 at 08:18
  • and for the vxworks shell, i tried VxWorks windows shell and for typing in the pci, i get pci is not a recognized command. Might be i might not have recognized the shell correctly. – VxNewbee Mar 28 '13 at 08:21
  • Can you confirm that you are in the vxworks shell, it should look something like this: http://support.motioneng.com/hardware/exmp/images/faqs_14.gif The banner that prints VxWorks across the whole screen with ] may be disabled... but the prompt is a simple -> and it will also say "Adding xxxx symbols for standalone." – Chris Desjardins Mar 28 '13 at 20:00
  • You may need to recompile the OS and include additional features like INCLUDE_PCI, and INCLUDE_SYM_TBL_SHOW... – Chris Desjardins Mar 28 '13 at 20:50
  • Hi Chris, Apologies for delayed reply, After some research i got to know that the method I am trying was wrong. I trie with the lkup pci in the shell, **_got to know on how to access the shell from one of the colleague, but it just returned value =0x0), for others which are from syslib.a it listed the addresses._** As of now i stopped to work directly on PCI and tried to develop a basic dummy driver with logMsg() message output. Configured the config.cdf file, added 51comp_xx.cdf file to add the component to kernel. – VxNewbee Apr 05 '13 at 12:07
  • I could not build the BSP with the dummy driver file included. It says "no rule to make target " for the drv file i added. I could not figureout from where the make file would consider the included file. The file is present in the bsp folder itself. and required linkages are provided in syslib.c, 00kernel.cdf, config.cdf and added custom component 51_comp_xx.cdf. Please provide any suggestions to solve this.. Without this i will not be able to come up with a basic driver... Thanks in advance.... – VxNewbee Apr 05 '13 at 12:11
  • And to mention, previously i was not in the shell. Recenlty go to know on how to acess shell... – VxNewbee Apr 05 '13 at 12:13
  • Updated answer with extra info – Chris Desjardins Apr 06 '13 at 14:24