Skip to content

Commit c380a25

Browse files
committed
first test
1 parent d9ab018 commit c380a25

File tree

9 files changed

+290
-43
lines changed

9 files changed

+290
-43
lines changed

AVRhal

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/AVRhal/driver)
7575
##########################################################################
7676

7777
add_subdirectory(AVRhal)
78+
add_subdirectory(test)
7879
add_subdirectory(src)
7980

src/io.c

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
2+
#include "GPIO/GPIO.h"
3+
4+
gpio_map_t data_map = {
5+
.size = 8,
6+
.gpio = { &gpio[ePORTK][0], &gpio[ePORTK][1], &gpio[ePORTK][2], &gpio[ePORTK][3], &gpio[ePORTK][4], &gpio[ePORTK][5], &gpio[ePORTK][6], &gpio[ePORTK][7] }
7+
};
8+
9+
gpio_map_t address_map = {
10+
.size = 20,
11+
.gpio = {
12+
&gpio[ePORTF][0],
13+
&gpio[ePORTF][1],
14+
&gpio[ePORTF][2],
15+
&gpio[ePORTF][3],
16+
&gpio[ePORTF][4],
17+
&gpio[ePORTF][5],
18+
&gpio[ePORTF][6],
19+
&gpio[ePORTF][7], // ADD7
20+
&gpio[ePORTA][4], // ADD8
21+
&gpio[ePORTA][6], // ADD9
22+
&gpio[ePORTC][7], // ADD10
23+
&gpio[ePORTH][6], // ADD11
24+
&gpio[ePORTL][1], // ADD12
25+
&gpio[ePORTB][5], // ADD13
26+
&gpio[ePORTA][2], // ADD14
27+
&gpio[ePORTB][0], // ADD15
28+
&gpio[ePORTL][3], // ADD16
29+
&gpio[ePORTB][7], // ADD17
30+
&gpio[ePORTA][0], // ADD18 / PGM
31+
&gpio[ePORTG][1], // ADD19
32+
}
33+
};
34+
35+
gpio_t * vpp_12v5 = &gpio[ePORTA][1];
36+
gpio_t * vpp_21v = &gpio[ePORTC][0];
37+
gpio_t * vpp_on = &gpio[ePORTG][2];
38+
39+
gpio_t * sig_oe_vpp = &gpio[ePORTE][5];
40+
gpio_t * sig_add11_vpp = &gpio[ePORTH][5];
41+
gpio_t * sig_add13_vpp = &gpio[ePORTB][4];
42+
gpio_t * sig_add15_vpp = &gpio[ePORTL][0];
43+
gpio_t * sig_add17_vpp = &gpio[ePORTB][6];
44+
gpio_t * sig_add19_vpp = &gpio[ePORTD][7];
45+
46+
gpio_t * CE = &gpio[ePORTC][5];
47+
gpio_t * OE = &gpio[ePORTE][3];
48+
gpio_t * PGM = &gpio[ePORTA][0];
49+
50+
51+
void reset_all(void)
52+
{
53+
set_output_map(&data_map);
54+
set_output_map(&address_map);
55+
56+
set_output(vpp_on);
57+
set_output(vpp_12v5);
58+
set_output(vpp_21v);
59+
60+
set_output(sig_oe_vpp);
61+
set_output(sig_add11_vpp);
62+
set_output(sig_add13_vpp);
63+
set_output(sig_add15_vpp);
64+
set_output(sig_add17_vpp);
65+
set_output(sig_add19_vpp);
66+
67+
set_output(CE);
68+
set_output(OE);
69+
set_output(PGM);
70+
71+
set_pins_map(&data_map, 0);
72+
set_pins_map(&address_map, 0);
73+
74+
set_low(vpp_on);
75+
set_low(vpp_12v5);
76+
set_low(vpp_21v);
77+
78+
set_low(sig_oe_vpp);
79+
set_low(sig_add11_vpp);
80+
set_low(sig_add13_vpp);
81+
set_low(sig_add15_vpp);
82+
set_low(sig_add17_vpp);
83+
set_low(sig_add19_vpp);
84+
85+
set_low(CE);
86+
set_low(OE);
87+
set_low(PGM);
88+
}

src/io.h

Lines changed: 24 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,28 @@
11

