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.

tci6638 ipc例子编译问题



参照IPC_Install_Guide_linux编辑/ti/ipc_3_36_02_13文件夹下的products.mak,编辑如下:

TOOLCHAIN_LONGNAME = arm-linux-gnueabihf
TOOLCHAIN_INSTALL_DIR = /home/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux
TOOLCHAIN_PREFIX = $(TOOLCHAIN_INSTALL_DIR)/bin/$(TOOLCHAIN_LONGNAME)-

KERNEL_INSTALL_DIR = /home/ict/Work/TI_GIT/linux-keystone

XDC_INSTALL_DIR = $(DEPOT)/xdctools_3_31_02_38_core
BIOS_INSTALL_DIR = $(DEPOT)/bios_6_41_04_54

执行make -f ipc-linux.mak config;make;make instal

     make -f ipc-bios.mak all

执行到这都没有问题,能够编译成功。

但在编译examples/TCI6638_linux_elf/ex44_compute时候出现了以下问题:

make[2]: 正在进入目录 `/ti/ipc_3_36_02_13/examples/TCI6638_linux_elf/ex44_compute/host'
#
# Making bin/debug/obj/MainHost.ov7A ...
/home/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin/arm-linux-gnueabihf-gcc -c -MD -MF bin/debug/obj/MainHost.ov7A.dep -D_REENTRANT -Wall -ffloat-store -fPIC -Wunused -Dfar= -ggdb -D DEBUG -I. -I/ti/ipc_3_36_02_13/include -o bin/debug/obj/MainHost.ov7A MainHost.c
MainHost.c:43:24: fatal error: ti/ipc/Std.h: 没有那个文件或目录
compilation terminated.
make[2]: *** [bin/debug/obj/MainHost.ov7A] 错误 1
make[2]:正在离开目录 `/ti/ipc_3_36_02_13/examples/TCI6638_linux_elf/ex44_compute/host'
make[1]: *** [all] 错误 2
make[1]:正在离开目录 `/ti/ipc_3_36_02_13/examples/TCI6638_linux_elf/ex44_compute/host'
make: *** [host] 错误 2

ex44_compute文件夹下的products.mak编辑为:

EPOT =/ti

#### Linux toolchain ####
TOOLCHAIN_LONGNAME     = arm-linux-gnueabihf
TOOLCHAIN_INSTALL_DIR  = /home/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux
TOOLCHAIN_PREFIX       = $(TOOLCHAIN_INSTALL_DIR)/bin/$(TOOLCHAIN_LONGNAME)-

#### BIOS-side dependencies ####
BIOS_INSTALL_DIR       = $(DEPOT)/bios_6_41_04_54
IPC_INSTALL_DIR        = $(DEPOT)/ipc_3_36_02_13
XDC_INSTALL_DIR        = $(DEPOT)/xdctools_3_31_02_38_core
DESTDIR                = $(DEPOT)/ipc_3_36_02_13

#### BIOS-side toolchains ####
ti.targets.elf.C66     = /ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0
请帮忙看一下是哪里出了问题,为什么会找不到ti/ipc/Std.h文件呢?

  • 你可以现在IPC目录下搜一下,看看std.h这个文件在不在?

    可能还是某个配置不对,如果实在搞不定,直接把这个STD.H复制到一个能找到的目录

  • 在/ti/ipc_3_36_02_13/linux/include/ti/ipc文件夹下就有,mainhost.c包含的头文件如下:

    /* standard headers */
    #include <pthread.h>
    #include <stdio.h>
    #include <stdlib.h>

    /* package header files */
    #include <ti/ipc/Std.h>
    #include <ti/ipc/Ipc.h>
    #include <ti/ipc/MessageQ.h>

    #include "App.h"
    #include "ResMgr.h"

    package header文件应该在哪里去寻找,是/ti/ipc_3_36_02_13/packages/ti/ipc还是/ti/ipc_3_36_02_13/linux/include/ti/ipc。

    我把ti/ipc_3_36_02_13/linux/include/ti/ipc下的Std.h拷贝到当期文件夹,并修改为#include <Std.h>,但是又报错:

    MainHost.c:44:24: fatal error: ti/ipc/Ipc.h: 没有那个文件或目录

    /* package header files */的include文件都找不到,是不是哪个环境变量没有配置或配置错误了?