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.

"No Rule to Make Target" after upgrading TI-RTOS versions

Other Parts Discussed in Thread: SYSBIOS, TM4C123GH6PGE

Hi all,

I recently tried to upgrade TI-RTOS from 1.1 to 1.10. I ran into the issue where I needed to upgrade CCS 5.3 to 5.4, but after doing that I couldn't get it to recognize the new XDC Tools. Figuring it would be easier, I uninstalled all of CCS, all of TI-RTOS, and every TI package I could find, and started over with a blank slate. After I got CCS reinstalled, and was successful in having it recognize TI-RTOS 1.10 with the new XDC Tools, I figured I was all set.

I wasn't. When I updated the .cfg file in my application to use the new TI-RTOS and tried to rebuild, I got "XDC Runtime Error: Too Many Arguments" in the error pane. In the console, I see this output:

making ../src/sysbios.aem4f ...
gmake[1]: *** No rule to make target `BIOS.c', needed by `BIOS.obj'.
gmake[1]: *** No rule to make target `hal/Hwi.c', needed by `BIOS.obj'.
gmake[1]: *** No rule to make target `hal/Hwi_stack.c', needed by `BIOS.obj'.

This goes on. Basically, it doesn't seem to be able to build BIOS. I had a co-worker who did not have the upgrade problem check in his version of the code after he'd switched it over to use the new TI-RTOS, but with no effect - I still get the same errors. Any suggestions for why BIOS wouldn't be able to be built?

