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.

CC3100MOD: Host Programming of Service Pack on CC3100MOD

Part Number: CC3100MOD
Other Parts Discussed in Thread: CC3200, CC3100, UNIFLASH

Hello

I have a desing on CC3100mod with Service Pack: 

NWP Patch version: 2.6.0.5
MAC Patch version: 1.4.0.1
PHY Patch version: 1.0.3.34

I downloaded

  • CC3100_CC3200_ServicePack_1.0.1.6-2.7.0.0
  • CC3100_CC3200_ServicePack_1.0.1.11-2.9.0.0

and  want to update Service Pack.

UniFlash work correct, but am planning use Host Programming in production.

In ServicePack Readme is written:

3. Header files for Host Programming (only for CC3100)
================================================================================
Files:
- host_programming\host_programming_1.0.1.11-2.9.0.0_ucf.h
- host_programming\host_programming_1.0.1.11-2.9.0.0_ucf-signed.h

This ServicePack image can be used with production silicon only.
The list of silicon that are compatible with this ServicePack are:
- CC3100R1
The ServicePack shall be programmed using the host_programming example found in the host_programming Update package for CC3100 SDK.

but i cant find the "host_programming example" in CC3100 SDK.

I use this code to upgrade:

int cc3100_UpgradeFW (void)
{
_i32 fileHandle = -1;
_u32 Token = 0;
_i32 retVal = 0;
_u32 remainingLen, movingOffset, chunkLen;


/* Initializing the CC3100 device */
sl_Start(0, 0, 0);

ReadVersion();

/* create/open the servicepack file for 128KB with rollback, secured and public write */
retVal = sl_FsOpen("/sys/servicepack.ucf",
FS_MODE_OPEN_CREATE(LEN_128KB, _FS_FILE_OPEN_FLAG_SECURE|_FS_FILE_OPEN_FLAG_COMMIT|_FS_FILE_PUBLIC_WRITE),
&Token, &fileHandle);

if(retVal < 0)
{
return -1;
}

/* program the servicepack */
remainingLen = sizeof(servicePackImage);
movingOffset = 0;
chunkLen = (_u32)find_min(CHUNK_LEN, remainingLen);

/* Flashing must be done in 1024 bytes chunks */
do
{
retVal = sl_FsWrite(fileHandle, movingOffset, (_u8 *)&servicePackImage[movingOffset], chunkLen);
if (retVal < 0)
{
return -1;
}

remainingLen -= chunkLen;
movingOffset += chunkLen;
chunkLen = (_u32)find_min(CHUNK_LEN, remainingLen);

}while (chunkLen > 0);

/* close the servicepack file */
retVal = sl_FsClose(fileHandle, 0, (_u8 *)servicePackImageSig, sizeof(servicePackImageSig));

if (retVal < 0)
{
return -1;
}

/* Stop the CC3100 device */
sl_Stop(0xFF);

/* Initializing the CC3100 device */
sl_Start(0, 0, 0);

ReadVersion();

sl_Stop(0xFF);

return 0;
}

This code works strange. All sl_ functions return success, but version of servicePack after upgrade allways is:

NWP Patch version: 2.6.0.5
MAC Patch version: 1.4.0.1
PHY Patch version: 1.0.3.34

I tried to update CC3100mod using files:

Files:
- host_programming\host_programming_1.0.1.11-2.9.0.0_ucf.h
- host_programming\host_programming_1.0.1.11-2.9.0.0_ucf-signed.h

and

- host_programming\host_programming_1.0.1.6-2.7.0.0_ucf.h
- host_programming\host_programming_1.0.1.6-2.7.0.0_ucf-signed.h

if i'll update CC3100mod by UniFlash witn servicepack_1.0.1.11-2.9.0.0.bin and after that try to use Host Programming with

- host_programming\host_programming_1.0.1.11-2.9.0.0_ucf.h
- host_programming\host_programming_1.0.1.11-2.9.0.0_ucf-signed.h

then the servicepack version will again become old 2.6.0.5

