Skip to content
Snippets Groups Projects
Commit 6a5530d7 authored by Henrik Tjäder's avatar Henrik Tjäder
Browse files

Removed main.h

parent 9393daa2
Branches
No related tags found
No related merge requests found
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __main_H
#define __main_H
//#include "stm32f4xx.h"
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include "dwt.h"
#include "Trace.h"
#include <stm32f401xe.h>
#include "SRP.h"
#ifdef KLEE
#include "klee/klee.h"
#endif
/*
* Should be called with
*
* locks eventlist[], {L,R,S,E}, global_counter, resource={NONE,A,B....}
*/
#ifdef KLEE
#define TRACE_EVENT(event, el)({eventlist[event_count].time = 0; eventlist[event_count].action = event; eventlist[event_count].elem = el; event_count+=1;})
#else
#define TRACE_EVENT(event, el)({eventlist[event_count].time = DWT->CYCCNT; eventlist[event_count].action = event; eventlist[event_count].elem = el; event_count+=1;})
#endif
typedef enum
{
R_A,
R_B,
T_1,
T_2
} elem;
typedef enum
{
NOACTION,
/* Lock */
L,
/* Release */
R,
/* Start */
S,
/* End */
E
} action;
typedef struct locks
{
/* The DWT counter value */
uint32_t time;
/* Which element has been locked */
elem elem;
/* If locked or released */
action action;
} locks;
int main(void);
void start(locks eventlist[]);
void end(locks eventlist[]);
void release(locks eventlist[], elem elem);
void claim(locks eventlist[], elem elem);
int get_sign(int x);
void finish_execution(void);
void terminate_execution(void);
#endif /* __main_H */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment