| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | 
							- /*******************************************************************************
 
- * Copyright 2011-2012, 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.
 
- ********************************************************************************/
 
- #ifndef __CYBTLDR_UTILS_H__
 
- #define __CYBTLDR_UTILS_H__
 
- #include <stdio.h>
 
- // NB: These items are toolchain specific that will need to be updated 
 
- // depending on the environment being used.
 
- #ifdef WIN32
 
- #define EXTERN extern __declspec(dllexport)
 
- #else
 
- #define EXTERN extern
 
- #endif
 
- /******************************************************************************
 
-  *    HOST ERROR CODES
 
-  ******************************************************************************
 
-  *
 
-  * Different return codes from the bootloader host.  Functions are not
 
-  * limited to these values, but are encuraged to use them when returning
 
-  * standard error values.
 
-  *
 
-  * 0 is successful, all other values indicate a failure.
 
-  *****************************************************************************/
 
- /* Completed successfully */
 
- #define CYRET_SUCCESS           0x00
 
- /* File is not accessable */
 
- #define CYRET_ERR_FILE          0x01
 
- /* Reached the end of the file */
 
- #define CYRET_ERR_EOF           0x02
 
- /* The amount of data available is outside the expected range */
 
- #define CYRET_ERR_LENGTH        0x03
 
- /* The data is not of the proper form */
 
- #define CYRET_ERR_DATA          0x04
 
- /* The command is not recognized */
 
- #define CYRET_ERR_CMD           0x05
 
- /* The expected device does not match the detected device */
 
- #define CYRET_ERR_DEVICE        0x06
 
- /* The bootloader version detected is not supported */
 
- #define CYRET_ERR_VERSION       0x07
 
- /* The checksum does not match the expected value */
 
- #define CYRET_ERR_CHECKSUM      0x08
 
- /* The flash array is not valid */
 
- #define CYRET_ERR_ARRAY         0x09
 
- /* The flash row is not valid */
 
- #define CYRET_ERR_ROW           0x0A
 
- /* The bootloader is not ready to process data */
 
- #define CYRET_ERR_BTLDR         0x0B
 
- /* The application is currently marked as active */
 
- #define CYRET_ERR_ACTIVE        0x0C
 
- /* An unknown error occured */
 
- #define CYRET_ERR_UNK           0x0F
 
- /* The operation was aborted */
 
- #define CYRET_ABORT             0xFF
 
- /* The communications object reported an error */
 
- #define CYRET_ERR_COMM_MASK     0x2000
 
- /* The bootloader reported an error */
 
- #define CYRET_ERR_BTLDR_MASK    0x4000
 
- /******************************************************************************
 
-  *    BOOTLOADER STATUS CODES
 
-  ******************************************************************************
 
-  *
 
-  * Different return status codes from the bootloader.
 
-  *
 
-  * 0 is successful, all other values indicate a failure.
 
-  *****************************************************************************/
 
- /* Completed successfully */
 
- #define CYBTLDR_STAT_SUCCESS       0x00
 
- /* The provided key does not match the expected value */
 
- #define CYBTLDR_STAT_ERR_KEY       0x01
 
- /* The verification of flash failed */
 
- #define CYBTLDR_STAT_ERR_VERIFY    0x02
 
- /* The amount of data available is outside the expected range */
 
- #define CYBTLDR_STAT_ERR_LENGTH    0x03
 
- /* The data is not of the proper form */
 
- #define CYBTLDR_STAT_ERR_DATA      0x04
 
- /* The command is not recognized */
 
- #define CYBTLDR_STAT_ERR_CMD       0x05
 
- /* The expected device does not match the detected device */
 
- #define CYBTLDR_STAT_ERR_DEVICE    0x06
 
- /* The bootloader version detected is not supported */
 
- #define CYBTLDR_STAT_ERR_VERSION   0x07
 
- /* The checksum does not match the expected value */
 
- #define CYBTLDR_STAT_ERR_CHECKSUM  0x08
 
- /* The flash array is not valid */
 
- #define CYBTLDR_STAT_ERR_ARRAY     0x09
 
- /* The flash row is not valid */
 
- #define CYBTLDR_STAT_ERR_ROW       0x0A
 
- /* The flash row is protected and can not be programmed */
 
- #define CYBTLDR_STAT_ERR_PROTECT   0x0B
 
- /* The application is not valid and cannot be set as active */
 
- #define CYBTLDR_STAT_ERR_APP       0x0C
 
- /* The application is currently marked as active */
 
- #define CYBTLDR_STAT_ERR_ACTIVE    0x0D
 
- /* An unknown error occured */
 
- #define CYBTLDR_STAT_ERR_UNK       0x0F
 
- /******************************************************************************
 
-  *    VERSION INFORMATION
 
-  ******************************************************************************
 
-  *
 
-  * Major – Used to indicate binary compatibility.  If a change is incompatible
 
-  *         in any way with the prior release, the major version number will be
 
-  *         updated.
 
-  * Minor – Used to indicate feature set.  If a new feature or functionality is
 
-  *         added beyond what was available in a prior release, the this number
 
-  *         will be updated.
 
-  * Patch – Used to indicate very minor fixes.  If the code was modified to fix
 
-  *         a defect or to improve the quality in any way that does not add new
 
-  *         functionality or change APIs this version number will be updated.
 
-  *
 
-  * 1.0   - Original (PSoC Creator 1.0 Beta 5)
 
-  * 1.1   - Add checksum option (PSoC Creator 1.0 Production)
 
-  * 1.2   - Add support for Multi Application Bootloaders
 
-  *
 
-  *****************************************************************************/
 
- #define VERSION_MAJOR           0x01
 
- #define VERSION_MINOR           0x02
 
- #define VERSION_PATCH           0x00
 
- #endif
 
 
  |