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.

enetLwip_sysbios does not build: httpd.c and lwiplib.c missing

Other Parts Discussed in Thread: SYSBIOS

Hi,

I imported the project enetLwip_sysbios from the C:\Pr\TI\am335x_sysbios_ind_sdk_1.1.0.4\sdk\examples folder (the industrial SDK).

After migrating the project 
   from XDCtools 3.23.3.53              to             XDCtools v.3.30.3.47_core
   and from SYS/BIOS 6.33.5.46      to            6.40.2.27 
   and from compiler TIv4.9.1           to            TIv5.1.7
I had to change the platform in the properties->CCS General->RTSC tab.
Then ti.platforms.evmAM3359 was selected (even though my board is a BBB).

A build then leads to the following 2 error messages

   gmake: *** No rule to make target `E:/EmbeddedArtists/starterware/third_party/lwip-1.4.0/apps/httpserver_raw/httpd.c',                      needed by `httpd.obj'.
                     enetLwip_sysbios Unknown C/C++ Problem

gmake: *** No rule to make target `E:/EmbeddedArtists/starterware/third_party/lwip-1.4.0/ports/cpsw/lwiplib.c',                                     needed by `lwiplib.obj'.

                    enetLwip_sysbios Unknown C/C++ Problem

and the warning
   "This project contains unresolved buildable linked resources. It might not build as expected."


Obviously the files httpd.c and lwiplib.c cannot be found.
On my machine Starterware is installed in a different place (at \Pr\TI\am335x_sysbios_ind_sdk_1.1.0.4\sdk\starterware).

It looks like a problem with a file search path, but in the project properties I can't  find anything wrong.

What would I have to do to have the project built properly?

Can anybody give a hint?

Regards,

