/*------------------------------------------------------------------------------ * uVision/ARM development tools * Copyright (C) 2015-2020 ARM Ltd and ARM Germany GmbH. All rights reserved. *------------------------------------------------------------------------------ * Name: test * Purpose: ROM Image generated from user specified files. * Note: Generated by FCARM FILE CONVERTER V2.58, do not modify! *----------------------------------------------------------------------------*/ #include #include extern const uint32_t imageLastModified; extern uint32_t imageFileInfo (const char *name, const uint8_t **data); /* File information */ typedef struct _imageFileItem { uint32_t id; /* Name identifier (CRC32 value of file name) */ const uint8_t *data; /* Data start address in ROM */ } imageFileItem; #define IMAGE_FILE_COUNT 1U /* Last-Modified: Sun, 19 Sep 2021 17:00:44 GMT */ const uint32_t imageLastModified = 1632070844U; static const uint8_t imageFileData[798U] = { /*-- File: Includes\Driver_GPIO.h, 798 bytes --*/ 0x23U,0x69U,0x66U,0x6EU,0x64U,0x65U,0x66U,0x20U,0x4DU,0x59U,0x47U,0x50U,0x49U, 0x4FU,0x5FU,0x48U,0x0DU,0x0AU,0x23U,0x64U,0x65U,0x66U,0x69U,0x6EU,0x65U,0x20U, 0x4DU,0x59U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x48U,0x0DU,0x0AU,0x23U,0x69U,0x6EU, 0x63U,0x6CU,0x75U,0x64U,0x65U,0x20U,0x22U,0x73U,0x74U,0x6DU,0x33U,0x32U,0x66U, 0x31U,0x30U,0x78U,0x2EU,0x68U,0x22U,0x0DU,0x0AU,0x0DU,0x0AU,0x74U,0x79U,0x70U, 0x65U,0x64U,0x65U,0x66U,0x20U,0x73U,0x74U,0x72U,0x75U,0x63U,0x74U,0x20U,0x7BU, 0x0DU,0x0AU,0x09U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x54U,0x79U,0x70U,0x65U,0x44U, 0x65U,0x66U,0x20U,0x2AU,0x20U,0x47U,0x50U,0x49U,0x4FU,0x20U,0x3BU,0x0DU,0x0AU, 0x09U,0x63U,0x68U,0x61U,0x72U,0x20U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x50U,0x69U, 0x6EU,0x20U,0x3BU,0x0DU,0x0AU,0x09U,0x63U,0x68U,0x61U,0x72U,0x20U,0x47U,0x50U, 0x49U,0x4FU,0x5FU,0x43U,0x6FU,0x6EU,0x66U,0x20U,0x3BU,0x0DU,0x0AU,0x7DU,0x20U, 0x4DU,0x79U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x53U,0x74U,0x72U,0x75U,0x63U,0x74U, 0x5FU,0x54U,0x79U,0x70U,0x65U,0x44U,0x65U,0x66U,0x20U,0x3BU,0x0DU,0x0AU,0x0DU, 0x0AU,0x23U,0x64U,0x65U,0x66U,0x69U,0x6EU,0x65U,0x20U,0x49U,0x6EU,0x5FU,0x46U, 0x6CU,0x6FU,0x61U,0x74U,0x69U,0x6EU,0x67U,0x20U,0x30U,0x78U,0x34U,0x0DU,0x0AU, 0x23U,0x64U,0x65U,0x66U,0x69U,0x6EU,0x65U,0x20U,0x49U,0x6EU,0x5FU,0x50U,0x75U, 0x6CU,0x6CU,0x44U,0x6FU,0x77U,0x6EU,0x20U,0x30U,0x78U,0x38U,0x0DU,0x0AU,0x23U, 0x64U,0x65U,0x66U,0x69U,0x6EU,0x65U,0x20U,0x49U,0x6EU,0x5FU,0x50U,0x75U,0x6CU, 0x6CU,0x55U,0x70U,0x20U,0x30U,0x78U,0x39U,0x20U,0x2FU,0x2FU,0x20U,0x6FU,0x6EU, 0x20U,0x6CU,0x65U,0x20U,0x64U,0xE9U,0x66U,0x69U,0x6EU,0x69U,0x74U,0x20U,0x6EU, 0x6FU,0x75U,0x73U,0x20U,0x6DU,0xEAU,0x6DU,0x65U,0x20U,0x0DU,0x0AU,0x23U,0x64U, 0x65U,0x66U,0x69U,0x6EU,0x65U,0x20U,0x49U,0x6EU,0x5FU,0x41U,0x6EU,0x61U,0x6CU, 0x6FU,0x67U,0x20U,0x30U,0x78U,0x30U,0x0DU,0x0AU,0x23U,0x64U,0x65U,0x66U,0x69U, 0x6EU,0x65U,0x20U,0x4FU,0x75U,0x74U,0x5FU,0x50U,0x70U,0x75U,0x6CU,0x6CU,0x20U, 0x30U,0x78U,0x32U,0x0DU,0x0AU,0x23U,0x64U,0x65U,0x66U,0x69U,0x6EU,0x65U,0x20U, 0x4FU,0x75U,0x74U,0x5FU,0x4FU,0x44U,0x20U,0x30U,0x78U,0x36U,0x0DU,0x0AU,0x23U, 0x64U,0x65U,0x66U,0x69U,0x6EU,0x65U,0x20U,0x41U,0x6CU,0x74U,0x4FU,0x75U,0x74U, 0x5FU,0x50U,0x70U,0x75U,0x6CU,0x6CU,0x20U,0x30U,0x78U,0x41U,0x0DU,0x0AU,0x23U, 0x64U,0x65U,0x66U,0x69U,0x6EU,0x65U,0x20U,0x41U,0x6CU,0x74U,0x4FU,0x75U,0x74U, 0x5FU,0x4FU,0x44U,0x20U,0x30U,0x78U,0x45U,0x0DU,0x0AU,0x0DU,0x0AU,0x76U,0x6FU, 0x69U,0x64U,0x20U,0x4DU,0x79U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x49U,0x6EU,0x69U, 0x74U,0x28U,0x4DU,0x79U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x53U,0x74U,0x72U,0x75U, 0x63U,0x74U,0x5FU,0x54U,0x79U,0x70U,0x65U,0x44U,0x65U,0x66U,0x20U,0x2AU,0x20U, 0x47U,0x50U,0x49U,0x4FU,0x53U,0x74U,0x72U,0x75U,0x63U,0x74U,0x50U,0x74U,0x72U, 0x29U,0x3BU,0x0DU,0x0AU,0x2FU,0x2FU,0x72U,0x65U,0x6EU,0x76U,0x6FU,0x69U,0x65U, 0x20U,0x30U,0x20U,0x6FU,0x75U,0x20U,0x61U,0x75U,0x74U,0x72U,0x65U,0x20U,0x63U, 0x68U,0x6FU,0x73U,0x65U,0x20U,0x64U,0x69U,0x66U,0x66U,0xE9U,0x72U,0x65U,0x6EU, 0x74U,0x20U,0x64U,0x65U,0x20U,0x30U,0x0DU,0x0AU,0x69U,0x6EU,0x74U,0x20U,0x4DU, 0x79U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x52U,0x65U,0x61U,0x64U,0x28U,0x47U,0x50U, 0x49U,0x4FU,0x5FU,0x54U,0x79U,0x70U,0x65U,0x44U,0x65U,0x66U,0x20U,0x2AU,0x20U, 0x47U,0x50U,0x49U,0x4FU,0x2CU,0x20U,0x63U,0x68U,0x61U,0x72U,0x20U,0x47U,0x50U, 0x49U,0x4FU,0x5FU,0x50U,0x69U,0x6EU,0x29U,0x20U,0x3BU,0x0DU,0x0AU,0x76U,0x6FU, 0x69U,0x64U,0x20U,0x4DU,0x79U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x53U,0x65U,0x74U, 0x28U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x54U,0x79U,0x70U,0x65U,0x44U,0x65U,0x66U, 0x20U,0x2AU,0x20U,0x47U,0x50U,0x49U,0x4FU,0x2CU,0x20U,0x63U,0x68U,0x61U,0x72U, 0x20U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x50U,0x69U,0x6EU,0x29U,0x3BU,0x0DU,0x0AU, 0x76U,0x6FU,0x69U,0x64U,0x20U,0x4DU,0x79U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x52U, 0x65U,0x73U,0x65U,0x74U,0x28U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x54U,0x79U,0x70U, 0x65U,0x44U,0x65U,0x66U,0x20U,0x2AU,0x20U,0x47U,0x50U,0x49U,0x4FU,0x2CU,0x20U, 0x63U,0x68U,0x61U,0x72U,0x20U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x50U,0x69U,0x6EU, 0x29U,0x3BU,0x0DU,0x0AU,0x76U,0x6FU,0x69U,0x64U,0x20U,0x4DU,0x79U,0x47U,0x50U, 0x49U,0x4FU,0x5FU,0x54U,0x6FU,0x67U,0x67U,0x6CU,0x65U,0x28U,0x47U,0x50U,0x49U, 0x4FU,0x5FU,0x54U,0x79U,0x70U,0x65U,0x44U,0x65U,0x66U,0x20U,0x2AU,0x20U,0x47U, 0x50U,0x49U,0x4FU,0x2CU,0x20U,0x63U,0x68U,0x61U,0x72U,0x20U,0x47U,0x50U,0x49U, 0x4FU,0x5FU,0x50U,0x69U,0x6EU,0x29U,0x3BU,0x0DU,0x0AU,0x76U,0x6FU,0x69U,0x64U, 0x20U,0x4DU,0x79U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x41U,0x63U,0x74U,0x69U,0x76U, 0x61U,0x74U,0x65U,0x28U,0x69U,0x6EU,0x74U,0x20U,0x6EU,0x62U,0x5FU,0x47U,0x50U, 0x49U,0x4FU,0x29U,0x20U,0x3BU,0x0DU,0x0AU,0x2FU,0x2FU,0x76U,0x6FU,0x69U,0x64U, 0x20U,0x4DU,0x79U,0x47U,0x50U,0x49U,0x4FU,0x5FU,0x44U,0x65U,0x73U,0x61U,0x63U, 0x74U,0x69U,0x76U,0x61U,0x74U,0x65U,0x28U,0x69U,0x6EU,0x74U,0x20U,0x6EU,0x62U, 0x5FU,0x47U,0x50U,0x49U,0x4FU,0x29U,0x20U,0x3BU,0x0DU,0x0AU,0x0DU,0x0AU,0x23U, 0x65U,0x6EU,0x64U,0x69U,0x66U }; static const imageFileItem imageFileTable[1U+1U] = { { 0x17027383U, &imageFileData[0U] }, // "Includes/Driver_GPIO.h" { 0x00000000U, &imageFileData[798U] } }; /* * Calculate 32-bit CRC (Polynom: 0x04C11DB7) * Parameters: * crc32: CRC initial value * val: Input value * Return value: Calculated CRC value */ static uint32_t crc32_8bit (uint32_t crc32, uint8_t val) { uint32_t n; crc32 ^= ((uint32_t)val) << 24U; for (n = 8U; n; n--) { if (crc32 & 0x80000000U) { crc32 <<= 1U; crc32 ^= 0x04C11DB7U; } else { crc32 <<= 1U; } } return (crc32); } /* * Get file information from ROM image * Parameters: * name: File name * data: Pointer where file data pointer will be written * Return value: File size */ uint32_t imageFileInfo (const char *name, const uint8_t **data) { uint32_t id, n; if ((name == NULL) || (data == NULL)) return 0U; id = 0xFFFFFFFFU; for (; *name; name++) { id = crc32_8bit(id, *name); } for (n = 0U; n < IMAGE_FILE_COUNT; n++) { if (imageFileTable[n].id == id) { *data = imageFileTable[n].data; return ((uint32_t)(imageFileTable[n+1].data - imageFileTable[n].data)); } } return 0U; }