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.

EVM5515 out file generation

Hello!

I have been attempting to make changes to the demo software that my EVM5515 came pre-programmed with a demo. After I compile the files, the out file does not always appear in CCS automatically though a new file is generated. Each time I make changes and compile, I will have to delete the existing out file and manually import the new out file to the project.  Only then changes are reflected when I load and run the program. 

Any inputs on why this could be happening will be appreciated. It seems a bit redundant to do this process?

Thanks,

Nandan

 

 

  • Hello,

    What version of CCS are you using?

    In CCS3.3, there is an option to "Load Program After Build" in Program/Project/CIO<-Customize<-Option.

    Regards,

    Steve

     

  • Hi Steve,

    I am using 4.1.0. I did not find this option under project. Is this feature available on the version I am using?

    Thanks for your time,

    Regards,

    Nandan

     

  • Try checking Project->Properties->CCS Debug->Debugger->Loading Options->Load program

    Regards,

    Steve

  • Hi Steve,

    That option has already been selected. When I build a new project that compiles without errors, the console displays the location of the .out file but I do not see any Binaries appearing in my project. Even after I manually import it, I sometimes do not see "Load Program" option at all. I'm not sure why it happens or when the Load Program option becomes available. Hope you can share some insights into this. 

    Thanks again for your time!

    Nandan

     

  • Nandan,

    If you right click on your project file and select Build Properties a dialog box will open.  Select the Tool Settings tab, then C5500 Linker folder.  Under the Basic Options page you can specify where your .out and .map files are placed after build. 

    I would have thought that the location would be visible to your project, so I'm a little surprised that you would need to import the .out file.  Maybe someone else can explain that to us.

    Regards.

  • My out file is being generated at the location specified in the C5500 Linker - Tool Settings option. Just that it does not appear under my projects. My compilation has a couple of warnings - but no errors. 

    warning: entry-point symbol other than "_c_int00" specified:  "reset_isr"

    EVM_Samples/src/lcd.c", line 40: warning: variable "temp" was set but never used

    However there are no errors and the message at the end of the build is:

     

    Finished building target:

    EVM_Samples/EVM_Sample/Debug/EVM_Sample.out'

    Build complete for project EVM_Sample

     

    I am assuming that this reflects a successful build.

     

  • Nandan,

    The listing above indicates a successful build with the .out file being put in folder EVM_Samples/EVM_Sample/Debug.  In my experience the .out file shows up in a project folder named Binaries and all the other files are listed in a project Debug folder.  If you are not seeing this, then I'm not sure what is going on.  I am using a slightly newer version of CCSv4 (v4.1.2), but I don't think how the files are presented has changed.

    Also, I'm not clear on an earlier statement where you say that you do not see the Load Program option at all.  Does this mean that the option is missing or greyed out?  The only time I have seen the case where Load Program option is not available (greyed out) is when I haven't connected to the target.  Have you performed the Connect step before trying to load your program?  The other point is that you have to be in debug mode either through Target -> Debug Active Project (will force rebuild), or Target -> Launch TI Debugger options from the C/C++ view.  Can you describe your procedure after the build in a little more detail so we can see if any of this applies in your case?

    Regards.

  • Hi Tommy,

    I will first answer the second part of the question. I had edited the post because I had resolved it. It was because as you correctly pointed out the target had lost its connection.

    As far as the out file not being generated is concerned, I have now upgraded to v4.1.2 but I still have the same problem. The folder Binaries is not being created. I can go to Target->Load Program and select the out file, which is what I am doing or add the out file to my project and then load it. However when I first tried the basic LED blink program (mentioned in the quick start guide), the Binaries folder was created automatically after a successful build.  This does not happen with the EVM_Sample project. Perhaps it is a simple configuration that I am missing?

    Thanks for the detailed response.

    Regards,

    Nandan

     

  • Nandan,

    Ok, finally figured out what was going on with the help of my colleague, a CCSv4 expert.  It's kind of convoluted, but the problem is due to the directory structure of EVM_Sample application, the Build Properties configuration and the way the Eclipse IDE displays the contents of your project folder.  This project does not use what Eclipse (the IDE for CCSv4) considers a standard directory structure.  Not sure why.

    If you look at the EVM_Samples folder with Windows Explorer after compilation has completed successfully you should actually see 2 different \Debug folders.  They are at:
      \demo\EVM_Samples\EVM_Sample\Debug
      \demo\EVM_Samples\EVM_Sample\EVM_Sample\Debug

    The Build Properties dialog is saying to put both the .obj and .out/.map files in the first \Debug folder.  Either Eclipse or the Compiler (not sure which) puts all other intermediary files in the second folder.  Eclipse displays the contents of the \Debug folder that is at or below the level of the project definition files which are located in the \demo\EVM_Samples\EVM_Sample\EVM_Sample folder.  Confusing isn't it:-)

    To get the files to show up as you would expect you need to make 2 changes to the Build Properties configuration.
    1. Go to Tool Settings -> C5500 Compiler -> Directory Specifier and change the Object file directory to: "${EXT_ROOT__EVM_Sample}/EVM_Sample/EVM_Sample/Debug"
    2. Go to Tool Settings -> C5500 Linker -> Basic Options and change the settings for .out and .map to : "${EXT_ROOT__EVM_Sample}/EVM_Sample/EVM_Sample/Debug/EVM_Sample.out and .map" respectively.
    This should put all the files into the \Debug folder at the project files level.  If successful you should see your .out file under the Binaries "folder" and all the other files generated during compilation will show up under the \Debug folder for your project.  You can test this by copying the .out file to the "${EXT_ROOT__EVM_Sample}/EVM_Sample/EVM_Sample/Debug folder.  When you Refresh the CCSv4 view (F5 or File -> Refresh) you should see the .out file in the Binaries folder under your project.

    If you don't want to go to all this bother, then you should be able to use Target -> Debug Active Project and CCSv4 should build and load your code onto the target automatically.  I haven't tried this one yet.

    If you use File -> New -> CCS Project to create a new project, then your project definition files (.ccsproject, .cdtbuild, .cdtproject and .project) will all be created at the top level of your project folder and you shouldn't have any of these problems.

    Let me know if this makes sense and works for you.

    Regards.

  • Hi Tommy,

    Your explanation makes sense. I tried it and it works - the out file is generated under Binaries. Thank you for your time and for providing a quick resolution.

    Regards,

    Nandan