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.

Is CodeSourcery GCC really supported for Starterware applications?

Other Parts Discussed in Thread: AM3359

Dear all,

i've now spent insignificant amount of time to make running enet_lwip (and other examples from starterware) using CodeSourcery arm-none-eabi- compilers. The examples 'as they are' do not work, and seeing lots of problems there (e.g. I have reported linker issues here:http://stackoverflow.com/questions/15085119/why-ti-starterware-examples-do-not-clear-correctly-bss-segment-when-compiled-usi), I'm starting to think, that it CANNOT WORK with provided sources and makefiles.

One of the things why I think it cannot work is, that if one looks on code generated using TMS470 TI compiler and GCC compiler, there is significantly more initialization code generated by TI compiler (to be concrete: __TI_auto_init, which does substantial amount of further C code initialization, and which is NOT present in GCC - at least not when using makefiles and linker scripts provided by starterware examples). This might be just a necessary stuff due to the way the TMS compiler works, but it is not guaranteed.

If I take my personal experience: I tried using codesourcery to make running: enet_lwip, enet_echo and demo. None of them is working. Without the linker script changes I have described in the link it simply crashes. Even with the linker script modifications they still do not work and I think that there is still some initialization of the variables missing. In the case of the enet_lwip it exhibits as impossibility to get a DHCP address. When the same code is compiled using CCSv5 'as is' without any modifications (of course it uses different linker script and different startup routines), everything works as expected.

It is true, that GCC compiled code works for easier stuff like GPIO demo (led blinking) or UART demos

All this experience brings me towards a thinking, that even if the makefiles for gcc are present, and on the web pages one can find substantial amount of information about using codesourcery gcc to compile the stuff, IT DOES NOT WORK and IT IS NOT SUPPORTED at least for the configuration of HW/SW I have: beaglebone with AM3359, Starterware 2.0.0.7, ccs 5.6.0.0 linux and Codesourcery2011.03

Can someone confirm me, that using a beaglebone and Codesourcery (please specify version) he was able to make enet_lwip, enet_echo and demo examples from the Starterware examples running successfully?

Thanks

david

  • While I am not a Starterware expert, I havddabbled with it a little last year. I do remember reading in some documentation that if you want to use Code Sourcery gcc, you must use the EABI version, not the GNUEABI version. Also, the documentation had a very specific version. I have the 2009q1-161 version installed. I've built the sample apps and can run the enet_lwip sample. I didn't make any changes to the files.

    Steve K.

  • Hi Steve,

    thanks for info. In fact in view of my recent discoverings, I have to say, that some examples DO WORK with

    2009q1-161. At least enet_lwip seems to be OK, demo compiles, runs, acquires address, but then when pointed to with a browser,

    it has problem of loading of the page. So it seems that there is at least from functionality point of view huge difference between usage

    of 2009q1 and 2011 series of codesourcery. Still, I do not manage to run all the examples correctly even with 2009q1

    In both cases I've been using arm-none-eabi- versions of compiler