Other Parts Discussed in Thread: SYSBIOS
When building SYSBIOS Starterware for AM437x in the following environment, an issue with include paths occurs which prevents a successful build.
Host OS: Windows 7 64 bit
SYSBIOS: am437x_sysbios_ind_sdk_2.0.0.2
Toolchain: gcc-linaro-4.9-4.9-2015.01-3-2015.02-3
Cygwin: Cygwin x64 2.2.0
The problem occurs when gcc searches for the source file's include files and cannot find them because gcc cannot resolve include file paths relative to /cygdrive/c.
When gcc searches the list of include files for "types.h", this file cannot be found.
The makefile generated include path containing "types.h" is:
-I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include
When this path is manually substituted with
-IC:/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include
the problem is eliminated.
So, when include file paths are referenced with respect to 'C:' as opposed to '/cygdrive/c', the problem is mitigated.
What is the solution to this problem?
The compilation step and resultant error is shown below.
-------------------------------------------------------------------------------------
$ make -s PLATFORM=am43xx-evm PROFILE=debug
------------------------------------------------------
# Starterware 02.01.00.01
------------------------------------------------------
# Compiling am43xx-evm:a9host:debug:dal: i2c.c
i2c.c:48:19: fatal error: types.h: No such file or directory
#include "types.h"
^
compilation terminated.
/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/build/makerules/rules_a9.mk:134: recipe for target '/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/binary/dal/obj/am43xx-evm/a9/debug/gcc/i2c.o' failed
make[1]: *** [/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/binary/dal/obj/am43xx-evm/a9/debug/gcc/i2c.o] Error 1
Makefile:130: recipe for target 'dal' failed
make: *** [dal] Error 2
------------------------------------------------------------------------------
The compilation script generated by make is as follows.
------------------------------------------------------------------------------
C:/Linaro/Linaro_Toolchain_arm-none-eabi/bin/arm-eabi-gcc -c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -mfpu=neon -mfloat-abi=hard -eo.o -ea.o -mlong-calls -fdata-sections -funsigned-char -ffunction-sections -Wall -Dgcc -Darmv7a -D SUPPORT_UNALIGNED -MD -MF /cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/binary/dal/obj/am43xx-evm/a9/debug/gcc/.deps/i2c.P -D UART -D_DEBUG_=1 -g -DPLATFORM_EVM_SI -DAM43XX_FAMILY_BUILD -DBUILD_A9 -DUSE_STD_ASSERT -DTRACE_ENABLE -DDEBUG_BUILD -DASSERT_ENABLE -DPLATFORM_EVM_SI -DAM43XX_FAMILY_BUILD -DAM437X_BUILD -DBUILD_A9 -DUSE_STD_ASSERT -DTRACE_ENABLE -DDEBUG_BUILD -DASSERT_ENABLE -DBUILDCFG_MOD_UART -DBUILDCFG_MOD_I2C -DBUILDCFG_MOD_MCSPI -DBUILDCFG_MOD_ADC -DBUILDCFG_MOD_GPIO -DBUILDCFG_MOD_MMCSD -DBUILDCFG_MOD_DMTIMER -DBUILDCFG_MOD_EDMA3CC -DBUILDCFG_MOD_EDMA3TC -DBUILDCFG_MOD_PWMSS -DBUILDCFG_MOD_DSS -DBUILDCFG_MOD_QSPI -DBUILDCFG_MOD_WDT -DBUILDCFG_MOD_RTC -DBUILDCFG_MOD_LCDC -DBUILDCFG_MOD_DCAN -DBUILDCFG_MOD_VPFE -DBUILDCFG_MOD_CPSW -DBUILDCFG_MOD_GPMC -DPLATFORM_EVM_SI -DAM43XX_FAMILY_BUILD -DBUILD_A9 -DUSE_STD_ASSERT -DTRACE_ENABLE -DDEBUG_BUILD -DASSERT_ENABLE -DPLATFORM_EVM_SI -DAM43XX_FAMILY_BUILD -DAM437X_BUILD -DBUILD_A9 -DUSE_STD_ASSERT -DTRACE_ENABLE -DDEBUG_BUILD -DASSERT_ENABLE -IC:/Linaro/Linaro_Toolchain_arm-none-eabi/arm-eabi/include -I. -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/soc -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/hw -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/armv7a -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/armv7a/am437x -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/am43xx -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/am43xx/am437x -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/am437x -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/utils/ -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/utils -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/library/usb_lib/include -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/hw -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/armv7a -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/am43xx -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/am437x -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/include/armv7a/am437x -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/library/third_party/ff9b/src -I/cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/library/third_party/ff9b/port -x c -o /cygdrive/c/ti/am437x_sysbios_ind_sdk_2.0.0.2/sdk/starterware/binary/dal/obj/am43xx-evm/a9/debug/gcc/i2c.o i2c.c
Many thanks for your assistance.