Martin H.

  • Right clicking httpd.c in the project explorer, then choosing Properties->Resource shows that 'Location' is completely wrong. When I replace the path, the file can be opened and the project builds without errors (but still 3 warnings).  Using a construction like "${SYSBIOS_WURZEL}\starterware\third_party\lwip-1.4.0\apps\httpserver_raw\httpd.c" does not work.

    But a File Search still comes up with the message "File not found: E:\third_party\lwip-1.4.0\ports\cpsw\lwiplib.c",  i.e. the path is still incorrect.

    A project refresh does not help.

    Martin H.

  • The error has gone. Most likely because of running CCS with the -clear parameter.

    I once again imported the project enetLwip_sysbios.

    The errors
    gmake: *** No rule to make target `E:/EmbeddedArtists/starterware/third_party/lwip-1.4.0/apps/httpserver_raw/httpd.c', needed by `httpd.obj'.

    and
    gmake: *** No rule to make target `E:/EmbeddedArtists/starterware/third_party/lwip-1.4.0/ports/cpsw/lwiplib.c', needed by `lwiplib.obj'.
    remain.

    The include search path for the compiler
           "${IA_SDK_HOME}/starterware/third_party/lwip-1.4.0/apps/httpserver_raw"
    points to the directory where httpd.c is located (but as this path most likely is meant for header files it should not matter).

    Anyway, again lwip.c and httpd.c cannot be opened in CCS6 as the location is something like
           PROJECT_LOC\..\..\starterware\third_party\lwip-1.4.0\apps\httpserver_raw\httpd.c
    and this path is incorrect if SYSBIOS is installed on another drive.


    Did anybody manage to import the project enetLwip_sysbios without errors and warnings?
    Warnings, because even after correcting the path there are still  3 warnings like
    #238-D controlling expression is constant
    which come from the macro LWIP_ASSERT() (and perhaps a missing definition of DEBUG).

    Thank you.

    Martin H.

  • Martin,

    Please find the software requirements of ISDK 1.1.0.5 here - http://processors.wiki.ti.com/index.php/AM335x_SYSBIOS_Industrial_SDK_Getting_Started_Guide#Software_.C2.A0.C2.A0

    Regards,
    Vinesh

  • Vinesh,

    thanks for replying.

    I once again installed CCSv6, Starterware, SYSBIOS, NDK, RTOS, this time to c:\ti.

    But the problem remains.

    The include path for libraries still contains constructs like "../../../../../../../binary/armv7a/cgt_ccs/am335x/system_config/${ConfigName}/system.lib", where ../../../../../../../ should be the path to StarterWare. So far I replaced it by something like ${SW_WURZEL}/...

    My guess is that something is wrong with my settings.

    When a project from the ICE SDK is imported, ${IA_SDK_HOME} is used to create the path. That looks better.

    But it still comes up with errors like this:

    gmake: *** No rule to make target `C:/starterware/third_party/lwip-1.4.0/apps/httpserver_raw/httpd.c', needed by `httpd.obj'. enetLwip_sysbios

    I.e. once again the path is incorrect.

    Martin H.

  • Martin,

    Are you trying to mix up standalone Starterware and the starterware packaged with ISDK? That wouldn't work. ISDK examples requires to be linked to the Starterware packaged along with SDK.

    Regards,
    Vinesh

  • Vinesh,


    no I am not.

    What I mentioned were 2 different examples:

    - enetEcho from the standalone package; folder c:\ti\AM335X_StarterWare_02_00_01_01)  and

    - enetLwip_sysbios from ISDK (C:\ti\am335x_sysbios_ind_sdk_1.1.0.4).

    I always take care not to mix sources.

    When you imported a project, could you open all your source files right after having imported them? Does the project compile whithout errors? And did you copy the project files or just link them?

    Regards,
    Martin H.

  • Martin,

    After installing ISDK, the enetLwip_sysbios example should build without any modifications. 

    While importing,are you checking the "Copy projects to workspace" option? This could be the issue.

    Regards,
    Vinesh

  • Perhaps I should mention that there are some suspicious build variables (project properties->build->variables):
    BuildArtifactFileBaseName ../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/enet_echo/${ConfigName}/${ProjName}
    and
    BuildArtifactFileName ../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/enet_echo/${ConfigName}/${ProjName}.out


    The project enetecho (after having done some manual settings) meanwhile compiles, but it is located at
    C:\binary\armv7a\cgt_ccs\am335x\beaglebone\enet_echo\Debug\enetEcho.out
    I.e. outside workspace.


    This is the console output:
    **** Build of configuration Debug for project enetEcho ****

    "c:\\ti\\ccsv6\\utils\\bin\\gmake" -k -j 4 -s all
    'Building file: C:/ti/AM335X_StarterWare_02_00_01_01/third_party/lwip-1.4.0/apps/echoserver_raw/echod.c'
    'Building file: ../enetEcho.c'
    'Building file: C:/ti/AM335X_StarterWare_02_00_01_01/third_party/lwip-1.4.0/ports/cpsw/lwiplib.c'
    'Invoking: ARM Compiler'
    'Invoking: ARM Compiler'
    'Invoking: ARM Compiler'
    'Finished building: C:/ti/AM335X_StarterWare_02_00_01_01/third_party/lwip-1.4.0/apps/echoserver_raw/echod.c'
    ' '
    'Finished building: ../enetEcho.c'
    ' '
    'Finished building: C:/ti/AM335X_StarterWare_02_00_01_01/third_party/lwip-1.4.0/ports/cpsw/lwiplib.c'
    ' '
    'Building target: ../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/enet_echo/Debug/enetEcho.out'
    'Invoking: ARM Linker'
    <Linking>
    'Finished building target: ../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/enet_echo/Debug/enetEcho.out'
    ' '
    The system cannot find the path specified.
    ' '

    Can anyone give me a clue what went wrong?


    Regards,
    Martin H.

  • Hi Vinesh,

    that solved the problem: not checking the "Copy projects to workspace" option. I always had copied the project and the pathes had not been corrected automatically.
    Now the project compiles.
    Thank you very much indeed.

    Regards,
    Martin H.

  • To whom it concerns


    Just an additional warning regarding CCSv6:
    Do not use the 'Browse Examples' from the 'Getting Started' screen to import a project unless you want to do a lot of settings manually.

    Instead import a project and choose if you want to copy the project (manual settings required) or not.

    Hope that helps.

    Martin H.