1 Reply Latest reply on Oct 12, 2016 11:33 PM by hima

    Bootloader Issues Stack Trace

    johnl_1631656

      Hi all

         

      Has anyone seen the following stack trace in the PSoC Creator 3.3 Call Stack window. Ignore lines 13 thru 17 as they are specific to my code.

         

      0 IntDefaultHandler() .\Generated_Source\PSoC4\Cm0Start.c 123 0x00004940 (All) 
      1 <signal handler called>() ?????? ?????? 0xFFFFFFF9 (All) 
      2 llh_clear_ack() ?????? ?????? 0x0001060E (All) 
      3 ll_process_acks() ?????? ?????? 0x0000E69E (All) 
      4 ll_handle_conn_interrupt() ?????? ?????? 0x0000F588 (All) 
      5 ll_decode_interrupt_type() ?????? ?????? 0x00012310 (All) 
      6 ll_task_handler() ?????? ?????? 0x0001234C (All) 
      7 llft_service_queue() ?????? ?????? 0x00013FFA (All) 
      8 llf_task_start_routine() ?????? ?????? 0x00013F52 (All) 
      9 CyBle_StackTaskHandler() ?????? ?????? 0x0000C734 (All) 
      10 OS_scheduler() ?????? ?????? 0x0000D61E (All) 
      11 CyBleStackMgr_ProcessBleEvents() ?????? ?????? 0x0000C1CA (All) 
      12 CyBle_ProcessEvents() ?????? ?????? 0x0000BD1C (All) 
      13 HalBleProcessEvents() ..\Source\ClientSource\Hal_BLE\HalBle_Client.c 570 0x00003AB4 (All) 
      14 SystemBleProcessEvents() ..\Source\ClientSource\System_Interface\SystemBleInterface_Client.c 71 0x00000590 (All) 
      15 SYSTEM_BOOTLOADER_doRecurringActions() ..\Source\ClientSource\System_Interface\SystemStateControl_Client.c 1161 0x00001834 (All) 
      16 SystemStateControl_Client() ..\Source\ClientSource\System_Interface\SystemStateControl_Client.c 194 0x00000B8A (All) 
      17 main() ..\Source\ClientSource\Application\BLE_UART_Client.c 21 0x000002AC (All) 

         

      The issue I am having is that my OTA Firmware application will randomly fail (1 in 8 times approximately) and the BLE Client will be locked in the IntDefaultHandler() routine.

         

      The sequence is as follows:

         
            
      1. Windows application reads .cyacd line.
      2.     
      3. Windows application sends the queue command and data via UART to Client (CY8C4248LQI-BL583).
      4.     
      5. Client device uses "CyBle_GattcWriteLongCharacteristicValues" to write to Server Device (CY8C4248LQI-BL583).
      6.     
      7. Server device actions the command.
      8.     
      9. Windows application sends the program command and data via UART to Client.
      10.     
      11. Client device uses "CyBle_GattcWriteLongCharacteristicValues" to write to Server Device.
      12.     
      13. Server device actions the command.
      14.     
      15. Windows application sends the verify command and data via UART to Client.
      16.     
      17. Server Device actions the command.
      18.     
      19. Repeat for next .cyacd line.
      20.    
         

      I get the failure after I write either the queue or the program command, so it looks like it is during the period that the BLE stack is sending the data to the server.

         

      I know the Server side is working correctly as I can use the CySmart 1.2 tool to update the server firmware.

         

      Thanks

         

      John