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.

CCS/PROCESSOR-SDK-AM335X: RTOS setup issue

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Code Composer Studio

I started with a fresh directory (renamed my old C:\TI folder to something else)

I installed CCS 7.1, selecting only the Sitara devices.   (CCS7.1.0.00016_win32)  

I installed ti-processor-sdk-rtos-am335x-evm-04.00.00.04-Windows-x86-Install.exe

I start CCS, it detects the new packages and installs them.

I restart CCS and simply create a new project TI-RTOS | Typical example.  (  SYS/BIOS 6.46.5.55,  and 'Other repositories' ... ? and Platform ti.platforms.beaglebone )

I get an error:

"package/cfg/app_pea8fnv.c", line 18465: fatal error: #error directive: The package 'ti.sysbios.family.arm.a8.intcps' is not compatible with XDCtools used in this build. Please rebuild the package with XDCtools 3.50 or later.
1 error and 1 catastrophic error detected in the compilation of "package/cfg/app_pea8fnv.c".

After a lot of digging, apparently, I am supposed to use the OLD XDC tools.  I change it to XDC 3.32 (from 3.50).  Clean... rebuild.   It builds but now the config tool is broken.  100% of the time.  (On CCS 6.2, it was only broken 50% of the time - and I was told to upgrade to 7.1 because the problem was fixed ).  The error is in the "problems" window:

