#include <stdbool.h>
|
|
#include "hal.h"
|
|
|
|
typedef struct {
|
|
volatile uint32_t state[4];
|
|
volatile uint32_t status;
|
|
} My_Mem;
|
|
|
|
#define MY_MEM ((My_Mem*)(0xF0030000))
|
|
|
|
void writeReadState(uint32_t * state)
|
|
{
|
|
for(unsigned i = 0; i < 4; i++)
|
|
{
|
|
MY_MEM->state[i] = state[i];
|
|
}
|
|
for(unsigned i = 0; i < 4; i++)
|
|
{
|
|
state[i] = MY_MEM->state[i];
|
|
}
|
|
}
|
|
|
|
void printState(uint32_t * state)
|
|
{
|
|
printf("State:\n");
|
|
for(unsigned i = 0; i<4; i++)
|
|
{
|
|
printf("%i\n",state[i]);
|
|
}
|
|
}
|
|
|
|
void printStatus(uint32_t status)
|
|
{
|
|
printf("Status: %i\n", status);
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
printf("HELLO WORLD\n");
|
|
|
|
uint32_t state[4] = {10000, 65, 4242, 85328};
|
|
uint32_t status = 12;
|
|
// MY_MEM->status = status;
|
|
|
|
while (1)
|
|
{
|
|
printState(state);
|
|
writeReadState(state);
|
|
printState(state);
|
|
|
|
// status = MY_MEM->status;
|
|
// printStatus(status);
|
|
|
|
for(unsigned i = 0; i < 4; i++)
|
|
{
|
|
state[i] = state[i]+1;
|
|
}
|
|
|
|
}
|
|
return 0;
|
|
}
|