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.

CC3235MODSF: cc3235 - factory reset

Part Number: CC3235MODSF
Other Parts Discussed in Thread: CC3235SF, UNIFLASH

I went through all documents that can be downloaded from TI CC3235MODSF page and got the following hits:

swru455l_Programmers_Guide_NWP
*8.13.1 Restore to Factory by the Host* describes how the application can initiate the process
*8.13.2 Restore to Factory by Using the SOP* describes the SOP (pin) method

swru539_Development Kit
*2.4.5 Sense on Power (SOP)*
The factory SOP pin strapping is SOP[2:0] = *011*

swrs215c_cc3235sf
The restore process is performed by calling software APIs, or by pulling or forcing *SOP[2:0] = 110* pins and toggling the nRESET pin from low to high.

swrs243_cc3235modsf
*SPO[2:0] = 011*

Still it is unclear how to create and deploy the "factory image".

Please elaborate how this process works in details because documents only talk about the device supporting a factory image restore feature but thats it.
The rest is mixed information (see SOP pinning) or blabla ("factory reset" term is repeated countless times but none of the preparation and deployment is actually mentioned at all).

  • Hi,

    Factory default feature need to be enabled by Uniflash software when you create image for programming.

    Jan

  • Okay, from this answer I assume that Uniflash creates the factory image?

    Or the Uniflash creates an image that contains the normal application and the factory default image?

    Where do I enable this feature?

    There is no such enable field under "Burn" menu and the closes field I found is "Restore To Factory Configuration" that could be set to "Default and Image" and "Defaults Only" but this is a select box without the factory image how would the tool know what is the factory image i want to revert to?

  • Hi,

    Uniflash create image which have capability to factory defaults. According settings of option "Restore To Factory Configuration" will acts CC3220/C3235 device and perform factory default itself (after SOP or API request).

    Jan

  • Is there anyone from TI who can explain the process please?
    Otherwise not knowing what is happening it just raises so many questions.

    What image will this "factory image" be?

    Do we need to create all our images with such setting or just the first deployment?

  • Hi,

    The factory image is what you program to the serial flash during production. This is described in the File System section of the NWP Programmer's Guide. If you flash the device with the restore to factory is enabled, the programming (factory) image is kept on the serial flash even after being extracted into the file system.

    Best regards,

    Sarah

  • Thanks, you repeated an answer that I already did not accept as a clarification to the problem.

    So just because I program an image in the factory it makes it a factory image? I don't get it.

    Please refer to the description that explains of deployment of factory image and what it differentiates from normal image according to SWRU455L chapter 8 "File Systems" I so no clue whatsoever. This document only describes that this feature exists. Nothing regarding the process.

    Please write down step by step and reference chapters and paragraps that I shall follow to create a factory image, flash it then create a development image and flash it.

    As I wrote I read through the documents and I see no description of how to create a bundle that contains the application image and a factory default image and what makes an image "factory". I only see an option in uniflash that ENABLES to revert to factory image, and a setting to tell WHAT should be reverted.

    So I would expect  someone from TI to explain it very simple, such a description:

    To create and flash factory image:

    1) Connect device over UART with UNIFLASH in SOP configuration XYZ

    2) Select factory binary

    3) Go to options ABC select DEF

    For deployement of further images:

    1) Connect device over UART ...

    2) Select options in UNIFLASH

    Why it is so difficult to write an answer like that if it is so trivial?

  • Hi,

    Any image you flash is essentially a factory image. When you go to production, you will flash the board once and then release to the market, correct? I assume after release, any updates will be done via OTA.

    The factory image means that the device will always retain the image flashed in the "factory" (the production image) so if you later have an issue with an OTA update or some other application change in the field, you have the option to reset to that factory image.

    Does that clear up the confusion?

    Best regards,

    Sarah

  • Much better.

    This assumes that UNIFLASH is only once and exclusively shall be used at the end of production to flash the binary which will be the factory default.
    This assumes that UNIFLASH will not be used later on.
    This assumes that UNIFLASH when creating the OTA image will create a _different image_ than the flashed image even if the binary is the same.

    Such magic features and sequences should be clearly documented.

    What about the bootloader? That shall also not be used for flashing later on?
    There is a bootloader command and sequence documentation.

    Will the flashing over bootloader overwrite the factory image too? Or that process can be used to roll out updates?

  • Hi,

    To clarify, this does not assume UniFlash will be used as the flashing tool. You can also create a gang image that is loaded into serial flash before assembly, for example. Please see the CC3235 Production Line Guide for more details on production options.

    The OTA image can be the exact same image project, if you wanted. The only difference is that it will be updated via the OTA process. The does not affect the factory image.

    The bootloader is in ROM and cannot be changed (although customers can implement a secondary bootloader, if they wish). The boot process is described in the CC323x Technical Reference Manual. But the short answer, is no, the bootloader loads the application binary from the serial flash to RAM (S devices) or the internal XIP flash (SF devices) for execution. If factory reset is enabled, the factory image is always stored in the serial flash.

    Best regards,

    Sarah

  • "To clarify, this does not assume UniFlash will be used as the flashing tool...."
    I never stated this or implied to this.

    "The OTA image can be the exact same image project, if you wanted. "
    Exactly this is what i dont get. If the UNIFLASH creates the image. How can I tell the tool what image is a factory default image and what is not.
    Still haven't got an answer for this.

    "The bootloader is in ROM and cannot be changed..."
    I do not know where this answer comes from.

    Are these questions answered by some robots? Seems like template answers everywhere on the forum.

    I will ask again because it seems that no one reads my question.

    How do I create an image containing (or dedicated as) factory image and how do I create a normal image?
    Please describe the exact process of how to create a factory image, what options do we have to flash it.
    Please describe how to create the normal image and what options do we have to deploy it.
    STEP BY STEP APPROACH THAT CAN BE FOLLOWED AND REPDOCUED WITH A LAUNCHPAD KIT.

  • Hi,

    user6378938 said:

    How can I tell the tool what image is a factory default image and what is not.

    Whatever is your last flashed image is the factory image. The tool itself does not change its behavior based on this setting. The ImageCreator tool only generates an image containing this setting, which can be flashed to the serial flash by any method in the production line guide. Upon first boot after flashing, the CC32xx will generate the secure file system according to these settings, including storing a copy of this image for the recovery mechanism. This security guide may help: https://www.ti.com/lit/swra509

    To test this setting on a LaunchPad, I suggest running the Wi-Fi OTA SimpleLink Academy training.

    1. Follow the lab to flash an image containing the cloud OTA application. Be sure the factory image setting is enabled.
    2. Follow the lab to generate an OTA image (TAR bundle) containing some obvious change to the application.
    3. Follow the lab to complete an OTA update successfully.
    4. Use the SOP configuration or the button on the LaunchPad to return to the factory (flashed) image. (See the LaunchPad user guide.)

    You can keep applying new OTA updates, but you will always return to the same factory image (until you flash a new image to the LaunchPad).

    Best regards,

    Sarah


  • Seems that what I request is too hard.

    So lets keep the game going.

    "Whatever is your last flashed image is the factory image. "
    So I must assume OTA is not "flashing"?
    Or is OTA flashing and thus it is a factory image every time I deploy one?

    Thanks for the links, but searching on the academy forum for "factory" gives no hit.
    This link shows me how to deploy an OTA image. It works I tried that.

    Searching through the pdf for "factory" just jumps me to 2 chapter referring to each other.
    Actually, it even mentions:

    "The supported recovery modes are: • None – No recovery settings; in this case, the recovery image file is not kept"
    Still wondering this moment how this is achieved. Still wondering what is the recovery image file. Documentation is more or less useless here.

    "Be sure the factory image setting is enabled."

    What setting is that in UNIFLASH?
    Why can't we stick to the naming conventions and proper names TI introduced?
    Why do we have to communicate in such cloudy and ambiguous manner?
    If you are TI representative, please refer to exactly what TI documents/tools are stating. If not please don't bother to answer me.
    In UNIFLASH under Advanced Settings there is an unnamed box, having 2 - i assume - related settings:
    "Restore To Factory Configuration" has 2 options, both are ENABLED options, you can only chose what to restore.
    "Restore To Factory Image SOP" is only enabling factory image with SOP config I presume.
    Is the latter one I need to ENABLE for the first image (make it factory image) and later DISABLE it (update images)?

    Please assume that I have no idea of how to use any of these tools,  so please quote me which chapter/paragraph describes me and guides me through how I tell the tool that:

    - the image I created and flash over Serial  is a factory image

    - the image I created and deployed over OTA is a non-factory image

  • Hi,

    1. The factory image will be based on the programming image
    2. An OTA image is not a factory image because OTAs are done by updating files through the file system API

    The factory image settings are exactly what you described. There is an enable and disable for the restore to factory image option (whether this image, if flashed, is retained in the file system), and then you can enable or disable the option to use the SOP as a trigger. There is nothing else for UniFlash to configure. An OTA update will not overwrite this setting.

    The Wi-Fi OTA lab does not have anything specific to factory reset/restore. We do not have a dedicated demo or lab on this feature, since it can be used independent of the application. My steps are a suggestion for testing.

    I have pointed out all the documentation that we have on this topic. I agree some of the explanation in the documentation could be clearer, but in the meantime, we are trying to support you.

    Best regards,

    Sarah