Wrapped xdc.services.spec.SessionRuntimeException: parser failed (pass 2) (C:/ti/xdctools_3_32_01_22_core/packages/xdc/tools/xgconf/configprovider/ConfigProvider.xs#616)	app.cfg	/BasicSample	Configuration Validation	XDCTools Configuration Marker

So, I can either not be able to build a project, or I can not be able to use the config tool, which everyone says I was crazy for trying to manage projects without it.

After further digging, I surmise that perhaps I should build the SDK.  But that fails as well.  Into C:\ti\processor_sdk_rtos_am335x_4_00_00_04>  I "setupenv".  It sets with

Optional parameter not configured : CG_XML_BIN_INSTALL_PATH
REQUIRED for xdc release build
Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin
Optional parameter not configured : DOXYGEN_INSTALL_PATH
REQUIRED for xdc release build
Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin
**************************************************************************
Environment Configuration:
    LIMIT_SOCS                : am335x
    LIMIT_BOARDS              : evmAM335x icev2AM335x bbbAM335x skAM335x
    PDK_INSTALL_PATH          : /ti/PDK_AM~1/packages
    C6X_GEN_INSTALL_PATH      : C:/ti/ti-cgt-c6000_8.1.3
    TOOLCHAIN_PATH_GCC        : C:/ti/gcc-arm-none-eabi-4_9-2015q3
    TOOLCHAIN_PATH_A15        : C:/ti/gcc-arm-none-eabi-4_9-2015q3
    TOOLCHAIN_PATH_A8         : C:/ti/gcc-arm-none-eabi-4_9-2015q3
    TOOLCHAIN_PATH_A9         : C:/ti/gcc-arm-none-eabi-4_9-2015q3
    TOOLCHAIN_PATH_M4         : C:/ti/ti-cgt-arm_16.9.2.LTS
    TOOLCHAIN_PATH_Arm9       : C:/ti/ti-cgt-arm_16.9.2.LTS
    TOOLCHAIN_PATH_EVE        : C:/ti/arp32_1.0.8
    CL_PRU_INSTALL_PATH       : C:/ti/ti-cgt-pru_2.1.5
    UTILS_INSTALL_DIR         : C:/ti/xdctools_3_32_01_22_core/bin
    FPULIB_PATH               : C:/ti/gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-n
one-eabi/4.9.3/fpu
    CROSS_TOOL_PRFX           : arm-none-eabi-
    XDC_INSTALL_PATH          : C:/ti/xdctools_3_32_01_22_core
    BIOS_INSTALL_PATH         : C:/ti/bios_6_46_05_55
    IPC_INSTALL_PATH          : C:/ti/ipc_3_46_00_02
    EDMA3LLD_BIOS6_INSTALLDIR : C:/ti/edma3_lld_2_12_04_28
    NDK_INSTALL_PATH          : C:/ti/ndk_2_25_01_11
    IMGLIB_INSTALL_PATH       : C:/ti/imglib_c66x_3_1_1_0
    DSPLIB_INSTALL_PATH       : C:/ti/dsplib_c66x_3_4_0_0
    MATHLIB_INSTALL_PATH      : C:/ti/mathlib_c66x_3_1_1_0
    UIA_INSTALL_PATH          : C:/ti/uia_2_00_06_52
    IPC_PLATFORM: UNKNOWN
    IPC_ALT_PLATFORM:
    PROC_SDK_INSTALL_PATH     : C:/ti/processor_sdk_rtos_am335x_4_00_00_04
**************************************************************************
Changing to short name to support directory names containing spaces
current directory: C:/ti/processor_sdk_rtos_am335x_4_00_00_04
PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED
**************************************************************************

(  Why is this set to my older XDC tools? )

I do gmake clean followed by gmake.  It starts running, for about 5 minutes (which is way too much output to post).  Eventually it crashes during the build with the following:

# Invoking configuro...
C:/ti/xdctools_3_32_01_22_core/bin/mkdir -p /ti/PDK_AM~1/packages/ti/binary
C:/ti/xdctools_3_32_01_22_core/xs --xdcpath="C:/ti/bios_6_46_05_55/packages;C:/t
i/xdctools_3_32_01_22_core/packages;C:/ti/edma3_lld_2_12_04_28/packages;C:/ti/nd
k_2_25_01_11/packages;/ti/PDK_AM~1/packages;" xdc.tools.configuro --generationOn
ly -o /ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/evmAM335x/a8host/release/p
m_rtos_app_configuro -t gnu.targets.arm.A8F -p "ti.platforms.evmAM3359" \
               -r release -c C:/ti/gcc-arm-none-eabi-4_9-2015q3 -b /ti/PDK_AM~1/
packages/ti/build/am335x/config_am335x_a8.bld --ol /ti/PDK_AM~1/packages/ti/bina
ry/pm_rtos_app/obj/evmAM335x/a8host/release/pm_rtos_app_configuro/linker_mod.cmd
 /ti/PDK_AM~1/packages/ti/drv/pm/examples/pmrtos/pm_a8.cfg
making package.mak (because of package.bld) ...
generating interfaces for package pm_rtos_app_configuro (because package/package
.xdc.inc is older than package.xdc) ...
configuring pm_a8.xa8fg from package/cfg/pm_a8_pa8fg.cfg ...
generating custom ti.sysbios library makefile ...
        System environment LIBDIR variable defined : ./lib
        Linking with library ti.drv.i2c:./lib/am335x/a8/release/ti.drv.i2c.aa8fg

        System environment LIBDIR variable defined : ./lib
        Linking with library ti.drv.uart:./lib/a8/release/ti.drv.uart.aa8fg
        System environment LIBDIR variable defined : ./lib
        Linking with library ti.board:./lib/evmAM335x/a8/release/ti.board.aa8fg
        System environment LIBDIR variable defined : ./lib
        Linking with library ti.csl:./lib/am335x/a8/release/ti.csl.aa8fg
        System environment LIBDIR variable defined : ./lib
        Linking with library ti.osal:./lib/tirtos/a8/release/ti.osal.aa8fg
Starting build of library sources ...
making C:/ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/evmAM335x/a8host/releas
e/pm_rtos_app_configuro/package/cfg/pm_a8_pa8fg.src/sysbios/sysbios.aa8fg ...
gmake[1]: Entering directory `C:/ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/
evmAM335x/a8host/release/pm_rtos_app_configuro/package/cfg/pm_a8_pa8fg.src/sysbi
os'
asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/IntrinsicsSupport_a
sm_gnu.asm ...
      4 [main] sh 13428 C:\ti\xdctools_3_32_01_22_core\bin\sh.exe: *** fatal err
or - fork: can't reserve memory for stack 0x29C780 - 0x2A0000, Win32 error 487
      4 [main] sh 13428 C:\ti\xdctools_3_32_01_22_core\bin\sh.exe: *** fatal err
or - fork: can't reserve memory for stack 0x29C780 - 0x2A0000, Win32 error 487

Can anyone point me to what is wrong?  This is 100,000's of lines into these packages that are supposed to work "right out of the box".  Is it because the build is happening with the old XDC 3.32?

When this error occurs, there are 10 child "gmake.exe" processing stalled, 8 child "sh.exe" processes stalled (and 1 xdc.exe, and 2 xs.exe).  Eventually, the cmd window starts spitting out messages like this

      6 [main] sh 11484 child_info::sync: wait failed, pid 13428, Win32 error 18
12
      6 [main] sh 11484 child_info::sync: wait failed, pid 13428, Win32 error 18
12
   3868 [main] sh 11484 fork: child -1 - died waiting for longjmp before initial
ization, retry 10, exit code 0x1000000, errno 11
   3868 [main] sh 11484 fork: child -1 - died waiting for longjmp before initial
ization, retry 10, exit code 0x1000000, errno 11
C:/Users/scott/AppData/Local/Temp/make8604-1.sh: Cannot fork: Resource temporari
ly unavailable
gmake[1]: *** [arm_IntrinsicsSupport_asm_gnu.o] Error 2
gmake[1]: Leaving directory `C:/ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/e
vmAM335x/a8host/release/pm_rtos_app_configuro/package/cfg/pm_a8_pa8fg.src/sysbio
s'
gmake: *** [C:/ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/evmAM335x/a8host/r
elease/pm_rtos_app_configuro/package/cfg/pm_a8_pa8fg.src/sysbios/sysbios.aa8fg]
Error 2

Can anyone help?  Tell me what to do to get these packages working?

-CSW

  • The RTOS team have been notified. They will respond here.
  • I hope so.
    The last "doesn't work right out of the box" post I asked was also a "RTOS team has been notified". Never got a reply. That was about 6 months ago.

    I tried changing the BAT file to point to the new XDC tools. Cleaned and tried again, but It then complained that it couldn't find a JRE of version 1.7 or greater. Is this a prerequisite? Where does it tell me to provide that? (I have a 64 bit JRE, but that's not where the script is looking for it.)

    And why did CCS 6.2 work? What JRE is it using?
    All I did was rename the directory, so I could install a newer version.

    -CSW
  • Can you post the link to this unanswered post?
  • Christopher,

    Let me try to help here.

    So, that I have the same environment as you, please let me know if I have anything below incorrect:

    - CCS v7.1
    - processor_sdk_rtos_am335x_4_00_00_04
    - You are just trying to build the package (gmake)?

    Lali
  • Lali,

    Yes.

    I just erased and am reinstalling, yet again. I see there is no uninstalled for "ti-processor-sdk-rtos-am335x-evm-04.00.00.04-Windows-x86-Install"   Only for CCS 7.1  the best I can do is simply delete all the folders.

    From a non-existent C:\ti folder, CCS created one...  

    I see that the RAW install of CCS7.1 already has two folders for XDC, and yet the sdk 4_00_00_04 is trying to reinstall version 3.32.  Here is the folder CCS 7.1 created, and the install selection for the "ti-processor-sdk-rtos-am335x-evm-04.00.00.04-Windows-x86-Install"

    I left all options checked.  At this stage, that is ALL I have installed.  When I tried to build a new sample, I got the errors shown in my post.

    Trying a complete erase and reinstall again...

    -CSW

  • Biser,
    I can't find it. About 3 weeks ago, I was looking through my old posts, and came across it. But now I can't locate it. It wasn't important, I don't even remember what it was.
    -CSW
  • Hi,

    Taking it from the top:  I install CCS 7.1 with only a few options:

       and 

    Everything installs ok.  Then I install the packages, as shown in the screen shot in my previous reply.  When I start CCS7, it see the packages, and gives me warning about unverified material.

    I install it anyway.  Then  New project:

    And the RTSC tools:

    I press OK, and build. I edit NO CODE.  I get 30 errors.

    I change the XDC to the old version

    And try again.  Now it builds, but crashes when opening up the config file.

    So, either way, I can't use it.

    So I went into the C:\ti\processor_sdk_rtos_am335x_4_00_00_04 folder to rebuild the RTOS.  Here is the environment setup...

    I run gmake clean, then gmake, and after a few minutes of building some things, I get these crashes:

    This should be everything you need to reproduce the problem.

    -CSW

  • Lali,
    Has there been any progress on this?
    -CSW
  • CSW,

    You are dealing with 2 different issue here.
    * Downgrading from XDCtools version from 3.50 to XDCtools 3.22
    * PM LLD example build issue seems to be a Windows Host issue where the cygwin utility is running out of stack when you invoke build on the entire package.


    The first issue with XDCtools 3.50 is known. when you create a project using XDCtools 3.50, then downgrading to XDCtools 3.22 will mess up the RTSC setup. My recommendation is to delete the XDCtools 3.50 that comes with CCSv7.1 unless you are using TI MCU products that require that version. Processor SDK RTOS has not updated to that version due to incompatibility with IPC and related components.

    If you don`t want to delete XDCtools 3.50 then the other option is to pay attention to the version when creating a TI RTOS Typical project in CCS. In the screenshot where you are picking the XDCtools version, you can pick XDCtools 3.22 from the drop down option. In the screenshot you provided your initial project generation is being done with XDCtools 3.50 and this is causing an issuing your first issue.


    I have seen the second issue on my older Windows machine when I invoked the build on the entire SDK package but didn`t see this issue when I locally build just individual components in the SDK. for example instead of gmake clean and gmake all , I invoke the build for individual components.

    For EG : to build board and bootloader, you can invoke:

    gmake board_clean
    gmake board_lib

    Similarly of PM LLD use

    gmake pm_clean
    gmake pm

    I was not able to root cause the stack error issue but it appears similar issue can be seen with other software as well as you can see from herE:
    stackoverflow.com/.../msysgit-fork-cant-reserve-memory-for-stack
    cygwin.com/.../msg00560.html
    e2e.ti.com/.../486268

    Regards,
    Rahul
  • Rahul,

    Thanks for the feedback.
    However, I have removed the XDC 3.50, and I also tried creating the project just plain with XDC 3.32. In both cases, the error occurs. It is as though CCS 7.1 is completely incapable of processing a cfg file with XDC 3.50.
    Is there anyway to prevent CCS 7.1 from even installing it?

    I will do another remove/install this weekend, and let you know the results. I've tried so many reinstalls/removes/changes, I've confused myself as to what I've done.

    As for running out of memory, ...? I have 16 gig of ram on this machine. It's a windows 7 Pro. The fact that I have a bunch of orphaned SH and gmake processes probably is just a process not closing and releasing properly. Do you thing this conflicting with an old Cygwin I have? (one I haven't used in years). I can remove it if you think that will solve it.

    You list a few examples of "individual components", however as a newbie to this eco-system, how many different packages would I have to build manually? Watching the build process scroll by, it seems like there are hundreds. I wouldn't mind manually do them, ( I might be able to create my own way to automate it in a C program :-) ) But how many are there? Where is a list of them? Should I just reverse engineer the make file ? (Not an enjoyable thought)

    I suppose it is not required to rebuild them if I can successfully use XDC 3.32. Is it?

    Last question, I am looking for an example BBB that will do a simple TCP process (echo, connect, etc). I haven't been able to find any. Do I need to build some "sub-projects" to get those examples? If so, what/where is that package?

    Thanks.
    -CSW
  • Rahul,

    I installed every known update to Windows 7.  I removed every piece of CCS 6.2 and 7.1 I could find.

    Then I installed CCS 7.1, and immediately removed XDC 3.50 directory.  Natually, it prompted me, telling me something was removed.

    Then I installed ti-processor-sdk-rtos-am335x-evm-04.00.00.04-Windows-x86-Install.  When I restarted, I had to delete the previous "workspace_7.2" folder, so it created a new one. Then it installed all the new packages.  I then created a new project and built it.

    However, under no conditions can I get CCS 7.1 to open the CFG file.  You can see below there is the error, and only XDC 3.32.

    Anything else I can try?

    -CSW

  • CSW,

    I tried creating a "typical example" with the environment settings you mentioned above and was able to do so without issues. It also built fine without problems opening the .cfg file in XGCONF.

    Here are some screenshots of my setup in CCS v7.1 using XDC tools 3.32.1.22

    Another approach you can take is to try and build the PDK examples as outlined here http://processors.wiki.ti.com/index.php/Rebuilding_The_PDK and try to import these RTOS examples into the CCS workspace. I saw that you were trying to find some Ethernet examples, so the PDK located at examples C:\ti\pdk_am335x_1_0_7\packages\MyExampleProjects has NIMU projects that would be of interest.

    Lali

  • Lali,

    Please see this post:
    e2e.ti.com/.../2241977

    I opened a new thread, so that it doesn't get confused with the "rebuilding the PDK", which also crashes, that I mentioned in this post.
    As that post indicates, the CFg tools don't work. At all.

    As for your recommendation to read processors.wiki.ti.com/.../Rebuilding_The_PDK , I was reading that, it was the instructions I was following to build the AM335x PDK, and is crashing. With the fork error.

    And, as indicated in the other thread/post, I bought a brand new drive, installed bare windows 7 on it, and installed CCS 7.1 and a PDK package. Not only does the CFG still not work (as this post also indciates) , but the steps to build the PDK are failing identically as well.

    From my test, that *removes* any possibility of conflicts with previous installations, or other environments because there was nothing on the new drive except Windows 7 ( no VS 2XXX, Android, NetBeans, MS Office, or anything else)

    -CSW
  • CSW,

    Thanks for posting the link to the other thread where John is helping out. Let's try to focus on the PDK build issue here for now.

    You might have already done these, but wanted to confirm:

    - Do you have the PDK and CCS installed at the default installation location C:ti\ ? If they were installed at another directory location, then the scripts would need to be adjusted as mentioned here http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Install_In_Custom_Path

    - On a Windows command prompt you navigated to C:\ti\pdk_am335x_1_0_7\packages\ and ran the command pdksetupenv.bat followed by pdkProjectCreate.bat AM335x all little all arm. Correct? 
    If all goes well there should be a new directory that appears with the example projects C:\ti\pdk_am335x_1_0_7\packages\MyExampleProjects.

    - What is the fork error you see? 

    - Do you have all the Processor SDK RTOS components registered in CCS as seen below?

    Lali

  • Lalindra Jayatilleke said:

    CSW,

    Thanks for posting the link to the other thread where John is helping out. Let's try to focus on the PDK build issue here for now.

    You might have already done these, but wanted to confirm:

    - Do you have the PDK and CCS installed at the default installation location C:ti\ ? If they were installed at another directory location, then the scripts would need to be adjusted as mentioned here http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Install_In_Custom_Path

    Everything is in "C:\TI"  

    Lalindra Jayatilleke said:

    - On a Windows command prompt you navigated to C:\ti\pdk_am335x_1_0_7\packages\ and ran the command pdksetupenv.bat followed by pdkProjectCreate.bat AM335x all little all arm. Correct? 
    If all goes well there should be a new directory that appears with the example projects C:\ti\pdk_am335x_1_0_7\packages\MyExampleProjects.

    I am following these steps:

    processors.wiki.ti.com/.../Rebuilding_The_PDK

    The folder with that batch file I ran is in "processor_sdk_rtos_am335x_4_00_00_04" . NOT the  "pdk_am335x_1_0_7"  I run pdksetupenv.bat  then gmake, and it fails after a while.

    I have run the batch file in C:\ti\pdk_am335x_1_0_7\packages and it builds to completion.

    But it does NOT complete when I call the build batch file in C:\ti\processor_sdk_rtos_am335x_4_00_00_04

    What is the difference between these folders?   I have no information on them.

    Lalindra Jayatilleke said:

    - What is the fork error you see? 


    As my post indicates,   I have this error:

    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/IntrinsicsSupport_a
    sm_gnu.asm ...
          4 [main] sh 13428 C:\ti\xdctools_3_32_01_22_core\bin\sh.exe: *** fatal err
    or - fork: can't reserve memory for stack 0x29C780 - 0x2A0000, Win32 error 487
          4 [main] sh 13428 C:\ti\xdctools_3_32_01_22_core\bin\sh.exe: *** fatal err
    or - fork: can't reserve memory for stack 0x29C780 - 0x2A0000, Win32 error 487

    Lalindra Jayatilleke said:

    - Do you have all the Processor SDK RTOS components registered in CCS as seen below?

    Here is my "installed products" screen. From your image, I do not have any of "omapl" products, and don't know if I need them, nor do I need the am437x.  If there are other things needed I don't know what they are.

    My ultimate goal is to build an NDK based project for the AM335x  BeagleBone.  Whenever I tried in 6.2, I had linker errors when adding the HTTP server, stating a missing NIMUDeviceTable... ?

    -CSW