This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to build pcieHelloworld example project?

Hi,

This is about C6678 EVM board with PCIe adaptor card on a Linux 14.04, 32-bit PC. The MCSDK is mcsdk_2_01_02_06.

Is this the right folder on building PCIe HelloWorld project (output file: pciedemo.ko) ?

As with the readme.pdf, I copy files

Create a folder (e.g. pcie_test) in a Linux machine. Copy pciedemo.c, Makefile,
pcieDdrInit_66xx.h, pcieBootCode_66xx.h, pcieInterrupt_66xx.h and post_66xx.h from
tools\boot_loader\examples\pcie\linux_host_loader to the folder.

But, I can only see these files in the folder:

Makefile

pcieBootCode_6657.h

pcieDdrInit_6657.h

pciedemo.c

post_6678.h

I had copied these files to a ti_mc folder, renamed 6657 to 6678, and built, generated pciedemo.ko. When insert it with "sudo insmod pciedemo.ko", the computer (Ubuntu 14.04, 32-bit) hangs.

After reading some posts, I added "irqpoll" to /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash irqpoll"

And changed definition LOCAL_RESET to 1 after reading online post about hang problem:

/* Must select the endianess */
#define BIG_ENDIAN          0

/* Must select which demo to run */
#define HELLO_WORLD_DEMO    1
#define POST_DEMO           0
#define EDMA_INTC_DEMO      0
#define LOCAL_RESET         0

/* Must select a platform */
#define EVMC6678L           1
#define EVMC6670L           0
#define EVMC6657L           0
 

The problem is that make has such errors now:

make
make -C /usr/src/linux-headers-3.13.0-32-generic M=/home/ruwan2/ti_mc
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-32-generic'
  CC [M]  /home/ruwan2/ti_mc/pciedemo.o
/home/ruwan2/ti_mc/pciedemo.c:131:33: fatal error: pcieLocalReset_6678.h: No such file or directory
 #include "pcieLocalReset_6678.h"
                                 ^
compilation terminated.
make[2]: *** [/home/ruwan2/ti_mc/pciedemo.o] Error 1
make[1]: *** [_module_/home/ruwan2/ti_mc] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-32-generic'
make: *** [all] Error 2
rn2@u14T04-32Bit:~/ti_mc$

And I cannot find header file "pcieLocalReset_6678.h" in the SDK folders. Could you help on the pcie helloworld project build?

Thanks,

  • Hi Robert,

    1. Please build the pcieboot_localreset project using CCS.
    2. Convert the image to .h using the scripts available under bin directory.
    PATH: ..\mcsdk_2_01_02_06\tools\boot_loader\examples\pcie\pcieboot_localreset\evmc6678l\bin
    Thank you.