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.

在simple_peripheral_oad_offchip中新增 UartLog 後無法獲取UUID



Hi,

CCS: 9.3.0.00012 

SDK: simplelink_cc2640r2_sdk_3_40_00_10

我在Simple_peripheral example code中加入log statements(Uart Log)。

Log可以正常打印出來,但另一方面卻發現以Btool要獲取裝置的UUID時,device都會回傳bleTimeOut,而無法獲得所有UUID。

請問是否發生什麼衝突導致這種情況發生。

Thanks,

Curly

  • 请问是您自己新增了代码吗?能否给出详细代码和添加位置?

    我会在测试后给您回复
  • Hi,

    app_ble.cfg : 

    utils.importFile("common/cc26xx/kernel/cc2640/config/ble_stack_heap.cfg");
    
    
    var Idle = xdc.useModule('ti.sysbios.knl.Idle');
    Idle.addFunc('&uartLog_flush');
    

    main.c : 

    int main()
    {
      /* Register Application callback to trap asserts raised in the Stack */
      RegisterAssertCback(AssertHandler);
    
      PIN_init(AuraGpioInitTable);
    
    #ifdef CACHE_AS_RAM
      // retain cache during standby
      Power_setConstraint(PowerCC26XX_SB_VIMS_CACHE_RETAIN);
      Power_setConstraint(PowerCC26XX_NEED_FLASH_IN_IDLE);
    #else
      // Enable iCache prefetching
      VIMSConfigure(VIMS_BASE, TRUE, TRUE);
      // Enable cache
      VIMSModeSet(VIMS_BASE, VIMS_MODE_ENABLED);
    #endif //CACHE_AS_RAM
    
    #if !defined( POWER_SAVING )
      /* Set constraints for Standby, powerdown and idle mode */
      // PowerCC26XX_SB_DISALLOW may be redundant
      Power_setConstraint(PowerCC26XX_SB_DISALLOW);
      Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
    #endif // POWER_SAVING
    
    #ifdef ICALL_JT
    
      /* Initialize the RTOS Log formatting and output to UART in Idle thread.
       * Note: Define xdc_runtime_Log_DISABLE_ALL to remove all impact of Log.
       * Note: NULL as Params gives 115200,8,N,1 and Blocking mode */
    //  UART_init();
    //  UartLog_init(UART_open(Board_UART0, NULL));
    
      /* Update User Configuration of the stack */
      user0Cfg.appServiceInfo->timerTickPeriod = Clock_tickPeriod;
      user0Cfg.appServiceInfo->timerMaxMillisecond  = ICall_getMaxMSecs();
    #endif  /* ICALL_JT */
    
      /* Initialize the RTOS Log formatting and output to UART in Idle thread.
       * Note: Define xdc_runtime_Log_DISABLE_ALL to remove all impact of Log.
       * Note: NULL as Params gives 115200,8,N,1 and Blocking mode */
      UART_init();
      UartLog_init(UART_open(Board_UART0, NULL));
    
      /* Initialize ICall module */
      ICall_init();
    
      {
        /* Find stack entry page */
        uint32_t stackAddr = findStackBoundaryAddr();
    
        if(stackAddr == INVALID_ADDR)
        {
          // If we cannot find the stack start address, exit
          ICall_abort();
        }
    
        /* set the stack image header based on the stack addr */
        stackImageHeader = (imgHdr_t *)stackAddr;
    
        /* Start tasks of external images - Priority 5 */
        const ICall_RemoteTask_t remoteTaskTbl[] =
        {
          (ICall_RemoteTaskEntry) (stackImageHeader->fixedHdr.prgEntry),
          5,
          1000,
          &user0Cfg
        };
    
        /* Start tasks of external images - Priority 5 */
        ICall_createRemoteTasksAtRuntime((ICall_RemoteTask_t *) remoteTaskTbl,
                                       (sizeof(remoteTaskTbl)/sizeof(ICall_RemoteTask_t)));
      }
    
      /* Kick off profile - Priority 3 */
      GAPRole_createTask();
    
      /* Priority 1 */
      SimplePeripheral_createTask();
    
      /* enable interrupts and start SYS/BIOS */
      BIOS_start();
    
      return (0);
    }

    Predefine Symbol : 

    ${INHERITED_SYMBOLS}
    HEAPMGR_SIZE=0
    ${COM_TI_SIMPLELINK_CC2640R2_SDK_SYMBOLS}
    DeviceFamily_CC26X0R2
    BOARD_DISPLAY_USE_LCD=0
    BOARD_DISPLAY_USE_UART=0
    BOARD_DISPLAY_USE_UART_ANSI=0
    CC2640R2_LAUNCHXL
    EXT_HAL_ASSERT
    CC26XX
    LED_DEBUG
    MAX_PDU_SIZE=251
    xOAD_BLE_SECURITY
    HAL_IMAGE_E
    CC26XX_R2
    ICALL_EVENTS
    ICALL_JT
    ICALL_LITE
    ICALL_MAX_NUM_ENTITIES=6
    ICALL_MAX_NUM_TASKS=3
    POWER_SAVING
    USE_ICALL
    SPLIT_APP_STACK_IMAGE
    xSECURITY
    xdc_runtime_Assert_DISABLE_ALL
    xdc_runtime_Log_DISABLE_ALL
    xTBM_ACTIVE_ITEMS_ONLY
    Display_DISABLE_ALL
    UARTLOG_ENABLE
    UARTLOG_NUM_EVT_BUF=32
    uartlog_FILE="\"${InputFileName}\""

  • 我导入了一下,有编译错误,显示AuraGpioInitTable没有定义

    PIN_init(AuraGpioInitTable);
  • Hi Susan,

    這是我自己定義的table ,用原本的應該就可以了。

    謝謝

  • 嗯 我的测试是和您类似的结果,我咨询了国外的工程师,回复是检查一下堆和栈的设置

    dev.ti.com/.../debugging-index.html

    请您先参考一下