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.

Uniflash/CCS - Invalid file size. 2200kb .out file?

Other Parts Discussed in Thread: UNIFLASH, CC3200

Hey all,

After compiling my project and attempting to load it with Uniflash, it fails because the file size is too big. 

Exact error : 

[19:12:12] ERROR: --- Invalid file size ---
[19:12:12] ERROR: Error, size if data (2252704) is too big to write

I've tried formatting the flash all sizes, 1MB, 2MB, ..., 16MB. 

I have also tried increasing the "Max Size" of sys/mcuimg.bin to 0x30000 which is roughly 3MB

Also - 2,200kb seems huge for the amount of code I have in here - not very much. 

  • Hi Jon,

    The Serial Flash Storage Space for Rev 3.2 CC3200 Launchpad is 1 MB. So, 2,200KB won't fit inside Serial Flash Memory.

    I am not sure if other Revisions of CC3200 Launchpad have bigger Serial Flash Storage Space. Verify if the Serial Flash at your CC3200 Launchpad is 1 MB or greater.

    - kel
  • Hi jon,

    The .out file is a format that contains all the debug info such as every label, type, filename, links to source code locations etc.

    It is not the format that would be written to the flash for execution. The correct format to write to flash would normally be a much smaller .bin file created at the end of the compile/link process.

    Go look at the project properties for a build step after the linker, I am unfortunately not in front of my machine right now to give you more exact pointers.
  • Hi everyone and thanks for your input.

    - Thank you for the clarification. I assumed it was anywhere between 1MB and 16MB and the rest is just 'unused' space.

    - Correct. I knew the .out file was specifically for debug, but it was the only file created after building my project. By default there was nothing inside the build steps. This was a key clue. Thank you.

    After looking around, I found a project on the web which mentioned stand-alone operation with a CC3200. I snagged the project and found

    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

    The above was added inside Project Properties and CCS Build > Post-build steps.

    Sounds like I need to RTFM a CCS manual.

    JT
  • Hi JT,

    Yes, you are right that TI is using a tool to convert this .out file to a compressed binary form. 

    It is intended for use as a post-build step in CCS and can be found in any of the SDK examples under Build->Steps.

    Please note that the size of the binary for the production device cannot exceed 256KB since this is the size of the internal RAM (since the mcuimg binary is loaded from the serial flash to RAM for execution).

    Regards,

    Shlomi

  • Hi JT,

    Did the above post answer your query? please verify the answer.

    Shlomi

  • Hi,

    I am closing the thread, if issue still exist please open a new thread and add a link to this one for reference.

    Shlomi