145 lines
7.2 KiB
Text
145 lines
7.2 KiB
Text
/*------------------------------------------------------------------------------
|
|
* 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 <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
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;
|
|
}
|