2-
gpio_t * data[8] = {
3-
&gpio[ePORTK]
4-
}
5-
6-
gpio_t * address[20] = {
7-
&gpio[ePORTF][0],
8-
&gpio[ePORTF][1],
9-
&gpio[ePORTF][2],
10-
&gpio[ePORTF][3],
11-
&gpio[ePORTF][4],
12-
&gpio[ePORTF][5],
13-
&gpio[ePORTF][6],
14-
&gpio[ePORTF][7], // ADD7
15-
&gpio[ePORTA][4], // ADD8
16-
&gpio[ePORTA][6], // ADD9
17-
&gpio[ePORTC][7], // ADD10
18-
&gpio[ePORTH][6], // ADD11
19-
&gpio[ePORTL][1], // ADD12
20-
&gpio[ePORTB][5], // ADD13
21-
&gpio[ePORTA][2], // ADD14
22-
&gpio[ePORTB][0], // ADD15
23-
&gpio[ePORTL][3], // ADD16
24-
&gpio[ePORTB][7], // ADD17
25-
&gpio[ePORTA][0], // ADD18 / PGM
26-
&gpio[ePORTG][1], // ADD19
27-
}
28-
29-
gpio_t * vpp_12v5 = &gpio[ePORTA][1];
30-
gpio_t * vpp_21v = &gpio[ePORTC][0];
31-
gpio_t * vpp_on = &gpio[ePORTG][2];
32-
33-
gpio_t * sig_oe_vpp = &gpio[ePORTE][5];
34-
gpio_t * sig_add11_vpp = &gpio[ePORTH][5];
35-
gpio_t * sig_add13_vpp = &gpio[ePORTB][4];
36-
gpio_t * sig_add15_vpp = &gpio[ePORTL][0];
37-
gpio_t * sig_add17_vpp = &gpio[ePORTB][6];
38-
gpio_t * sig_add19_vpp = &gpio[ePORTD][7];
39-
40-
gpio_t * CE = &gpio[ePORTC][5];
41-
gpio_t * OE = &gpio[ePORTE][3];
42-
gpio_t * PGM = &gpio[ePORTA][0];
2+
#ifndef IO_H_
3+
#define IO_H_
434

44-
void reset_all(void);
5+
#include "GPIO/GPIO.h"
6+
7+
extern gpio_map_t data_map;
8+
9+
extern gpio_map_t address_map;
10+
11+
extern gpio_t * vpp_12v5;
12+
extern gpio_t * vpp_21v;
13+
extern gpio_t * vpp_on;
4514

15+
extern gpio_t * sig_oe_vpp;
16+
extern gpio_t * sig_add11_vpp;
17+
extern gpio_t * sig_add13_vpp;
18+
extern gpio_t * sig_add15_vpp;
19+
extern gpio_t * sig_add17_vpp;
20+
extern gpio_t * sig_add19_vpp;
21+
22+
extern gpio_t * CE;
23+
extern gpio_t * OE;
24+
extern gpio_t * PGM;
25+
26+
void reset_all(void);
4627

28+
#endif

src/main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
#include "Debug.h"
1414
#include "System.h"
1515

