TP_microcontroleur/microcontroleur_act1/test
2021-09-23 16:27:33 +02:00

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