| 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
|