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.

AM6442: OSPI lib patch

Part Number: AM6442
Other Parts Discussed in Thread: SYSCONFIG, MATHLIB, DP83869, TPIC2810, TCA6424

Hello everyone,

When trying to patch the library due to a the patch of the flash_nor_ospi, I'm facing following issues when following the instructions:

C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -s libs-clean PROFILE=debug
Cleaning: board.am64x.r5f.ti-arm-clang.debug.lib ...
process_begin: CreateProcess(NULL, C:/ti/ccs1210/ccs/utils/cygwin/rm -rf obj/am64x/ti-arm-clang/debug/r5f/board/, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
makefile.am64x.r5f.ti-arm-clang:120: recipe for target 'clean' failed
gmake[2]: *** [clean] Error 2
makefile.am64x:868: recipe for target 'board_r5f.ti-arm-clang_clean' failed
gmake[1]: *** [board_r5f.ti-arm-clang_clean] Error 2
makefile:62: recipe for target 'libs-clean' failed
gmake: *** [libs-clean] Error 2

C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -s libs-clean PROFILE=release
Cleaning: board.am64x.r5f.ti-arm-clang.release.lib ...
process_begin: CreateProcess(NULL, C:/ti/ccs1210/ccs/utils/cygwin/rm -rf obj/am64x/ti-arm-clang/release/r5f/board/, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
makefile.am64x.r5f.ti-arm-clang:120: recipe for target 'clean' failed
gmake[2]: *** [clean] Error 2
makefile.am64x:868: recipe for target 'board_r5f.ti-arm-clang_clean' failed
gmake[1]: *** [board_r5f.ti-arm-clang_clean] Error 2
makefile:62: recipe for target 'libs-clean' failed
gmake: *** [libs-clean] Error 2

C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -s libs PROFILE=release
process_begin: CreateProcess(NULL, C:/ti/ccs1210/ccs/utils/cygwin/mkdir -p obj/am64x/ti-arm-clang/release/r5f/board/, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
makefile.am64x.r5f.ti-arm-clang:132: recipe for target 'obj/am64x/ti-arm-clang/release/r5f/board/' failed
gmake[2]: *** [obj/am64x/ti-arm-clang/release/r5f/board/] Error 2
makefile.am64x:647: recipe for target 'board_r5f.ti-arm-clang' failed
gmake[1]: *** [board_r5f.ti-arm-clang] Error 2
makefile:59: recipe for target 'libs' failed
gmake: *** [libs] Error 2

Does someone have a clue what I shall do?

I already tried deinstalling and reinstalling the SDK.

My setting: 

- [TI Code Composer Studio](www.ti.com/.../12.3.0): v12.3.0^
- [TI MCU-PLUS-SDK-AM64X](www.ti.com/.../08.06.00.45): v08.06.00.45
- [TI SysConfig](www.ti.com/.../SYSCONFIG): v1.14.0.2667
- [TI Clang](www.ti.com/.../2.1.2.LTS): v2.1.2.LTS^ (Included with Code Composer Studio).

best regards,

  • And yes I also used the normal libs command, I just forgot to copy this: 

    C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -s libs PROFILE=release

    process_begin: CreateProcess(NULL, C:/ti/ccs1210/ccs/utils/cygwin/mkdir -p obj/am64x/ti-arm-clang/release/r5f/board/, ...) failed.

    make (e=2): Das System kann die angegebene Datei nicht finden.

    makefile.am64x.r5f.ti-arm-clang:132: recipe for target 'obj/am64x/ti-arm-clang/release/r5f/board/' failed

    gmake[2]: *** [obj/am64x/ti-arm-clang/release/r5f/board/] Error 2

    makefile.am64x:647: recipe for target 'board_r5f.ti-arm-clang' failed

    gmake[1]: *** [board_r5f.ti-arm-clang] Error 2

    makefile:59: recipe for target 'libs' failed

    gmake: *** [libs] Error 2

    And I also checked the PATH settings: 

    C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -v
    GNU Make 4.1
    Built for Windows32
    Copyright (C) 1988-2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

  • Hi Isaac,

    The error logs suggests that you do not have the CCS v1210 installed at the default expected location `C:/ti`. Please use the following link to install CCS v1210. Once installed, the build error should not come anymore.

    https://www.ti.com/tool/download/CCSTUDIO/12.1.0

    In case you do not want to install CCS v1210 & would like to use the already installed CCS v1230, you may apply the following patch. However, please note it is always recommended to use the tools version with which the SDK is tested & built as using any other version may break things.

    diff --git a/imports.mak b/imports.mak
    index 3f4c07af7..f3668480e 100644
    --- a/imports.mak
    +++ b/imports.mak
    @@ -3,7 +3,7 @@ DEVICE ?= am64x
     
     ifeq ($(OS),Windows_NT)
         TOOLS_PATH?=C:/ti
    -    CCS_PATH?=$(TOOLS_PATH)/ccs1210/ccs
    +    CCS_PATH?=$(TOOLS_PATH)/ccs1230/ccs
         CCS_ECLIPSE=$(CCS_PATH)/eclipse/eclipsec
         CYGWIN_PATH?=$(CCS_PATH)/utils/cygwin
         MKDIR=$(CYGWIN_PATH)/mkdir -p
    @@ -21,7 +21,7 @@ else
         UNAME_S := $(shell uname -s)
         ifeq ($(UNAME_S),Linux)
             export TOOLS_PATH?=$(HOME)/ti
    -        export CCS_PATH?=$(TOOLS_PATH)/ccs1210/ccs
    +        export CCS_PATH?=$(TOOLS_PATH)/ccs1230/ccs
             export CCS_ECLIPSE=$(CCS_PATH)/eclipse/eclipse
             export MKDIR=mkdir -p
             export RMDIR=rm -rf
    

    Regards,

    Prashant

  • The patch didn't really work: 

    C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -s libs PROFILE=debug
    Compiling: board.am64x.r5f.ti-arm-clang.debug.lib: eeprom/eeprom.c
    process_begin: CreateProcess(NULL, C:/ti/ti-cgt-armllvm_2.1.2.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -D_DEBUG_=1 -IC:/ti/ti-cgt-armllvm_2.1.2.LTS/include/c -IC:/ti/mcu_plus_sdk_am64x_08_06_00_45/source -DSOC_AM64X -MMD -o obj/am64x/ti-arm-clang/debug/r5f/board//eeprom.obj eeprom/eeprom.c, ...) failed.
    make (e=2): Das System kann die angegebene Datei nicht finden.
    makefile.am64x.r5f.ti-arm-clang:103: recipe for target 'eeprom.obj' failed
    gmake[2]: *** [eeprom.obj] Error 2
    makefile.am64x:647: recipe for target 'board_r5f.ti-arm-clang' failed
    gmake[1]: *** [board_r5f.ti-arm-clang] Error 2
    makefile:59: recipe for target 'libs' failed
    gmake: *** [libs] Error 2

    C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -s libs PROFILE=release
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: eeprom/eeprom.c
    process_begin: CreateProcess(NULL, C:/ti/ti-cgt-armllvm_2.1.2.LTS/bin/tiarmclang -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -Wall -Werror -g -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -Os -IC:/ti/ti-cgt-armllvm_2.1.2.LTS/include/c -IC:/ti/mcu_plus_sdk_am64x_08_06_00_45/source -DSOC_AM64X -MMD -o obj/am64x/ti-arm-clang/release/r5f/board//eeprom.obj eeprom/eeprom.c, ...) failed.
    make (e=2): Das System kann die angegebene Datei nicht finden.
    makefile.am64x.r5f.ti-arm-clang:103: recipe for target 'eeprom.obj' failed
    gmake[2]: *** [eeprom.obj] Error 2
    makefile.am64x:647: recipe for target 'board_r5f.ti-arm-clang' failed
    gmake[1]: *** [board_r5f.ti-arm-clang] Error 2
    makefile:59: recipe for target 'libs' failed
    gmake: *** [libs] Error 2

    However installing CCS 11 and gave me similar errors:

    C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -s libs-clean PROFILE-release
    Cleaning: board.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: board.am64x.r5f.gcc-armv7.release.lib ...
    Cleaning: board.am64x.m4f.ti-arm-clang.release.lib ...
    Cleaning: board.am64x.a53.gcc-aarch64.release.lib ...
    Cleaning: dhrystone_benchmark.am64x.a53.gcc-aarch64.release.lib ...
    Cleaning: drivers.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: drivers.am64x.r5f.gcc-armv7.release.lib ...
    Cleaning: drivers.am64x.m4f.ti-arm-clang.release.lib ...
    Cleaning: drivers.am64x.a53.gcc-aarch64.release.lib ...
    Cleaning: freertos_fat.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: ethercat_slave_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: ethercat_slave_bkhfSsc.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: ethernetip_adapter_mii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: ethernetip_adapter_rgmii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: ethernetip_adapter_lwip_contrib.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: ethernetip_adapter_lwip_freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: hsr_mii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: hsr_rgmii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: prp_mii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: prp_rgmii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: hsr_prp_lwip_contrib.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: hsr_prp_lwip_freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: hsr_prp_icss_emac_lwip_if.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: profinet_device_irt_mii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: profinet_device_irt_rgmii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: profinet_device_rt_mrp_mii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: profinet_device_rt_mrp_rgmii_icss_fwhal.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: nortos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: nortos.am64x.r5f.gcc-armv7.release.lib ...
    Cleaning: nortos.am64x.m4f.ti-arm-clang.release.lib ...
    Cleaning: nortos.am64x.a53.gcc-aarch64.release.lib ...
    Cleaning: freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: freertos.am64x.r5f.gcc-armv7.release.lib ...
    Cleaning: freertos.am64x.m4f.ti-arm-clang.release.lib ...
    Cleaning: freertos.am64x.a53.gcc-aarch64.release.lib ...
    Cleaning: freertos.am64x.a53-smp.gcc-aarch64.release.lib ...
    Cleaning: mathlib.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: motorcontrol_sdfm.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: motorcontrol_endat.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: motorcontrol_hdsl.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: motorcontrol_tamagawa.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: icss_emac.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: icss_emac_lwip_if.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: icss_timesync.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: pru_ipc.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: sdl.am64x.m4f.ti-arm-clang.release.lib ...
    Cleaning: sdl.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: security.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: usbd_cdn_nortos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: usbd_cdn_freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: usbd_tusb_cdc_nortos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: usbd_tusb_cdc_freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: usbd_tusb_dfu_nortos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: usbd_tusb_dfu_freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: enet-cpsw.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: lwipif-cpsw-freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: lwipif-cpsw-nortos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: enet-icssg.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: lwipif-icssg-freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: lwipif-icssg-nortos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: lwip-freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: lwip-nortos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: lwip-contrib-freertos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: lwip-contrib-nortos.am64x.r5f.ti-arm-clang.release.lib ...
    Cleaning: mbedtls.am64x.r5f.ti-arm-clang.release.lib ...
    gmake: *** No rule to make target 'PROFILE-release'. Stop.

    C:\ti\mcu_plus_sdk_am64x_08_06_00_45>gmake -s libs PROFILE-release
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: eeprom/eeprom.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: eeprom/eeprom_at24c.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: ethphy/ethphy.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: ethphy/ethphy_dp83869.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: flash/flash.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: flash/ospi/flash_nor_ospi.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: led/led.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: led/led_gpio.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: led/led_tpic2810.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: led/led_ioexp.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: ioexp/ioexp_tca6424.c
    Compiling: board.am64x.r5f.ti-arm-clang.release.lib: flash/sfdp/nor_spi_sfdp.c
    .
    Archiving: board.am64x.r5f.ti-arm-clang.release.lib to lib/board.am64x.r5f.ti-arm-clang.release.lib ...
    Archiving: board.am64x.r5f.ti-arm-clang.release.lib Done !!!
    .
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: eeprom/eeprom.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: eeprom/eeprom_at24c.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: ethphy/ethphy.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: ethphy/ethphy_dp83869.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: flash/flash.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: flash/ospi/flash_nor_ospi.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: led/led.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: led/led_gpio.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: led/led_tpic2810.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: led/led_ioexp.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: ioexp/ioexp_tca6424.c
    Compiling: board.am64x.r5f.gcc-armv7.release.lib: flash/sfdp/nor_spi_sfdp.c
    .
    Archiving: board.am64x.r5f.gcc-armv7.release.lib to lib/board.am64x.r5f.gcc-armv7.release.lib ...
    Archiving: board.am64x.r5f.gcc-armv7.release.lib Done !!!
    .
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: eeprom/eeprom.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: eeprom/eeprom_at24c.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: flash/flash.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: flash/ospi/flash_nor_ospi.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: led/led.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: led/led_gpio.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: led/led_tpic2810.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: led/led_ioexp.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: ioexp/ioexp_tca6424.c
    Compiling: board.am64x.m4f.ti-arm-clang.release.lib: flash/sfdp/nor_spi_sfdp.c
    .
    Archiving: board.am64x.m4f.ti-arm-clang.release.lib to lib/board.am64x.m4f.ti-arm-clang.release.lib ...
    Archiving: board.am64x.m4f.ti-arm-clang.release.lib Done !!!
    .
    Compiling: board.am64x.a53.gcc-aarch64.release.lib: led/led.c
    process_begin: CreateProcess(NULL, C:/ti/gcc-arm-9.2-2019.12-mingw-w64-i686-aarch64-none-elf/bin/aarch64-none-elf-gcc -c -mcpu=cortex-a53+fp+simd -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wall -Werror -g -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -fdata-sections -ffunction-sections -O2 -IC:/ti/mcu_plus_sdk_am64x_08_06_00_45/source -DSOC_AM64X -MMD -MT led.obj -o obj/am64x/gcc-aarch64/release/a53/board//led.obj led/led.c, ...) failed.
    make (e=2): Das System kann die angegebene Datei nicht finden.
    makefile.am64x.a53.gcc-aarch64:88: recipe for target 'led.obj' failed
    gmake[2]: *** [led.obj] Error 2
    makefile.am64x:647: recipe for target 'board_a53.gcc-aarch64' failed
    gmake[1]: *** [board_a53.gcc-aarch64] Error 2
    makefile:59: recipe for target 'libs' failed
    gmake: *** [libs] Error 2

    And yes I already reinstalled the SDK. Still it throws me exceptions.

  • Hi Isaac,

    The patch didn't really work: 

    The build logs suggests you do not have the TI ARM CLANG v2.1.2 installed at the default location. Once installed at the default location, this build error should not come anymore.

    Actually, there is this following snippet in the `imports.mak` file used by MCU+ SDK which sets the path to be used for TI ARM CLANG.

    CGT_TI_ARM_CLANG_PATH=$(CCS_PATH)/tools/compiler/ti-cgt-armllvm_2.1.2.LTS
    ifeq ($(wildcard $(CGT_TI_ARM_CLANG_PATH)),)
        CGT_TI_ARM_CLANG_PATH=$(TOOLS_PATH)/ti-cgt-armllvm_2.1.2.LTS
    endif

    Here, we can see the MCU+ SDK first tries to find the TI ARM CLANG v2.1.2 in the CCS installation. However, since you are using CCS v1230 here which comes with TI ARM CLANG v2.1.3 so MCU+ SDK could not find it here. This resulted in MCU+ SDK setting the TI ARM CLANG to the default location. If the expected CCS v1210 was already installed, MCU+ SDK would have set the TI ARM CLANG path from the CCS installation.

    However installing CCS 11 and gave me similar errors:

    As explained above, why using the expected version resolves the error. Now, the A53 lib compilation fails because the required GCC compiler is most probably not installed at the default location.

    Please refer to the following Setup Guide from MCU+ SDK documentation to correctly setup the different tools including the GCC compiler installation to build libraries & examples for A53 cores.

    AM64x MCU+ SDK: Download, Install and Setup SDK and Tools (ti.com)

    Regards,

    Prashant