That is a problem?

  • The logs of UniFlash:

    New Token is 0x0

    [11:48:37] INFO: Download complete

    [11:48:37] INFO: > Executing Operation: Disconnect

    [11:48:37] Operation ServicePackProgramming returned.

    [11:49:37] Begin ServicePackProgramming operation.

    [11:49:38] INFO: > Executing Operation: Connect

    [11:49:40] INFO: setting break signal

    [11:49:41] INFO: detecting FTDI for device reset

    [11:49:42] INFO: connection succeeded

    [11:49:42] INFO: getting storage list

    [11:49:42] INFO: > Executing Operation: ServicePackProgramming

    [11:49:42] INFO: Path to the service pack file: D:/TI/CC3100_CC3200_ServicePack_1.0.1.6-2.6.0.5/servicepack_1.0.1.6-2.6.0.5.bin

    [11:49:42] INFO: reading version info

    [11:49:42] INFO: CC3100R Device detected.

    [11:49:42] INFO: NWP/MAC/PHY Version from Service Pack:

    [11:49:42] INFO:  NWP Patch version: 2.6.0.5

    [11:49:42] INFO:  MAC Patch version: 1.4.0.1

    [11:49:42] INFO:  PHY Patch version: 1.0.3.34

    [11:49:42] INFO: reading version info

    [11:49:42] INFO: DEVICE CC3100 ES1.33

    [11:49:42] INFO: reading version info

    [11:49:44] INFO: Downloading file "/sys/servicepack.ucf" with size 25820

    [11:49:45] INFO:

    New Token is 0x0

    [11:49:45] INFO: Download complete

    [11:49:45] INFO: > Executing Operation: Disconnect

    [11:49:46] Operation ServicePackProgramming returned.

    //-----------------------------------------------------------------------------

    New Token is 0x0

    [11:49:45] INFO: Download complete

    [11:49:45] INFO: > Executing Operation: Disconnect

    [11:49:46] Operation ServicePackProgramming returned.

    [11:50:21] Begin ServicePackProgramming operation.

    [11:50:21] INFO: > Executing Operation: Connect

    [11:50:23] INFO: setting break signal

    [11:50:24] INFO: detecting FTDI for device reset

    [11:50:24] INFO: connection succeeded

    [11:50:24] INFO: getting storage list

    [11:50:25] INFO: > Executing Operation: ServicePackProgramming

    [11:50:25] INFO: Path to the service pack file: D:/TI/CC3100_CC3200_ServicePack_1.0.1.6-2.7.0.0/servicepack_1.0.1.6-2.7.0.0.bin

    [11:50:25] INFO: reading version info

    [11:50:25] INFO: CC3100R Device detected.

    [11:50:25] INFO: NWP/MAC/PHY Version from Service Pack:

    [11:50:25] INFO:  NWP Patch version: 2.5.99.8

    [11:50:25] INFO:  MAC Patch version: 1.4.0.1

    [11:50:25] INFO:  PHY Patch version: 1.0.3.34

    [11:50:25] INFO: reading version info

    [11:50:25] INFO: DEVICE CC3100 ES1.33

    [11:50:25] INFO: reading version info

    [11:50:26] INFO: Downloading file "/sys/servicepack.ucf" with size 28236

    [11:50:28] INFO:

    New Token is 0x0

    [11:50:28] INFO: Download complete

    [11:50:28] INFO: > Executing Operation: Disconnect

    [11:50:28] Operation ServicePackProgramming returned.

    //----------------------------------------------------------------------------

    New Token is 0x0

    [11:50:28] INFO: Download complete

    [11:50:28] INFO: > Executing Operation: Disconnect

    [11:50:28] Operation ServicePackProgramming returned.

    [11:51:35] Begin ServicePackProgramming operation.

    [11:51:35] INFO: > Executing Operation: Connect

    [11:51:37] INFO: setting break signal

    [11:51:38] INFO: detecting FTDI for device reset

    [11:51:40] INFO: connection succeeded

    [11:51:40] INFO: getting storage list

    [11:51:40] INFO: > Executing Operation: ServicePackProgramming

    [11:51:40] INFO: Path to the service pack file: D:/TI/CC3100_CC3200_ServicePack_1.0.1.11-2.9.0.0/servicepack_1.0.1.11-2.9.0.0.bin

    [11:51:40] INFO: reading version info

    [11:51:40] INFO: CC3100R Device detected.

    [11:51:40] INFO: NWP/MAC/PHY Version from Service Pack:

    [11:51:40] INFO:  NWP Patch version: 2.8.99.0

    [11:51:40] INFO:  MAC Patch version: 1.4.0.1

    [11:51:40] INFO:  PHY Patch version: 1.0.3.37

    [11:51:40] INFO: reading version info

    [11:51:40] INFO: DEVICE CC3100 ES1.33

    [11:51:40] INFO: reading version info

    [11:51:42] INFO: Downloading file "/sys/servicepack.ucf" with size 31348

    [11:51:44] INFO:

    New Token is 0x0

    [11:51:44] INFO: Download complete

    [11:51:44] INFO: > Executing Operation: Disconnect

    [11:51:44] Operation ServicePackProgramming returned.

  • Ploblem is solved.
  • Ivan,

    Please share how you solved this issue.

    Regards,
    Seong