-
Notifications
You must be signed in to change notification settings - Fork 0
/
nvsram.c
57 lines (51 loc) · 1.59 KB
/
nvsram.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include "nvsram.h"
#include "ugfx_assert.h"
#include "gpio.h"
void NVSRAM_test1(void)
{
int stn1;
int stn2;
int stn3;
int stn;
int i;
bool st = false;
char hello[256];
const char txt1[] = "HELLO world\r\n";
const char txt2[] = "HELLO fucken world\r\n";
const char txt3[] = "Людина в світ зерно нести повинна , як зерно носить людям колосок.Ми є. Були. І будем ми! Й Вітчизна наша з нами.";
stn1 = strlen(txt1);
stn2 = strlen(txt2);
stn3 = strlen(txt3);
strcpy(hello, txt1);
strcpy(hello + stn1 + 1, txt2);
strcpy(hello + stn1 + stn2 + 2, txt3);
stn = stn1 + stn2 + stn3 + 3;
for (i = 0; (i * stn + stn) < NVSRAM_size(); i++)
{
NVSRAM_write(i * stn, (const uint8_t*) hello, stn);
}
while (1)
{
for (i = 0; (i * stn + stn) < NVSRAM_size(); i++)
{
NVSRAM_read(i * stn, (uint8_t*) hello, stn1);
assert(memcmp(hello, txt1, stn1) == 0);
NVSRAM_read(i * stn + stn1 + 1, (uint8_t*) hello, stn2);
assert(memcmp(hello, txt2, stn2) == 0);
NVSRAM_read(i * stn + stn1 + stn2 + 2, (uint8_t*) hello, stn3);
assert(memcmp(hello, txt3, stn3) == 0);
}
if (st)
{
GPIO_SetBit(GPIOC, BIT11);
}
else
{
GPIO_ClrBit(GPIOC, BIT11);
}
st ^= 1;
}
}