3 Replies Latest reply on Aug 30, 2016 6:04 PM by user_242978793

    CY8CKIT-049-41xx

    content.librarian

      Hello all, 

         

      I was working with CY8CKIT-049-41xx PSoC4 Prototyping kit. 

         

      I get this error (when trying to program through Bootloader Host):

         

      10:32:18 AM - Selected device: USB Serial Port (COM4) - UART
      Generic Serial Port

         

      10:32:29 AM - program Started

         

      10:32:30 AM - The operation has timed out.

         

      10:32:30 AM - Communication port reported error 'Unable to read data from the target device'.

         

      10:32:30 AM - program failed in 1010 ms.

         

       

         

      Any ideas?

         

       

         

      Manny

        • 1. Re: CY8CKIT-049-41xx
          user_242978793

          I guess you have a bootloader host component in the program. Please post your program so we can check it.

          • 2. Re: CY8CKIT-049-41xx
            content.librarian

            Bob, 

               

             

               

            Is this what you meant?

               

             

               

            * File Name: Bootloadable.c
            * Version 1.30
            *
            *  Description:
            *   Provides an API for the Bootloadable application. The API includes a
            *   single function for starting the bootloader.
            *
            ********************************************************************************
            * Copyright 2008-2014, Cypress Semiconductor Corporation.  All rights reserved.
            * You may use this file only in accordance with the license, terms, conditions,
            * disclaimers, and limitations in the end user license agreement accompanying
            * the software package with which this file was provided.
            *******************************************************************************/

               

            #include "Bootloadable.h"

               


            /*******************************************************************************
            * Function Name: Bootloadable_Load
            ********************************************************************************
            * Summary:
            *  Begins the bootloading algorithm downloading a new ACD image from the host.
            *
            * Parameters:
            *  None
            *
            * Returns:
            *  This method will never return. It will load a new application and reset
            *  the device.
            *
            *******************************************************************************/
            void Bootloadable_Load(void) 
            {
                /* Schedule Bootloader to start after reset */
                Bootloadable_SET_RUN_TYPE(Bootloadable_START_BTLDR);

               

                CySoftwareReset();
            }

               


            /*******************************************************************************
            * The following code is OBSOLETE and must not be used.
            *******************************************************************************/
            void Bootloadable_SetFlashByte(uint32 address, uint8 runType) 
            {
                uint32 flsAddr = address - CYDEV_FLASH_BASE;
                uint8  rowData[CYDEV_FLS_ROW_SIZE];

               

                #if !(CY_PSOC4)
                    uint8 arrayId = ( uint8 )(flsAddr / CYDEV_FLS_SECTOR_SIZE);
                #endif  /* !(CY_PSOC4) */

               

                #if (CY_PSOC4)
                    uint16 rowNum = ( uint16 )(flsAddr / CYDEV_FLS_ROW_SIZE);
                #else
                    uint16 rowNum = ( uint16 )((flsAddr % CYDEV_FLS_SECTOR_SIZE) / CYDEV_FLS_ROW_SIZE);
                #endif  /* (CY_PSOC4) */

               

                uint32 baseAddr = address - (address % CYDEV_FLS_ROW_SIZE);
                uint16 idx;

               


                for (idx = 0u; idx < CYDEV_FLS_ROW_SIZE; idx++)
                {
                    rowData[idx] = Bootloadable_GET_CODE_DATA(baseAddr + idx);
                }
                rowData[address % CYDEV_FLS_ROW_SIZE] = runType;

               

                #if(CY_PSOC4)
                    (void) CySysFlashWriteRow((uint32) rowNum, rowData);
                #else
                    (void) CyWriteRowData(arrayId, rowNum, rowData);
                #endif  /* (CY_PSOC4) */

               

                #if(CY_PSOC5)
                    /***************************************************************************
                    * When writing Flash, data in the instruction cache can become stale.
                    * Therefore, the cache data does not correlate to the data just written to
                    * Flash. A call to CyFlushCache() is required to invalidate the data in the
                    * cache and force fresh information to be loaded from Flash.
                    ***************************************************************************/
                    CyFlushCache();
                #endif /* (CY_PSOC5) */
            }

               


            /* [] END OF FILE */

            • 3. Re: CY8CKIT-049-41xx
              user_242978793
                      No I meant the bootloadable component in your schematic. Can you send your project so we can check it.