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.

Options for compiling StarterWare for OMAP-L138 ARM

Other Parts Discussed in Thread: OMAP-L138, AM1808

Hi,

I noticed that CCS cannot be used to compile the Ethernet and USB examples for the ARM core.

Can IAR EWARM be used? If so how.

What other options exist to compile the Ethernet and USB examples for the ARM core?

Thanks

  • HI,

              CCS can not be used to compile the projects for OMAP-L138/AM1808, Since it lacks unaligned support for these SoC's.

              You can use GCC or IAR for compiling the projects. For more help on how to use these projects with IAR or GCC please refer this link.

               For information on tools please refer this link.

    Regards

    Baskaran

  • Please expalin further how the IAR zip file can be used with the OPMAP-L138. The zipped files are related to the AM335x which is cortex A8 but  the OMAP and 1808 parts have an ARM9.

  • Hi,

          Sorry, i pointed to the link for AM335x. Actually due to some changes happened in StarterWare we have not supported IAR in the latest releases. so as of now only GCC is supported for USB and ethernet examples.

    Regards

    Baskaran

  • Is there something specific about the compiler that makes incompatible with the ARM in the OMAP or is it just related to the alignment issue previously mentioned. In other words is IAR "safe" for the non USB and Ethernet code?

  • IAR is safe for all the applications including USB and Ethernet. It just that we couldnt sufficient time (due to other priorities) to add IAR support for ARM part of OMAP-L138.

  • I have successfully compiled and ran usb_dev_bul example for ARM core of OMAP-L138 with CCS TI code generation tools.

    1) CCS v5.1.0.09
    2) compiler version TI v4.9.1
    3) set Language Options -> Enable support for GCC extensions (--gcc)
    4) set Runtime Model Options -> Generate unaligned loads and stores (--unaligned_acess) = on
    5) trivial patch usblib.h as: 

      #warning The packed attribute is not supported by this version of the TI ARM CGT.
             Please upgrade to version 5.x or use an alternate toolchain instead.
      //#define PACKED
      #define PACKED __attribute__ ((packed))

    6) recompile necessary libraries and example with new buid options

    It seems that SDOCM00080255 is wrong because compiler 4.9.1 can use packed data (for AM180x).

  • I tried this procedure on the usblib static library project and received the following (20) errors:

    "Option --unaligned_access=on is not valid with -mv4|5e"   

  • Hello Dave 

     Please install the latest CCS Version: 5.3.0.00090 from 

    http://processors.wiki.ti.com/index.php/Download_CCS.

    This version of CCS has the TI ARM C/C++ Compiler v5.0.1 which provides support for unaligned accesses in case, the hardware does not support it. Previous versions of the compiler say 4.9 did not have support for this.

    You would of course have to

    1. Modify the individual build properties of all libs and examples ( usblib, system, platform etc) to enable “--gcc” extension. This can be found under  - ARM Compiler -> Advanced Options. Failure to do so would result in compilation errors.
    2. Ensure that the you are using the new compiler, 
    • Compiler, linker and archiver should point to the new binaries 

               CCS5.3\ccsv5\tools\compiler\arm_5.0.1\bin\armcl

               CCS5.3\ccsv5\tools\compiler\arm_5.0.1\bin\armar