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.

BeagleBone & StarterWare: I can't get the examples to link. How does one convert the .out file to a .bin?



Hello,

I have two issues;

1) I cannot get the blinky example to link correctly. In fact it was a challenge to get the project to build at all. I read on a forum that you needed to link the libraries in. I was able the successfully build the lib projects (drivers, platform, and system). There are two things I would like to mention; A) The lib projects had to be repopulated as the source files were unavailable when the project was imported to the workspace. I hope I got all the right source files in the libraries... The folder structure is a bit confusing in starterware. B) When the lib projects finally built successfully the .lib file could not be added to the blinky project by using "Add Files...". This is odd behavior because the file just didn't appear in the directory from the add file dialog box box even though it was visible in the file tree in the project explorer.

2) When trying to load a project on the uSD card I need to use the TI Image program. To use this I need to convert the .out to a .bin file.I can't find instructions on how to do this. I have read that people add a post build command but I haven't found details on that.

Thanks for the help.

Nick

  • Hi,

    I hope you are talking about gpioLEDBlink example of beaglebone with CCS.

    Are you importing existing project?

    For CCS-
    If you are importing existing projects-
    1. Import the existing project which you wants to build
       After importing the project, you can find the (projectname).cmd file
        there you can see .lib files used for linking.
           
    2. No need to convert .out to .bin. Once you build the project you will get 3-binaries -
       a. .out file
       b. .bin file
       c. .bin with TI image header(_ti.bin)
       
       Take the _ti.bin, convert it to MLO(bootloader)/app(application).
       To see post build commands- Project->properties-> Build ->Post-build steps.
       
      
      For more information, you can refer the below links-
      http://processors.wiki.ti.com/index.php/StarterWare
      http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Environment_Setup
     
      If you have any further clarification, please revert back.

  • Here is the process I am following:

    Import existing -> StarterWare/build/armv7a/cgt_ccs/am335x/beaglebone/gpioLEDBlink <-

    The source file cannot be found! I manually include the file from ->starterware/examples/beaglebone/gpio<-.

    The gpioLedBlink.cmd file is set to be excluded from build, I change the resource config to build.

    After setting the include paths a build attempt results in the following:

    **** Build of configuration Debug for project gpioLEDBlink ****

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k -j 8 -s all
    'Building file: ../gpioLEDBlink.c'
    'Invoking: TMS470 Compiler'
    'Finished building: ../gpioLEDBlink.c'
    ' '
    'Building target: ../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/gpio/gpioLEDBlink.out'
    'Invoking: TMS470 Linker'
    <Linking>
    error #10008-D: cannot find file
    "../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/platform/platform.lib"
    error #10008-D: cannot find file
    "../../../../../../../binary/armv7a/cgt_ccs/utils/utils.lib"
    error #10008-D: cannot find file
    "../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/platform/platform.lib"
    error #10008-D: cannot find file
    "../../../../../../../binary/armv7a/cgt_ccs/utils/utils.lib"
    "../gpioLEDBlink.cmd", line 77: error #10263: DDR_MEM memory range has already been specified
    "../gpioLEDBlink.cmd", line 77: error #10264: DDR_MEM memory range overlaps existing memory range DDR_MEM
    "../gpioLEDBlink.cmd", line 92: warning #10190-D: absolute symbol "bss_start"

    being redefined

    "../gpioLEDBlink.cmd", line 93: warning #10190-D: absolute symbol "bss_end"
    >> Compilation failure
    being redefined
    error #10198-D: no input section is linked in
    "../gpioLEDBlink.cmd", line 85: warning #10068-D: no matching section
    "../gpioLEDBlink.cmd", line 85: warning #10068-D: no matching section

    undefined first referenced
    symbol in file
    --------- ----------------
    Entry

    error #10234-D: unresolved symbols remain
    "../gpioLEDBlink.cmd", line 92: warning #10190-D: absolute symbol "bss_start"
    being redefined
    "../gpioLEDBlink.cmd", line 93: warning #10190-D: absolute symbol "bss_end"
    being redefined
    warning #10062-D: entry-point symbol "Entry" undefined
    warning #10202-D: no suitable entry-point found; setting to 0
    error #10010: errors encountered during linking;
    "../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/gpio/gpioLEDBlink.out" not built
    gmake: *** [../../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/gpio/gpioLEDBlink.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

    Please Advise...

    Nick

  • Hi Nick Neander,

    I hope you have not changed any code. Just you imported the project, then you tried to build it.

    and you are getting the following errors.

     I suggest you to import and build all dependancy files/libs, Which have mentioned in previous post where you can find

    the dependancy libraries(cmd file) before you build the gpioLEDBlink.

    1. Import the projects eg. platform, driver, utils, system etc.

    2. Clean the project before you build it. Right click on project-> Clean Project

    3. Rebuild the project Right click  on project-> RebuilProject

    4. After Rebuild, Check the .libs in the path. Lets say platform in the path ./../../../../../../binary/armv7a/cgt_ccs/am335x/beaglebone/platform

       Similarly for other libs.

    There is a possibality that you might be building the libraries, if that lib is mot available in the mentioned path. Then it will give an error not finding the file.

    So try out the following. Let me know the status.

     

     

     

     

     

     

  • FWIW, I have found that the build scheme for StarterWare is designed to build in place, not to move source file into our workspace.

    Before I realized this I also tried to import projects with source into my workspace.  It took me 2 days to get that to work the first time.

    Two hours the second, 20 minutes the third. 

    Contrasting that to using the projects in place, 2 minutes.

    Of course if you want to modify the StarterWare source like I did for my hardware, it was worth the effort to move everything into my workspace and make the project standalone.

    Gerry Belanger