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.

CC3200 自己画的板子,用uniflash烧写的时候出错

Other Parts Discussed in Thread: CC3200, CC3100, UNIFLASH

[15:14:30] Begin Format operation.
[15:14:31] INFO: > Executing Operation: Connect
[15:14:33] INFO: setting break signal
[15:14:33] INFO: connection succeeded
[15:14:33] INFO: getting storage list
[15:14:33] INFO: > Executing Operation: Init
[15:14:33] INFO: reading version info
[15:14:33] INFO: DEVICE CC3200 ES1.33
[15:14:33] INFO: reading version info
[15:14:34] INFO: reading version info
[15:14:36] INFO: > Executing Operation: Format
[15:14:36] INFO: Erase storage SFLASH
[15:14:37] INFO: erase storage failed
[15:14:37] INFO: erase storage completed
[15:14:37] INFO: > Executing Operation: Disconnect
[15:14:37] Operation Format returned.
[15:14:48] Begin ServicePackProgramming operation.
[15:14:48] INFO: > Executing Operation: Connect
[15:14:50] INFO: setting break signal
[15:14:51] INFO: detecting FTDI for device reset
[15:14:53] INFO: connection succeeded
[15:14:53] INFO: getting storage list
[15:14:53] INFO: > Executing Operation: ServicePackProgramming
[15:14:53] INFO: Path to the service pack file: C:/TI/CC3100_CC3200_ServicePack_1.0.1.6-2.6.0.5/servicepack_1.0.1.6-2.6.0.5.bin
[15:14:53] INFO: reading version info
[15:14:53] INFO: CC3200R Device detected.
[15:14:53] INFO: NWP/MAC/PHY Version from Service Pack:
[15:14:53] INFO: NWP Patch version: 2.6.0.5
[15:14:53] INFO: MAC Patch version: 1.4.0.1
[15:14:53] INFO: PHY Patch version: 1.0.3.34
[15:14:53] INFO: reading version info
[15:14:53] INFO: DEVICE CC3200 ES1.33
[15:14:53] INFO: reading version info
[15:14:54] INFO: reading version info
[15:14:56] INFO: Downloading file "/sys/servicepack.ucf" with size 25820
[15:14:56] ERROR: Open operation failed
[15:14:56] INFO: > Executing Operation: Disconnect
[15:14:56] Operation ServicePackProgramming returned.

  • 新片子第一次使用需要更新servicepack,选择"Service Pack Update"更新

  • Hi Viki,

    Servicepack的更新是在UniFlash里吗?我没有找到

  • 具体说一下出现的问题:

    format后list file system是正常的,但是在service pack programming后显示file system is not formatted

  • 换了一块更大的Flash,问题解决

    另外,使用自己画的板子在线调试(用launchpad上的JTAG)的时候,运行一半会报错Unable to determine target status after 20 attempts

    将程序烧入Flash也运行不正常

  • 调试在 lRetVal = ConfigureSimpleLinkToDefaultState(); 这一行出错

    请问可能是什么原因

  • 在仿真状态下进入函数体内部,这个函数配置了CC3200的很多参数,具体是在哪一行出错的?

    //*****************************************************************************
    //! \brief This function puts the device in its default state. It:
    //! - Set the mode to STATION
    //! - Configures connection policy to Auto and AutoSmartConfig
    //! - Deletes all the stored profiles
    //! - Enables DHCP
    //! - Disables Scan policy
    //! - Sets Tx power to maximum
    //! - Sets power policy to normal
    //! - Unregister mDNS services
    //! - Remove all filters
    //!
    //! \param none
    //! \return On success, zero is returned. On error, negative is returned
    //*****************************************************************************
    static long ConfigureSimpleLinkToDefaultState()
    {
    SlVersionFull ver = {0};
    _WlanRxFilterOperationCommandBuff_t RxFilterIdMask = {0};

    unsigned char ucVal = 1;
    unsigned char ucConfigOpt = 0;
    unsigned char ucConfigLen = 0;
    unsigned char ucPower = 0;

    long lRetVal = -1;
    long lMode = -1;

    lMode = sl_Start(0, 0, 0);
    ASSERT_ON_ERROR(lMode);

    // If the device is not in station-mode, try configuring it in station-mode
    if (ROLE_STA != lMode)
    {
    if (ROLE_AP == lMode)
    {
    // If the device is in AP mode, we need to wait for this event
    // before doing anything
    while(!IS_IP_ACQUIRED(g_ulStatus))
    {
    #ifndef SL_PLATFORM_MULTI_THREADED
    _SlNonOsMainLoopTask();
    #endif
    }
    }

    // Switch to STA role and restart
    lRetVal = sl_WlanSetMode(ROLE_STA);
    ASSERT_ON_ERROR(lRetVal);

    lRetVal = sl_Stop(0xFF);
    ASSERT_ON_ERROR(lRetVal);

    lRetVal = sl_Start(0, 0, 0);
    ASSERT_ON_ERROR(lRetVal);

    // Check if the device is in station again
    if (ROLE_STA != lRetVal)
    {
    // We don't want to proceed if the device is not coming up in STA-mode
    return DEVICE_NOT_IN_STATION_MODE;
    }
    }

    // Get the device's version-information
    ucConfigOpt = SL_DEVICE_GENERAL_VERSION;
    ucConfigLen = sizeof(ver);
    lRetVal = sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION, &ucConfigOpt,
    &ucConfigLen, (unsigned char *)(&ver));
    ASSERT_ON_ERROR(lRetVal);

    UART_PRINT("Host Driver Version: %s\n\r",SL_DRIVER_VERSION);
    UART_PRINT("Build Version %d.%d.%d.%d.31.%d.%d.%d.%d.%d.%d.%d.%d\n\r",
    ver.NwpVersion[0],ver.NwpVersion[1],ver.NwpVersion[2],ver.NwpVersion[3],
    ver.ChipFwAndPhyVersion.FwVersion[0],ver.ChipFwAndPhyVersion.FwVersion[1],
    ver.ChipFwAndPhyVersion.FwVersion[2],ver.ChipFwAndPhyVersion.FwVersion[3],
    ver.ChipFwAndPhyVersion.PhyVersion[0],ver.ChipFwAndPhyVersion.PhyVersion[1],
    ver.ChipFwAndPhyVersion.PhyVersion[2],ver.ChipFwAndPhyVersion.PhyVersion[3]);

    // Set connection policy to Auto + SmartConfig
    // (Device's default connection policy)
    lRetVal = sl_WlanPolicySet(SL_POLICY_CONNECTION,
    SL_CONNECTION_POLICY(1, 0, 0, 0, 1), NULL, 0);
    ASSERT_ON_ERROR(lRetVal);

    // Remove all profiles
    lRetVal = sl_WlanProfileDel(0xFF);
    ASSERT_ON_ERROR(lRetVal);

    //
    // Device in station-mode. Disconnect previous connection if any
    // The function returns 0 if 'Disconnected done', negative number if already
    // disconnected Wait for 'disconnection' event if 0 is returned, Ignore
    // other return-codes
    //
    lRetVal = sl_WlanDisconnect();
    if(0 == lRetVal)
    {
    // Wait
    while(IS_CONNECTED(g_ulStatus))
    {
    #ifndef SL_PLATFORM_MULTI_THREADED
    _SlNonOsMainLoopTask();
    #endif
    }
    }

    // Enable DHCP client
    lRetVal = sl_NetCfgSet(SL_IPV4_STA_P2P_CL_DHCP_ENABLE,1,1,&ucVal);
    ASSERT_ON_ERROR(lRetVal);

    // Disable scan
    ucConfigOpt = SL_SCAN_POLICY(0);
    lRetVal = sl_WlanPolicySet(SL_POLICY_SCAN , ucConfigOpt, NULL, 0);
    ASSERT_ON_ERROR(lRetVal);

    // Set Tx power level for station mode
    // Number between 0-15, as dB offset from max power - 0 will set max power
    ucPower = 0;
    lRetVal = sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID,
    WLAN_GENERAL_PARAM_OPT_STA_TX_POWER, 1, (unsigned char *)&ucPower);
    ASSERT_ON_ERROR(lRetVal);

    // Set PM policy to normal
    lRetVal = sl_WlanPolicySet(SL_POLICY_PM , SL_NORMAL_POLICY, NULL, 0);
    ASSERT_ON_ERROR(lRetVal);

    // Unregister mDNS services
    lRetVal = sl_NetAppMDNSUnRegisterService(0, 0);
    ASSERT_ON_ERROR(lRetVal);

    // Remove all 64 filters (8*8)
    memset(RxFilterIdMask.FilterIdMask, 0xFF, 8);
    lRetVal = sl_WlanRxFilterSet(SL_REMOVE_RX_FILTER, (_u8 *)&RxFilterIdMask,
    sizeof(_WlanRxFilterOperationCommandBuff_t));
    ASSERT_ON_ERROR(lRetVal);

    lRetVal = sl_Stop(SL_STOP_TIMEOUT);
    ASSERT_ON_ERROR(lRetVal);

    InitializeAppVariables();

    return lRetVal; // Success
    }