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.

CodeComposer settings for building StarterWare examples

Other Parts Discussed in Thread: AM3358

Hi,

I'm a student in electronic engineering with some C/C++ experience. For my bachelor thesis plan to implement a Bare Metal application on a AM335x Starter Kit, receiving some data via UDP, doing some calculations on the received data and sending the results back via UDP. The focus lies on the calculation itself, using the NEON SIMD coprocessor and not so much on the ethernet part, so I was looking for an already running BareMetal Ethernet solution for the starter Kit that I could start with.

For this I wanted to start with the Sitara StarerWare enet_lwip example.

As I always got completely set up IDEs, toolchains and development boards during all courses at university, I've very few experience in setting up the tools by myself, even if I think that I have a basic understanding of what's going on after hitting the build button. So warning: This might be a stupid beginner question ;)

Until now, I failed with setting up a CCS project to build the example. I use CCS 6.1.2.00015 under Linux Ubuntu Gnome.

What I tried was creating a new project, chosed the SK_AM3358 as my target device, gave it a name, chosed the TI v.5.2.5 Compiler (right?), used the Linker command file in StarterWare/build/armv7a/cgt_css/am335x/evmskAM335x/enet_lwip/enetLwip.cmd, and created an empty project. After that, I manually added enetLwip.c and lwipots.h from the StarterWare/examples/evmskAM335x/enen_lwip folder. I added StarterWare/inlcude and StarterWare/third_party/lwip-1.4.0 to the compilers #include search path in my project settings.

When I try to build it, I get a lot of errors, telling me that the included header files (which are placed in subfolders) can't be found. I began to try to find these files manually and added the path to the #include statements in the source files, but I gave up after some time, realizing that this couldn't be the right way to do this :D 

But how do I actually configure a new CCS Project right to build the StarterWare examples and find the needed headers automatically?

Thanks in advance for replies!

  • Creating a new project file also never worked for me for some reason. So I'd suggest you use an existing project and modify it according to your needs (in your special case I simply would use enet_lwip example project). Beside of that there are a few more things:

  • Thank you for the reply. I finally succeeded building the existing project instead of creating a new one with source files from the existing one. 

    qxc said:
    you also need to build platform, drivers and a few other projects, elsewhere you will fail with linker errors

    Just to get you right, these drivers and the startup code is built correctly if I use the existing demo projects?

    So if I don't want to modify the existing Projects with my code, how do I copy them to create a version to modify?

  • > Just to get you right, these drivers and the startup code is built correctly if I use the existing demo projects?

    No, you have to add the related projects to your workspace manually and then compile them in order to have all external dependencies resolved for your main project.
  • In fact, I don't get any linker error at this time, but I found the section about the boot loader in the StarterWare manual.
    As I'm currently still waiting for the development board to be shipped (it's probably arriving this week) I'm not able to run the compiled code on the hardware at the moment.
    But I think I got the basic idea behind the bootloader. As I'm only used to transfer my applications via a JTAG adaptor until now, it is a new approach to me to copy the .bin to a SD Card and then launch it. By the way, how would debugging work in this context? Can I still put Breakpoints in my code and debug them via JTAG from the CCS, even if the Code is transferred in a different way to the Processor? I saw that building only works if I set the Build configuration to release, but not if I set it to debug