Part Number: EVMK2H
What I want to do: Use Linux-RT on ARM side of EVMK2H and be able to send and receive data from DSP cores.
What I did in the past is using Syslink shared region example, but that was for a older board. This newer board now has Processor-SDK, so I have the latest Processor SDK Linux-RT and RTOS versions. And I found the IPC example on the Matrix 2.0 demo, therefore I looked into IPC examples. I started to follow this guide: processors.wiki.ti.com/.../File:Guide_Keystone_II_IPC_examples_.zip
I setup my products.mak file like so:
# # Copyright (c) 2012-2015 Texas Instruments Incorporated - http://www.ti.com # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # * Neither the name of Texas Instruments Incorporated nor the names of # its contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # ======== products.mak ======== # # Note that these variables can be explicitly set here or on the command line. # If you want to use variables in the environment, see the GNU make manual's # -e option: www.gnu.org/.../make.html # Optional: recommended to install all dependent components in one folder. # DEPOT = /home/usman/ti # Platform to build for # Supported platforms (choose one): # OMAPL138, OMAP54XX, DRA7XX, 66AK2G, 66AK2E, TCI6630, TCI6636, TCI6638, # TDA3XX # # Note, this is used for Linux, QNX and BIOS builds # PLATFORM = TCI6636 # Destination when installing the built binaries # # Note, this is used for Linux (if you use ipc-linux.mak to run the # configure command), QNX and BIOS. # DESTDIR = $(DEPOT)/ipc_3_44_01_01/IPC_install #################### IPC Linux #################### # Set up required cross compiler path for IPC Linux configuration and build # TOOLCHAIN_LONGNAME = arm-none-eabi TOOLCHAIN_INSTALL_DIR = $(DEPOT)/gcc-arm-none-eabi-4_9-2015q3 TOOLCHAIN_PREFIX = $(TOOLCHAIN_INSTALL_DIR)/bin/$(TOOLCHAIN_LONGNAME)- # Path to Linux Kernel - needed to build the IPC user libraries # KERNEL_INSTALL_DIR = $(DEPOT)/ti-processor-sdk-linux-rt-k2hk-evm-03.03.00.04/board-support/linux-rt-4.4.41+gitAUTOINC+968d071ce9-g968d071ce9/ # Optional: Specify the Address Family for RPMSG. This value is specified # either from the Linux kernel specified by KERNEL_INSTALL_DIR above, or # the make variable AF_RPMSG below. Do not use both. # AF_RPMSG = # Optional: Path to DRM Library # DRM_PREFIX = # Optional: Path to TI Linux Utils product # CMEM_INSTALL_DIR = #################### IPC QNX #################### # Path to QNX tools installation # QNX_INSTALL_DIR = # Optional: Any additional compile options # QNX_CFLAGS = #################### IPC Bios #################### # Path to required dependencies for IPC BIOS builds # XDC_INSTALL_DIR = $(DEPOT)/xdctools_3_32_01_22_core BIOS_INSTALL_DIR = $(DEPOT)/bios_6_46_04_53 # Do you want to build SMP-enabled libraries (if supported for your target)? # Set to either 0 (disabled) or 1 (enabled) # BIOS_SMPENABLED=1 # Path to various cgtools # ti.targets.elf.C64P = ti.targets.elf.C64P_big_endian = ti.targets.elf.C64T = ti.targets.elf.C66 = $(DEPOT)/ti-cgt-c6000_8.1.3 ti.targets.elf.C66_big_endian = ti.targets.elf.C674 = ti.targets.arm.elf.Arm9 = ti.targets.arm.elf.A8F = ti.targets.arm.elf.A8Fnv = ti.targets.arm.elf.M3 = ti.targets.arm.elf.M4 = ti.targets.arm.elf.M4F = ti.targets.arp32.elf.ARP32 = ti.targets.arp32.elf.ARP32_far = gnu.targets.arm.A8F = gnu.targets.arm.A15F =
When I run "make -f ipc-linux.mak config", I get the following error:
usman@usman-VirtualBox:~/ti/ipc_3_44_01_01$ make -f ipc-linux.mak config
Configuring Linux Ipc ...
./configure --host=arm-none-eabi \
--prefix=/home/usman/ti/ipc_3_44_01_01/IPC_install \
CC=/home/usman/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc \
PLATFORM=TCI6636 \
CMEM_INSTALL_DIR= \
KERNEL_INSTALL_DIR=/home/usman/ti/ti-processor-sdk-linux-rt-k2hk-evm-03.03.00.04/board-support/linux-rt-4.4.41+gitAUTOINC+968d071ce9-g968d071ce9/ \
DRM_PREFIX= \
AF_RPMSG=
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/home/usman/ti/ipc_3_44_01_01/linux/build-aux/missing: Unknown `--is-lightweight' option
Try `/home/usman/ti/ipc_3_44_01_01/linux/build-aux/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for arm-none-eabi-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux
checking host system type... arm-none-eabi
checking how to print strings... printf
checking for style of include used by make... GNU
checking for arm-none-eabi-gcc... /home/usman/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc
checking whether the C compiler works... no
configure: error: in `/home/usman/ti/ipc_3_44_01_01':
configure: error: C compiler cannot create executables
See `config.log' for more details
ipc-linux.mak:56: recipe for target 'config' failed
make: *** [config] Error 77
I already installed all of the 32bit libs listed on this page: processors.wiki.ti.com/.../Sitara_Linux_SDK_64_Bit_Ubuntu_Support
Am I going in the right direction for what I want to do? Or should I be using something other than IPC