Kleber Kruger / Mbed 2 deprecated FaultInjector

Dependencies:   mbed

Committer:
kleberkruger
Date:
Sat Sep 14 22:58:28 2013 +0000
Revision:
0:ef0a1a6d4a40
Fault injector system.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kleberkruger 0:ef0a1a6d4a40 1 /*
kleberkruger 0:ef0a1a6d4a40 2 * File: FaultsInjector.h
kleberkruger 0:ef0a1a6d4a40 3 * Author: Kleber Kruger
kleberkruger 0:ef0a1a6d4a40 4 *
kleberkruger 0:ef0a1a6d4a40 5 * Created on 11 de Junho de 2013, 09:20
kleberkruger 0:ef0a1a6d4a40 6 */
kleberkruger 0:ef0a1a6d4a40 7
kleberkruger 0:ef0a1a6d4a40 8 #ifndef FAULTINJECTOR_H
kleberkruger 0:ef0a1a6d4a40 9 #define FAULTINJECTOR_H
kleberkruger 0:ef0a1a6d4a40 10
kleberkruger 0:ef0a1a6d4a40 11 #include "Utils.h"
kleberkruger 0:ef0a1a6d4a40 12
kleberkruger 0:ef0a1a6d4a40 13 typedef struct {
kleberkruger 0:ef0a1a6d4a40 14 char name[32];
kleberkruger 0:ef0a1a6d4a40 15 unsigned int startAddr;
kleberkruger 0:ef0a1a6d4a40 16 unsigned int endAddr;
kleberkruger 0:ef0a1a6d4a40 17 unsigned int size;
kleberkruger 0:ef0a1a6d4a40 18 } MemoryRegion;
kleberkruger 0:ef0a1a6d4a40 19
kleberkruger 0:ef0a1a6d4a40 20 class FaultInjector {
kleberkruger 0:ef0a1a6d4a40 21 public:
kleberkruger 0:ef0a1a6d4a40 22
kleberkruger 0:ef0a1a6d4a40 23 static const int DEFAULT_CHANGED_BYTES = 1; // Quantidade de bytes alterados em cada injeção de falha.
kleberkruger 0:ef0a1a6d4a40 24 static const int DEFAULT_CHANGED_BITS = 0; // Quantidade de bits alterados dentro do byte. (1 - 8); 0 = Aleatório.
kleberkruger 0:ef0a1a6d4a40 25
kleberkruger 0:ef0a1a6d4a40 26 FaultInjector();
kleberkruger 0:ef0a1a6d4a40 27 virtual ~FaultInjector();
kleberkruger 0:ef0a1a6d4a40 28
kleberkruger 0:ef0a1a6d4a40 29 void injectFaults(unsigned int changedBytes, unsigned int changedBits);
kleberkruger 0:ef0a1a6d4a40 30
kleberkruger 0:ef0a1a6d4a40 31 private:
kleberkruger 0:ef0a1a6d4a40 32
kleberkruger 0:ef0a1a6d4a40 33 unsigned int memorySize;
kleberkruger 0:ef0a1a6d4a40 34
kleberkruger 0:ef0a1a6d4a40 35 static MemoryRegion memoryRegions[];
kleberkruger 0:ef0a1a6d4a40 36
kleberkruger 0:ef0a1a6d4a40 37 unsigned int getByteMemory(unsigned int startAddr, unsigned int endAddr);
kleberkruger 0:ef0a1a6d4a40 38
kleberkruger 0:ef0a1a6d4a40 39 void injectFaults(unsigned int addrStart, unsigned int addrEnd,
kleberkruger 0:ef0a1a6d4a40 40 unsigned int changedBytes, unsigned int changedBits);
kleberkruger 0:ef0a1a6d4a40 41 };
kleberkruger 0:ef0a1a6d4a40 42
kleberkruger 0:ef0a1a6d4a40 43 #endif /* FAULTSINJECTOR_H */