16+
#include "io.h"
17+
1618
int main(void)
1719
{
1820
uint32_t max = 0xFFFFFFFF;
@@ -22,6 +24,8 @@ int main(void)
2224
while(UART_GetC() == UART_NO_DATA)
2325
{
2426
}
27+
28+
reset_all();
2529

2630
while(1)
2731
{

test/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
##########################################################################
2+
# "THE ANY BEVERAGE-WARE LICENSE" (Revision 42 - based on beer-ware
3+
# license):
4+
# <dev@layer128.net> wrote this file. As long as you retain this notice
5+
# you can do whatever you want with this stuff. If we meet some day, and
6+
# you think this stuff is worth it, you can buy me a be(ve)er(age) in
7+
# return. (I don't like beer much.)
8+
#
9+
# Matthias Kleemann
10+
##########################################################################
11+
12+
SET(EXECUTABLE_NAME "EPROM-Test")
13+
14+
FILE(GLOB_RECURSE _SOURCES *.c)
15+
FILE(GLOB_RECURSE _HEADERS *.h)
16+
SOURCE_GROUP("Header Files" FILES ${_HEADERS})
17+
18+
add_avr_executable(${EXECUTABLE_NAME} ${_SOURCES} ${_HEADERS})
19+
20+
avr_target_link_libraries(${EXECUTABLE_NAME} HAL)
21+

test/io.c

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
2+
#include "GPIO/GPIO.h"
3+
4+
gpio_map_t data_map = {
5+
.size = 8,
6+
.gpio = { &gpio[ePORTK][0], &gpio[ePORTK][1], &gpio[ePORTK][2], &gpio[ePORTK][3], &gpio[ePORTK][4], &gpio[ePORTK][5], &gpio[ePORTK][6], &gpio[ePORTK][7] }
7+
};
8+
9+
gpio_map_t address_map = {
10+
.size = 20,
11+
.gpio = {
12+
&gpio[ePORTF][0],
13+
&gpio[ePORTF][1],
14+
&gpio[ePORTF][2],
15+
&gpio[ePORTF][3],
16+
&gpio[ePORTF][4],
17+
&gpio[ePORTF][5],
18+
&gpio[ePORTF][6],
19+
&gpio[ePORTF][7], // ADD7
20+
&gpio[ePORTA][4], // ADD8
21+
&gpio[ePORTA][6], // ADD9
22+
&gpio[ePORTC][7], // ADD10
23+
&gpio[ePORTH][6], // ADD11
24+
&gpio[ePORTL][1], // ADD12
25+
&gpio[ePORTB][5], // ADD13
26+
&gpio[ePORTA][2], // ADD14
27+
&gpio[ePORTB][0], // ADD15
28+
&gpio[ePORTL][3], // ADD16
29+
&gpio[ePORTB][7], // ADD17
30+
&gpio[ePORTA][0], // ADD18 / PGM
31+
&gpio[ePORTG][1], // ADD19
32+
}
33+
};
34+
35+
gpio_t * vpp_12v5 = &gpio[ePORTA][1];
36+
gpio_t * vpp_21v = &gpio[ePORTC][0];
37+
gpio_t * vpp_on = &gpio[ePORTG][2];
38+
39+
gpio_t * sig_oe_vpp = &gpio[ePORTE][5];
40+
gpio_t * sig_add11_vpp = &gpio[ePORTH][5];
41+
gpio_t * sig_add13_vpp = &gpio[ePORTB][4];
42+
gpio_t * sig_add15_vpp = &gpio[ePORTL][0];
43+
gpio_t * sig_add17_vpp = &gpio[ePORTB][6];
44+
gpio_t * sig_add19_vpp = &gpio[ePORTD][7];
45+
46+
gpio_t * CE = &gpio[ePORTC][5];
47+
gpio_t * OE = &gpio[ePORTE][3];
48+
gpio_t * PGM = &gpio[ePORTA][0];
49+
50+
51+
void reset_all(void)
52+
{
53+
set_output_map(&data_map);
54+
set_output_map(&address_map);
55+
56+
set_output(vpp_on);
57+
set_output(vpp_12v5);
58+
set_output(vpp_21v);
59+
60+
set_output(sig_oe_vpp);
61+
set_output(sig_add11_vpp);
62+
set_output(sig_add13_vpp);
63+
set_output(sig_add15_vpp);
64+
set_output(sig_add17_vpp);
65+
set_output(sig_add19_vpp);
66+
67+
set_output(CE);
68+
set_output(OE);
69+
set_output(PGM);
70+
71+
set_pins_map(&data_map, 0);
72+
set_pins_map(&address_map, 0);
73+
74+
set_low(vpp_on);
75+
set_low(vpp_12v5);
76+
set_low(vpp_21v);
77+
78+
set_low(sig_oe_vpp);
79+
set_low(sig_add11_vpp);
80+
set_low(sig_add13_vpp);
81+
set_low(sig_add15_vpp);
82+
set_low(sig_add17_vpp);
83+
set_low(sig_add19_vpp);
84+
85+
set_low(CE);
86+
set_low(OE);
87+
set_low(PGM);
88+
}

test/io.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
#ifndef IO_H_
3+
#define IO_H_
4+
5+
#include "GPIO/GPIO.h"
6+
7+
extern gpio_map_t data_map;
8+
9+
extern gpio_map_t address_map;
10+
11+
extern gpio_t * vpp_12v5;
12+
extern gpio_t * vpp_21v;
13+
extern gpio_t * vpp_on;
14+
15+
extern gpio_t * sig_oe_vpp;
16+
extern gpio_t * sig_add11_vpp;
17+
extern gpio_t * sig_add13_vpp;
18+
extern gpio_t * sig_add15_vpp;
19+
extern gpio_t * sig_add17_vpp;
20+
extern gpio_t * sig_add19_vpp;
21+
22+
extern gpio_t * CE;
23+
extern gpio_t * OE;
24+
extern gpio_t * PGM;
25+
26+
void reset_all(void);
27+
28+
#endif

test/main.c

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* UART_Test.c
3+
*
4+
* Created: 26.10.2014 19:01:09
5+
* Author: Peter Buchegger
6+
*/
7+
8+
9+
#include <stdint.h>
10+
#include <stdio.h>
11+
#include "COM/UART.h"
12+
#define _DEBUG
13+
#include "Debug.h"
14+
#include "System.h"
15+
16+
#include "io.h"
17+
18+
int main(void)
19+
{
20+
uint32_t max = 0xFFFFFFFF;
21+
UART_Init(UART_BAUD_SELECT(9600, F_CPU));
22+
interrupts(1); //sei();
23+
24+
while(UART_GetC() == UART_NO_DATA)
25+
{
26+
}
27+
28+
reset_all();
29+
30+
while(1)
31+
{
32+
printf("TEST: %lu\n", (long unsigned int)max);
33+
DEBUG_OUT("HALLOOOO\n");
34+
}
35+
}

0 commit comments

Comments
 (0)