If it matters, I am building for a TM4C chip (formerly LM4F232H5QD), and I'm now on CCS 5.4, XDC Tools 3.25.0.48, and TI-RTOS 1.10.0.23.

  • Hi Ben,

    can you please post the full console log of when you're trying to build the project?

  • Hi Tom,

    Here's the full story.

    -Ben

    **** Build of configuration Debug for project <redacted> ****

    "C:\\CCS\\ccsv5\\utils\\bin\\gmake" -k all
    'Building file: ../app.cfg'
    'Invoking: XDCtools'
    "C:/CCS/xdctools_3_25_00_48/xs" --xdcpath="C:/CCS/ccsv5/ccs_base;C:/CCS/tirtos_1_10_00_23/packages;C:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages;C:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages;C:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages;C:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M4F -p ti.platforms.stellaris:TM4C123GH6PGE -r release -c "C:/CCS/ccsv5/tools/compiler/arm_5.0.4" --compileOptions "-g --optimize_with_debug" "../app.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring app.xem4f from package/cfg/app_pem4f.cfg ...
    clem4f package/cfg/app_pem4f.c ...
    'Finished building: ../app.cfg'
    ' '
    1 file(s) copied.
    making ../src/sysbios.aem4f ...
    gmake[1]: *** No rule to make target `BIOS.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `hal/Hwi.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `hal/Hwi_stack.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `hal/Hwi_startup.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `hal/Timer.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `hal/Cache.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `hal/CacheNull.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `knl/Clock.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `knl/Idle.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `knl/Intrinsics.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `knl/Queue.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `knl/Semaphore.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `knl/Swi.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `knl/Swi_andn.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `knl/Task.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `family/arm/m3/Hwi.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `family/arm/m3/TaskSupport.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `family/arm/lm3/TimestampProvider.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `family/arm/lm3/Timer.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `gates/GateHwi.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `gates/GateMutex.c', needed by `BIOS.obj'.
    gmake[1]: *** No rule to make target `family/arm/m3/Clobber_asm.sv7M', needed by `m3_Clobber_asm.obj'.
    gmake[1]: *** No rule to make target `family/arm/m3/IntrinsicsSupport_asm.sv7M', needed by `m3_IntrinsicsSupport_asm.obj'.
    gmake[1]: *** No rule to make target `family/arm/m3/TaskSupport_asm.sv7M', needed by `m3_TaskSupport_asm.obj'.
    gmake[1]: *** No rule to make target `family/arm/m3/Hwi_asm.sv7M', needed by `m3_Hwi_asm.obj'.
    gmake[1]: *** No rule to make target `family/arm/m3/Hwi_asm_switch.sv7M', needed by `m3_Hwi_asm_switch.obj'.
    gmake[1]: *** No rule to make target `family/arm/ducati/CTM_asm.sv7M', needed by `ducati_CTM_asm.obj'.
    gmake[1]: *** No rule to make target `family/arm/ducati/Core_asm.sv7M', needed by `ducati_Core_asm.obj'.
    gmake[1]: *** No rule to make target `family/arm/ducati/omap4430/Power_saveCpu.sv7M', needed by `omap4430_Power_saveCpu.obj'.
    gmake[1]: *** No rule to make target `family/arm/ducati/omap4430/Power_resumeCpu.sv7M', needed by `omap4430_Power_resumeCpu.obj'.
    gmake[1]: *** No rule to make target `family/arm/ducati/smp/Power_saveCpu.sv7M', needed by `smp_Power_saveCpu.obj'.
    gmake[1]: *** No rule to make target `family/arm/ducati/smp/Power_resumeCpu.sv7M', needed by `smp_Power_resumeCpu.obj'.
    gmake[1]: *** No rule to make target `timers/dmtimer/Timer_asm.sv7M', needed by `dmtimer_Timer_asm.obj'.
    gmake[1]: Target `all' not remade because of errors.
    gmake: *** [../src/sysbios.aem4f] Error 2
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

  • Ben,

    was this an existing SYS/BIOS or older TI-RTOS project? This is a strange error for me.

    Can you try to import and build an example from the TI Resource Explorer and make sure it builds? This would hopefully tell us if the issue lies with the installation or perhaps with a CCS project properties.

    Can you also post your .cfg file?

  • Tom: This was an existing project using TI-RTOS 1.1.

    The example code from the Resource Explorer seems to build ok. 

    Attached is my CFG file.1803.app.cfg

  • It's probably also worth noting that my co-worker, who managed to upgrade to CCS 5.4 and TI-RTOS 1.10 without issues does not see any problems building this project with the current configuration, and we are sharing that configuration via Subversion. When I build, subversion shows me that no changes have been made to the config, so in theory I'm still using the config that worked for my co-worker. 

  • Ben,

    there's nothing in the .cfg file that would be generating the error you're seeing.

    Can you send me a screenshot of your CCS project properties? In particular I'm interested in the highlighted content in the "RTSC" tab found under "General".

  • Tom,

    Please see the attached images.

    I notice that in my images, under Order, TARGET_CONTENT_BASE is at the top whereas in yours it is at the bottom. I took the liberty of making mine the same as yours, but this had no effect. I got the same errors.

    Thanks,

    Ben

  • Benjamin,
    if you clean and rebuild, are you getting the same error output in the console? After you clean, can you verify that the clean command succeeded, and that the directory 'src' in your project is empty?

  • Sasha,

    Yes, I get the same error output on a clean and rebuild.

    My 'src' directory is not empty after a Clean. It has the following:

    • A folder called 'sysbios' in this folder is
      • makefile
    • A file called '.exclude' which indicates that it exists to prevent C files there from being added to Eclipse/CDT
    • A file called makefile.libs which indicates that it is autogenerated based on app.cfg
    Based on your assertion that I'm supposed to verify it's empty, I cleaned my project again, closed CCS, deleted all of the above, and rebuilt. I verified before I rebuilt that upon opening CCS, those files don't get repopulated. Upon rebuild, I still get the error "XDC runtime error: too many arguments app.cfg /<project name> Configuration Validation XDCTools Configuration Marker"
    BUT it seems that it DOES build the project! It still marks it as red due to the XDC error, but the sources are all built now.
  • Benjamin,
    you can turn on the verbose configuro output if you go to Project Properties->CCS Build->XDCtools->Advanced Options, and turn on Show details during build. Then, you can post the complete command line that generates the error, so we can see which argument is a possible cause of the error. It could be some whitespace or a non-Ascii character.

    If there are no obvious hints in that command line, it may be quicker to save your sources including the CFG script (I guess you have them all in the version control already), delete the current project and start a new one.

  • Sasha,

    Below is the build output. I can't find the error output within this build, but there certainly is a lot more information output here.

    Does it look like there's anything wrong? I still get the error but I can't find the text of that error anywhere.

    -Ben

    "C:\\CCS\\ccsv5\\utils\\bin\\gmake" -k all
    'Building file: ../app.cfg'
    'Invoking: XDCtools'
    "C:/CCS/xdctools_3_25_00_48/xs" --xdcpath="C:/CCS/tirtos_1_10_00_23/packages;C:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages;C:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages;C:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages;C:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages;C:/CCS/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M4F -p ti.platforms.stellaris:TM4C123GH6PGE -r release -c "C:/CCS/ccsv5/tools/compiler/arm_5.0.4" --compileOptions "-g --optimize_with_debug" -v "../app.cfg"
    #
    # making package.mak (because of package.bld) ...
    C:/CCS/xdctools_3_25_00_48/xs -Dxdc.path="C:/CCS/tirtos_1_10_00_23/packages;C:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages;C:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages;C:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages;C:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages;C:/CCS/ccsv5/ccs_base;C:/CCS/xdctools_3_25_00_48/packages;.." -Dxdc.root=C:/CCS/xdctools_3_25_00_48 -Dxdc.hostOS=Windows -Dconfig.importPath=".;C:/CCS/tirtos_1_10_00_23/packages;C:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages;C:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages;C:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages;C:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages;C:/CCS/ccsv5/ccs_base;C:/CCS/xdctools_3_25_00_48/packages;..;C:/CCS/xdctools_3_25_00_48;C:/CCS/xdctools_3_25_00_48/etc" -Dxdc.bld.targets="" -DTOOLS= -f C:/CCS/xdctools_3_25_00_48/packages/xdc/bld/bld.js ./config.bld package.bld package.mak
    #
    # generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    C:/CCS/xdctools_3_25_00_48/xs -Dxdc.path="C:/CCS/tirtos_1_10_00_23/packages;C:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages;C:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages;C:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages;C:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages;C:/CCS/ccsv5/ccs_base;C:/CCS/xdctools_3_25_00_48/packages;.." -Dxdc.root=C:/CCS/xdctools_3_25_00_48 -Dxdc.hostOS=Windows -Dconfig.importPath=".;C:/CCS/tirtos_1_10_00_23/packages;C:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages;C:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages;C:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages;C:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages;C:/CCS/ccsv5/ccs_base;C:/CCS/xdctools_3_25_00_48/packages;..;C:/CCS/xdctools_3_25_00_48;C:/CCS/xdctools_3_25_00_48/etc" -Dxdc.bld.targets="" -DTOOLS= -f xdc/services/intern/cmd/build.xs -m package/package.xdc.dep -i package/package.xdc.inc package.xdc
    #
    # configuring app.xem4f from package/cfg/app_pem4f.cfg ...
    C:/CCS/xdctools_3_25_00_48/xs -Dxdc.path="C:/CCS/tirtos_1_10_00_23/packages;C:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages;C:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages;C:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages;C:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages;C:/CCS/ccsv5/ccs_base;C:/CCS/xdctools_3_25_00_48/packages;.." -Dxdc.root=C:/CCS/xdctools_3_25_00_48 -Dxdc.hostOS=Windows -Dconfig.importPath=".;C:/CCS/tirtos_1_10_00_23/packages;C:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages;C:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages;C:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages;C:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages;C:/CCS/ccsv5/ccs_base;C:/CCS/xdctools_3_25_00_48/packages;..;C:/CCS/xdctools_3_25_00_48;C:/CCS/xdctools_3_25_00_48/etc" -Dxdc.bld.targets="" -DTOOLS= xdc.cfg app.xem4f package/cfg/app_pem4f.cfg package/cfg/app_pem4f
    C:/CCS/xdctools_3_25_00_48/bin/sed 's"^\"\(package/cfg/app_pem4fcfg.cmd\)\""\"C:/Users/E9767100/Documents/ETI_SVN/DOE_Level2/software/firmware/SECBoard/Debug/configPkg/\1\""' package/cfg/app_pem4f.xdl > linker.cmd
    C:/CCS/xdctools_3_25_00_48/bin/rm -f package/cfg/app_pem4f.oem4f
    #
    # clem4f package/cfg/app_pem4f.c ...
    C:/CCS/ccsv5/tools/compiler/arm_5.0.4/bin/armcl -c -g --optimize_with_debug -qq -pdsw225 -ms --fp_mode=strict --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f --embed_inline_assembly -Dxdc_cfg__header__='configPkg/package/cfg/app_pem4f.h' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_5_0_4 -O2 -I. -IC:/CCS/tirtos_1_10_00_23/packages -IC:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages -IC:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages -IC:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages -IC:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages -IC:/CCS/ccsv5/ccs_base -IC:/CCS/xdctools_3_25_00_48/packages -I.. -IC:/CCS/ccsv5/tools/compiler/arm_5.0.4/include/rts -IC:/CCS/ccsv5/tools/compiler/arm_5.0.4/include -fs=./package/cfg -fr=./package/cfg -fc package/cfg/app_pem4f.c
    C:/CCS/xdctools_3_25_00_48/bin/mkdep -a package/cfg/app_pem4f.oem4f.dep -p package/cfg -s oem4f package/cfg/app_pem4f.c -C -g --optimize_with_debug -qq -pdsw225 -ms --fp_mode=strict --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f --embed_inline_assembly -Dxdc_cfg__header__='configPkg/package/cfg/app_pem4f.h' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_5_0_4 -O2 -I. -IC:/CCS/tirtos_1_10_00_23/packages -IC:/CCS/tirtos_1_10_00_23/products/bios_6_35_01_29/packages -IC:/CCS/tirtos_1_10_00_23/products/ipc_1_25_03_15/packages -IC:/CCS/tirtos_1_10_00_23/products/ndk_2_22_03_20/packages -IC:/CCS/tirtos_1_10_00_23/products/uia_1_03_00_02/packages -IC:/CCS/ccsv5/ccs_base -IC:/CCS/xdctools_3_25_00_48/packages -I.. -IC:/CCS/ccsv5/tools/compiler/arm_5.0.4/include/rts -IC:/CCS/ccsv5/tools/compiler/arm_5.0.4/include -fs=./package/cfg -fr=./package/cfg
    'Finished building: ../app.cfg'
    ' '

  • That looks just fine. The error could be a leftover from previous builds. Maybe, you can rightclick on the error and see if you can delete it.

  • The error is still there.

    It now displays (rather cryptically I feel) as:

    "package/cfg/app_pem4fcfg.cmd\)\ .xdchelp /<projectname> 0 C/C++ Problem"

    That's the entire text of the error, there's no message or "XDC Error" associated with it.

    Is there anything else I can provide which might help figure out where this is or solve it?

  • You don't need that option that shows up a verbose output, which I asked you to turn on in one of the previous posts. Turn it off, and that should take care of the error. It's just a bug in our error parser recognizing some extended output as an error.