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.

Compiler/TDA2PXEVM: Not able compile sources for A15 core alone.

Part Number: TDA2PXEVM
Other Parts Discussed in Thread: TDA2, SYSBIOS

Tool/software: TI C/C++ Compiler

Hi,

 I was not able to compile my sample sources file which is part of an Vision_SDK module for A15 core.

Changes Made:

  1. As Posix support is only there for A15 core added
    var Settings = xdc.useModule('ti.sysbios.posix.Settings');
    Settings.supportsMutexPriority = true;

    in links_fw/src/rtos/bios_app_common/tda2px/a15_0/a15_0.cfg file.
  2. Made "PROC_A15_0_INCLUDE=yes" under "cfg.mk" file in source/vision/platform/ti/tda2/apps/configs/MakeConfig directory
  3. Made the changes under SRC_FILES.MK fie “SRCS_a15_0 += Sample.c

 

With the above changes in place I do see the Sample.c file is not getting compiled.

 

By reverting the changes under SRC_FILES.MK file to “SRCS_IPU1_0 += Sample.c” the source file is being compiled.

 Could you please let me know what other changes to be made to get the sources compiled for SRCS_a15_0 ?

 

  • Hi Ramesh,

    Are you building OpenCV? What is the MAKECONFIG you are using?

    Regards,
    Rishabh
  • Hi Rishabh,

    I am not building an OpenCV.
    To be more precise, I am trying to build an sample application under module section which will be using POSIX related headers and features.
    In turn I will be making a call to module layer from Usecase section.

    To make it simple I created a module by name Sample under module section and tried to compile the source file with below tag. "SRCS_a15_0 += Sample.c"

    Made sure to include SRC_FILES.MK file under "source/vision/platform/ti/tda2/apps/Makefile".

    Coming to MAKEConfig we have created a new configuration by referring to "tda2px_evm_bios_all" and cfg.mk file varies by minute difference(like change in VSDK_BOARD_TYPE ) and uc_cfg.mk has got all the required usecase are set to Yes as per need(per configuration selection)
  • Hi Ramesh,

    tda2px_evm_bios_all is already defined as MAKECONFIG. Can you use a new name?
    I would suggest you to talk with Abhay Sorte/Amol Kulkarni from your company who have been working on VSDK for more than an year now.

    Regards,
    Rishabh
  • HI Rishabh,

    I meant cfg.mk files are been copied/updated by referring to "tda2px_evm_bios_all" directory under config folder.
    The MAKECONFIG in my case is "harman_proto_A_bios" which uses VISION SDK BOARD TYPE to "HARMAN_TDA2PX_PROTO_A".

    I got to know that Amol is no more working for Harman.
    Please let me know if you need more details about the query.
  • Hi Ramesh,

    Can you provide full path to "source/vision/platform/ti/tda2/apps/configs/MakeConfig" directory you have referred to in your question.
    Also Abhay is still working with your company so you might want to check with him on this.

    Regards,
    Rishabh
  • Hi Rishabh,

    This is the complete directory path were MakeConfig(harman_proto_A_bios) refers to:

    /opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/configs/harman_proto_A_bios

    FFC_WORKSPACE is the directory were in we have synced code.

  • Hi Ramesh,

    It seems that you have a different build system.
    I am not aware of Harman's project and directory structure.
    Please ask TI FAEs for further help on this.

    Regards,
    Rishabh
  • Hi Rishabh,

    On the other hand I have got couple of question regarding porting Linux Application on to Vision SDK framework for which I request you to provide your inputs on it.

    1. We have got an Linux application say Sample(which is designed and working for Linux platform) which is not complete POSIX compliant but has got support for most of the POSIX features in it. Namely
    • Pthread,
    • Semphores,
    • Sockets,
    • FileSystem calls
      • File(OPEN …), Directory(MKDIR…) and Link(UNLINK..) operations
      • Basic(CHMOD,UMASK…) file attributes
      • File descriptor(FCNTL..) manipulations
      • Read/Write(READ,WIRTE..) operations
      • Synchronized(SYNC,FSYNC..), Asynchronous(IO_SETUP,IO_DESTROY..) and Multiplexed(SELECT,EPOLL…) I/O
      • Monitoring(INOTIFY_INIT) file events and
      • FIFO(mkfifo..) operations
    • IPC communications(Shared memory).

     

    As SYBIOS provides pthread support for A15 core and also NDK(Yet to explore) is built for A15 we were trying to compile/build our Linux application(Sample) for A15 core alone on Vision SDK framework.

    Are we on the right direction? Do you foresee any issues with it?

    Recent conversation with TI Engineer states we need to Port Linux on to A15 core? Does it mean porting complete Linux platform on to A15 core and post to which we should start porting our Sample on to A15?

           As mentioned Linux application Sample has got FileSystem calls in place. Do we have support for FileSystem on SYSBIOS? If So, how could we make use of it or do we need to look for corresponding alternatives in it?

    1. And Sample being the server component, there are the other application which communicates to Sample via Sockets or through PIPES or any file based operations. Being Sample built for A15 core, does the other applications which has to communicate to Sample should also be built for A15?

    Request you to pour in your inputs/thoughts on it.

  • Hi Ramesh,

    This thread is regarding the Vision SDK build issue.
    TI engineer will get in touch with you early next week to help you on the same.
    Kindly post questions on any other topic in a new thread.

    Regards,
    Rishabh
  • Hi Ramesh,

    Please find your answer below

    We have got an Linux application say Sample(which is designed and working for Linux platform) which is not complete POSIX compliant but has got support for most of the POSIX features in it. Namely
    ------> If whatever is Supported by POSIX and FATFS filesystem with linux is Supported for VSDK running linux on A15 also.

    Are we on the right direction? Do you foresee any issues with it?
    -----> As of now i can not see any issue.

    Recent conversation with TI Engineer states we need to Port Linux on to A15 core? Does it mean porting complete Linux platform on to A15 core and post to which we should start porting our Sample on to A15?
    ------->Please refer to the linux userguide available with VSDK.

    As mentioned Linux application Sample has got FileSystem calls in place. Do we have support for FileSystem on SYSBIOS? If So, how could we make use of it or do we need to look for corresponding alternatives in it?
    ------->If A15 runs linux then all the control will be provided to linux only so sysbios will not be controlling filesystem.

    And Sample being the server component, there are the other application which communicates to Sample via Sockets or through PIPES or any file based operations. Being Sample built for A15 core, does the other applications which has to communicate to Sample should also be built for A15?
    ----> If the other compnonent uses filesystem calls or socket or anything related to linix then it should be running on A15 only.
    If you want to run it on other cores then you can use IPC communication but you will not be able to use socket.

    Regards,
    Anuj
  • Hi Anuj,

    Thanks alot for your responses.

    I will refer to linux userguide available with VSDK and will try to compile the sources as suggestion provided under Linux userguide and will get back to you If I face any issues with it.

    Pradeep
  • Hi Anuj,

    Btw when I try to compile the sources for "tda2px_evm_linux_all" I do face the below mentioned compiler issues?

    /tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c
    "/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c", line 66: error: excess initializers are ignored
    "/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c", line 86: error: excess initializers are ignored
    2 errors detected in the compilation of "/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c".

    >> Compilation failure
    make[5]: *** [/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_linux_all/obj/iss_libs/tda2px-evm/ipu2/release/iss_sensor_ar0220.oem4] Error 1
    make[5]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss'

    When I make "ISS_INCLUDE=no" under "tda2px_evm_linux_all\cfg,mk" file compiler errors vanishes but it is resulting in Linker issues.

    Could you please let me know what could be possible reasons for it.
  • Hi Ramesh,

    Which version SDK are you using?
    As there is no sessor ar0220. So i can not check that.
    This type of error comes when you try to initialize an array wrongly.

    Suppose you have an array of 5 element and you are initializing its 6 elements.
    Array[5] = {0,1,2,3,4,5};

    Please google this error.

    Regards,
    Anuj
  • Hi Anuj,

    We don't run linux on A15 core. All the cores including A15 runs on SYSBIOS. So, I will not able to follow the steps suggested under Vision SDK LinuxUser and Development guides.

    Apologies if it created the confusion..

    AS Posix support is only there for A15 core.
    I had added below changes to links_fw/src/rtos/bios_app_common/tda2px/a15_0/a15_0.cfg file
    var Settings = xdc.useModule('ti.sysbios.posix.Settings');
    Settings.supportsMutexPriority = true;

    With above changes in place, trying to compile the sources for A15 core alone by specifiyng sources files under "SRCS_a15_0" in SRC_FILES.MK but source files doesn't get compiled.

    As our organization repo structure is bit different were in we created new config.
    To replicate the behavior I was trying to compile the sources on A15 core for "tda2px_evm_bios_all" which was not successfull it resulted in below mentioned compiler errors, with which I was not able to confirm is my sources are compiled for A15 or not.

    "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c", line 66: error: excess initializers are ignored
    "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c", line 86: error: excess initializers are ignored
    2 errors detected in the compilation of "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c".

    and I am using "PROCESSOR_SDK_VISION_03_03_00_00" version for compiling the sources.

    Pradeep
  • Hi Pradeep,

    Did you check the excess initializers as mentioned in error messages?
    Also can you try specifying the file along with path in SRC_FILES.MK.

    Regards,
    Rishabh
  • Hi Rishabh,

    Post increasing the array sizes under
    source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/iss_sensor_serdes.h

    //#define AR0220_CSI2_DES_CFG_SIZE (8U)
    //#define AR0220_CSI2_SER_CFG_SIZE (2U)
    to
    #define AR0220_CSI2_DES_CFG_SIZE (21U)
    #define AR0220_CSI2_SER_CFG_SIZE (8U) as per the current logic in iss_sensor_ar0220.c

    compiler errors been resolved, but the sample source file for A15 is not being compiled.

    Tried by providing the relative path of source file as
    SRCS_a15_0 += /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/modules/LibDLT/dlt_user.c
    in SRC_FILES.MK file, but no luck.
    I made sure SRC_FILES.MK is being invoked.(cross checked it by adding some invalid statements in .MK file which resulted in Missing separator compiler issues)

    Pradeep
  • Hi Pradeep,

    Have you included SRCDIR?
    To see how the source code is built for A15_0 please refer to PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\apps\src\rtos\alg_plugins\safe_framecopy\SRC_FILES.MK.

    Regards,
    Rishabh
  • Hi Rishabh,

    I have included SRCDIR under SRC_FILES.MK file. Here is the copy of SRC_FILES.MK file

    --------------
    SRCDIR += $($(MAKEAPPNAME)_PATH)/src/rtos/modules/LibDLT


    LibDLT_SRCS = \
    dlt_user.c

    #SRCS_ipu1_0 += $(LibDLT_SRCS)
    #SRCS_a15_0 += $(LibDLT_SRCS)
    SRCS_a15_0 += /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/modules/LibDLT/dlt_user.c
    --------------------------
    As per suggestion provided complete path of dlt_user.c under SRC_a15_0 to check the behavior.

    Please note by Enabling SRCS_ipu1_0 alone I could see the source file is getting compiled, but having/enabling "SRCS_a15_0" alone sources doesn't seem to compile. Did I miss any config changes which should have been taken care for A15 compilation.

    Pradeep
  • Hi Pradeep,

    Have you included A15 in your build configuration? Can you try SRCS_COMMON instead of SRCS_a15_0.

    Regards,
    Rishabh
  • Hi Rishabh,

    For Have you included A15 in your build configuration?
    Do you mean this change "PROC_A15_0_INCLUDE=yes" under configs/tda2px_evm_bios_all/cfg.mk file ?
    This change was present, let me know if anything else has to be taken care from my end.

    The sources are getting compiled when I specify it under "SRCS_COMMON".
    Build the sources for SRCS_COMMON is it building for "SRCS_a15_0"?

    Pradeep
  • Hi Pradeep,

    Yes "PROC_A15_0_INCLUDE=yes" means A15 is included.
    Do you see file getting compiled for A15 when specified under SRCS_COMMON?
    It will be really strange if that is the case.
    Can you share the full log when you build with file under SRCS_COMMON.

    Regards,
    Rishabh
  • Hi Rishabh,

    I could see sources are getting compiled when specifiying it under SRCS_COMMON and with "PROC_A15_0_INCLUDE=yes" along with Other cores under configs/tda2px_evm_bios_all/cfg.mk file.
    0486.out.txt
    PROC_IPU1_0_INCLUDE=yes
    PROC_IPU1_1_INCLUDE=yes
    PROC_IPU2_INCLUDE=no
    PROC_A15_0_INCLUDE=yes
    PROC_DSP1_INCLUDE=yes
    PROC_DSP2_INCLUDE=yes
    PROC_EVE1_INCLUDE=yes
    PROC_EVE2_INCLUDE=yes

    I am not confident to answer is it compiled for A15 or not.

    Here is the logfile which got generated when sources got compiled with SRCS_COMMON with above changes.

    Please refer to attachment out.txt for complete details..

    pradeep@yoctoadm:/opt/vision_sdk/FFC/FFC_WORKSPACE/scripts$ bash build_vision_sdk.sh > out.txt
    mkdir: cannot create directory ‘/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/include/config’: File exists
    mkdir: cannot create directory ‘/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/include/config/apps’: File exists
    mkdir: cannot create directory ‘/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/include/config/apps/tda2px_evm_bios_all’: File exists
    make[3]: warning: -jN forced in submake: disabling jobserver mode.
    make[3]: warning: -jN forced in submake: disabling jobserver mode.
    make[3]: warning: -jN forced in submake: disabling jobserver mode.
    make[3]: warning: -jN forced in submake: disabling jobserver mode.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/drivers/pdk_01_09_00_17/packages/ti/build/makerules/rules_ti_cgt_arm.mk:150: target `package/all/cslr_mcan.h' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/drivers/pdk_01_09_00_17/packages/ti/build/makerules/rules_66.mk:180: target `package/all/cslr_mcan.h' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/drivers/pdk_01_09_00_17/packages/ti/build/makerules/rules_arp32.mk:112: target `package/all/cslr_mcan.h' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/drivers/pdk_01_09_00_17/packages/ti/build/makerules/rules_a15.mk:149: target `package/all/cslr_mcan.h' given more than once in the same rule.
    make[3]: warning: -jN forced in submake: disabling jobserver mode.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build/rtos/makerules/rules_66.mk:181: target `/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/obj/app_alg_plugins/tda2px-evm/66/release/GAlignLUT_tda3xx.oe66' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build/rtos/makerules/rules_66.mk:181: target `/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/obj/app_alg_plugins/tda2px-evm/66/release/GAlignExt_tda3xx.oe66' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build/rtos/makerules/rules_66.mk:181: target `/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/obj/app_alg_plugins/tda2px-evm/66/release/GAlignLUT_tda3xx.oe66' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build/rtos/makerules/rules_66.mk:181: target `/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/obj/app_alg_plugins/tda2px-evm/66/release/GAlignExt_tda3xx.oe66' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build/rtos/makerules/rules_m4.mk:172: target `/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/obj/app_libs/tda2px-evm/ipu1_0/release/chains_TestUsecase.oem4' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build/rtos/makerules/rules_m4.mk:172: target `/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/obj/app_libs/tda2px-evm/ipu1_0/release/chains_TestUsecase_priv.oem4' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build/rtos/makerules/rules_m4.mk:172: target `/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/obj/app_libs/tda2px-evm/ipu1_0/release/chains_TestUsecase.oem4' given more than once in the same rule.
    /opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build/rtos/makerules/rules_m4.mk:172: target `/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/obj/app_libs/tda2px-evm/ipu1_0/release/chains_TestUsecase_priv.oem4' given more than once in the same rule.
    "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/eve1/linker_cmd_eve1_release.cmd", line 7: warning:
       no matching section
    "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/eve1/linker_cmd_eve1_release.cmd", line 8: warning:
       no matching section
    "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/eve1/linker_cmd_eve1_release.cmd", line 13: warning:
       no matching section
    "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/eve2/linker_cmd_eve2_release.cmd", line 7: warning:
       no matching section
    "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/eve2/linker_cmd_eve2_release.cmd", line 8: warning:
       no matching section
    "/opt/vision_sdk/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/eve2/linker_cmd_eve2_release.cmd", line 13: warning:
       no matching section
    pradeep@yoctoadm:/opt/vision_sdk/FFC/FFC_WORKSPACE/scripts$

  • Compiling_Module_file_for_a15.txt
    diff --git a/apps/MAKEFILE.MK b/apps/MAKEFILE.MK
    index f9b9aae..ff87432 100755
    --- a/apps/MAKEFILE.MK
    +++ b/apps/MAKEFILE.MK
    @@ -7,8 +7,9 @@ APP_LIBS_$(IPU_PRIMARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_PRIMARY_CORE)
     APP_LIBS_ipu1_1 = $(DEST_ROOT)/lib/$(PLATFORM)/m4/$(PROFILE_ipu1_1)/app_alg_plugins.aem4
     APP_LIBS_$(IPU_SECONDARY_CORE) = $(DEST_ROOT)/lib/$(PLATFORM)/m4/$(PROFILE_$(IPU_SECONDARY_CORE))/app_alg_plugins.aem4
     ifeq ($(AUTOSAR_APP), yes)
    -APP_LIBS_$(IPU_SECONDARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_SECONDARY_CORE)/$(PROFILE_$(IPU_SECONDARY_CORE))/app_libs.aem4
    +APP_LIBS_$(IPU_SECONDARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_SECONDARY_CORE)/$(PROFILE_a15_0)/app_libs.aa15fg
     endif
    +APP_LIBS_a15_0 += $(DEST_ROOT)/lib/$(PLATFORM)/a15/$(PROFILE_$(IPU_SECONDARY_CORE))/app_libs.aem4
     APP_LIBS_c66xdsp_1 = $(DEST_ROOT)/lib/$(PLATFORM)/66/$(PROFILE_c66xdsp_1)/app_alg_plugins.ae66
     APP_LIBS_c66xdsp_2 = $(DEST_ROOT)/lib/$(PLATFORM)/66/$(PROFILE_c66xdsp_2)/app_alg_plugins.ae66
     APP_LIBS_arp32_1 = $(DEST_ROOT)/lib/$(PLATFORM)/arp32/$(PROFILE_arp32_1)/app_alg_plugins.aearp32F
    @@ -295,6 +296,14 @@ endif
     endif
     endif
     
    +ifeq ($(PROC_A15_0_BUILD_INCLUDE),yes)
    +ifeq ($(PROC_A15_0_INCLUDE),yes)
    +ifeq ($(A15_TARGET_OS),Bios)
    +	$(MAKE) -C $($(MAKEAPPNAME)_PATH) CORE=a15_0 $(TARGET)
    +endif
    +endif
    +endif
    +
     apps:
     	$(MAKE) -fMAKEFILE.MK -C $(vision_sdk_PATH)/links_fw/src/rtos apps
     
    diff --git a/apps/Makefile b/apps/Makefile
    index 033b932..04edb0f 100755
    --- a/apps/Makefile
    +++ b/apps/Makefile
    @@ -42,6 +42,7 @@ endif
     -include $(MODULE_SRC_BASE_PATH)/rtos/common/SRC_FILES.MK
     -include $(MODULE_SRC_BASE_PATH)/rtos/board/SRC_FILES.MK
     -include $(MODULE_SRC_BASE_PATH)/rtos/modules/grpxSrc/SRC_FILES.MK
    +-include $(MODULE_SRC_BASE_PATH)/rtos/modules/abc/SRC_FILES.MK
     ifeq ($(AUTOSAR_APP), yes)
     -include $(MODULE_SRC_BASE_PATH)/rtos/modules/autosar_ipcOut/SRC_FILES.MK
     -include $(MODULE_SRC_BASE_PATH)/rtos/modules/autosar_ipcIn/SRC_FILES.MK
    
    Hi Pradeep,

    Compiling any file placed inside module folder is currently not supported by SDK but its possible to do that.

    We just did not done this as all modules runs on IPU cores, so we build all modules only for IPU cores.

    You mentioned that you are running bios on A15 but your module uses linux calls, so even if you will be able to start compiling your file, you will get compiling error and also in your previous post you asked some queries which i have answered assuming the fact that you run linux on A15.

    If you are running bios on A15 then all those answer does not hold true.

    So you have to try with tda2px_evm_linux_all cfg.

    For compiling any file under modules folder for a15 core please apply the attached patch

    NOTE: This patch is done w.r.t the latest SDK and the module name is "abc"

    Regards,

    Anuj

  • Hi Pradeep,

    Yes the file is getting compiled for A15_0 in this case.
    Can you share log in case when you have specified it under SRCS_a15_0.

    Regards,
    Rishabh
  • Hi Pradeep,

    Please ignore my previous reply.
    I missed your reply where you have mentioned the actual file name.
    I thought you are trying to compile sample file as given in the original question.
    Kindly follow instructions given by Anuj.

    Regards,
    Rishabh
  • Hi Anuj,

    With the help of the patch we could compile the sources for A15 core both in module as well as in usecase.

    The MAKEFILE.MK file what we have at our end doesn't contain anything related to "AUTOSAR_APP". So, I haven't included those changes.
    ifeq ($(AUTOSAR_APP), yes)
    -APP_LIBS_$(IPU_SECONDARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_SECONDARY_CORE)/$(PROFILE_$(IPU_SECONDARY_CORE))/app_libs.aem4
    +APP_LIBS_$(IPU_SECONDARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_SECONDARY_CORE)/$(PROFILE_a15_0)/app_libs.aa15fg
    endif
    For your reference we are using below version of SDK "PROCESSOR_SDK_VISION_03_03_00_00"

    You mentioned that you are running bios on A15 but your module uses linux calls......
    Yeah, but can't we not overcome those compiler errors ?redefinition errors being

    ----------------------

    /opt/V_SDK/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/ti/sysbios/posix/mqueue.h:63:0: error: "O_CREAT" redefined [-Werror]

    #define O_CREAT         0x200   /* TODO: sys/fcntl.h? */^

    In file included from /opt/V_SDK/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include/sys/fcntl.h:4:0,

    from /opt/V_SDK/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include/fcntl.h:1,

               from /opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/modules/LibDLT/dlt_user.c:43:

    /opt/V_SDK/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include/sys/_default_fcntl.h:37:0: note: this is the location of the previous definition

    #define O_CREAT  _FCREAT

    ^

    -----------------------------

    If you are running bios on A15 then all those answer does not hold true....
    Yeah, I understand the answer doesn't hold true if either SYSBIOS runs of A15.

    Having it in mind I would like re-iterate the set of queries to proceed further.

    As Pthread support is available for A15, building pthread application for SYSBIOS would still be possible?

    As mentioned our application had got sockets and FILESystem calls in place, Do we have support for FileSystem and sockets on SYSBIOS? If So, how could we make use of it or do we need to look for corresponding alternatives in it?

    And having said Sample being the server component, there are the other applications which communicates to Sample via Sockets or through PIPES or any file based operations. Being Sample built for A15 core, does the other applications which has to communicate to Sample should also be built for A15?or IPC(shared memory) mechanism suggested still holds good for communication?


    So you have to try with tda2px_evm_linux_all cfg....
    Could please elaborate on it, what excatly should be considered from tda2px_evm_linux_all cfg.file reason being tda2px_evm_linux_all cfg.file had got A15_TARGET_OS to Linux.

    Pradeep

  • Hi Pradeep,

    Can you specify what exactly you are trying to do?

    Regards,
    Rishabh
  • Hi Rishabh,

    To be more specific we are trying to port DLT_DAEMON(which is a logging framework) were in other components/applications use dlt interfaces to log the data to DLT-DAEMON
    via pipes or shared memory, and DLT-Daemon would route the data to client which runs on host machine using sockets.

    so, in order to acheive that we are trying to port DLT to SYSBIOS using vision SDK.

    Pradeep

  • Hi Pradeep,

    SYSBIOS is not compliant to DLT or POSIX/PThread framework.
    There will be multiple queries that you will have while doing the above.
    I will suggest you to post specific queries in a new thread, one or two queries at a time while you are building the application.
    You can close this thread as the build issue for A15 has been resolved.

    Regards,
    Rishabh
  • Hi Rishabh,

    I totally agree with you. I can close this thread as A15 build issues been resolved.
    The reason to post all my queries on the same thread being as you and Anuj are completely aware of my problem statement. Want to avoid confusion to other TI engineers by posting it
    on other thread.

    I will be creating the other thread for compiler issues listed above along with queries asked by me related to porting.

    Pradeep
  • Hi Pradeep,

    Kindly mark the posts that helped in resolving you issue as "This resolved my issue" and close the thread.

    Regards,
    Rishabh
  • With the provided patch we could able to compile the sources for A15.