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 CC3200 Usage

Other Parts Discussed in Thread: UNIFLASH, CC3200, CC3100

What are the basic requirements for how to use UniFlash to load new binaries and support files into the CC3200 flash? The only way I feel convinced that I have loaded a new build into flash is to do a Format, then a Program (with erase, update, verify checked for all files), then a Service Pack Update, but this feels terribly redundant. So what are the conditions under which one should do a Format? Program? Service Pack Update? My intuition would be that a Format should only be required once (e.g., in order to set up a FAT), a Service Pack Update should only be required if you (1) do a Format, or (2) want to actually replace the Firmware running on the network processor(?), and I should be able to do just do a Program (erase/update/verify) in order to load new application files. Maybe I just don't adequately understand what exactly happens on each of these operations and someone can please  explain them to me in more detail and for the benefit of the community at large?

  • I’ll try to answer your questions as far as my knowledge goes.

    First realize these are totally new devices, software and documentation are not fully grown-up, but I’m sure TI works hard to get everything on its place as soon as possible. In the mean time you need to dig into and read all the available documents and search for and read posts in this forum. If you do so you will learn how to use these devices on a convincing way.

    All files, including the executable, will be stored into –external- serial Flash and not into the CC3xxx device.
    At boot the CC3xxx will load the executable from serial Flash into its RAM.

    A ‘Service Pack Update’ will be flashed into the device and not stored onto the serial Flash, and needs to be done only once.

    The serial Flash isn’t formatted with a real FAT system, but as a flat storage device containing only single file names, where the file names are prefixed with a so called ‘Path’.

    The executable file “/sys/mcuimg.bin” will be always overwritten (when the correct options are set) and therefore there is always only one executable stored.

    The other project files are stored like a regular storage device (hard/flash disk or equal), and are cumulative stored until the Flash gets full.

    A Format is only necessary when the Flash is full.
    In some cases it might look the to be stored filename, including the path, looks the same as the already stored one, but is stored with a minor different name onto Flash. In this case a Format solves this problem.
  • Hi,

    Your understanding is correct. Format is needed when the serial flash connected to the device is either blank (let's say you connected an empty serial flash to CC3100/CC3200) or when the serial flash is formatted but becomes full and you don't know/remember the filenames so you cannot release some space.

    Format operation creates "FAT" which is metadata prepared and used by the device to manage all files. It is not a compete file system so you need to know the limitations. For example, you do not currently have the ability to list all files or view the total capacity ot free space. Additionally, the filenames are completely "flat", i.e. if you use a filename as /usr/tempfile.txt, it does not imply that the file tempfile.txt resides under usr directory. There is no directory structure.

    Regarding servicepack update, it is required when you would like to upgrade the device firmware. Sometimes it would be mandatory if a new SDK is used (i.e. the host is also upgraded). This would be the case if the API between the simplelink driver running on the host and the device is changed. It is always recomended to upgrade the servicepack as it is mainly composed of patches for bug fixes.

    Program operation is required whenever you want to program/erase a file to/from the device.

    Hope it is clearer now.

    Please let me know if there are additional gaps I did not address.

    Shlomi

  • Hi,Did the above post answer your query? please verify the answer.Shlomi
  • Is there ever a time when I would do an Update/Verify without first doing an Erase? Can Erase be done at the same time as Update/Verify (i.e. check all three boxes), or must it be done as a separate operation?
  • Victor,

    You do not have to erase the file with every time you update it. The use cases for erase-update together is if you want to enlarge a file and you used Max Size of 0 when you first created it (0 means the original file size). Since you can set the allocated size only upon creation, enlarging it would mean to erase it first.

    You can of course do all operations together as a single operation. In this case, erase would be applied first.

    Shlomi