-
Notifications
You must be signed in to change notification settings - Fork 2
/
main.c
executable file
·80 lines (73 loc) · 3.55 KB
/
main.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*! \mainpage Willkommen zum Mikrowebserver Projekt
*
* \section intro_sec Übersicht
*
* Zu Beginn der Aufstellung von Anforderungen an das uns gedanklich vorschwebende Projekt
* war eine Präzisierung der Funktionen des Microwebservers notwendig. Hier ging es vor allem
* um die vielseitige Nutzung des Gerätes, sowohl für Schüler, Studenten und Anfänger auf dem
* Gebiet der Programmierung als auch für fortgeschrittene Programmierer, Hobbyelektroniker
* und Dozenten in entsprechenden Unterrichtsfächern oder Kursen. Es sollte eine einfach zu
* bedienende und recht anschlussfreudige Entwicklungsumgebung für Schulungszwecke geschaffen werden,
* die aber auch im Hausgebrauch oder in der Industrie sinnvoll eingesetzt werden kann.
* Uns war aber auch klar, dass es schon eine Vielzahl von Mikrocontrollersystemen gab. Deshalb
* konzipierten wir ein System, welches den Ansprüchen an ein vollwertige Embbeded System gerecht wird,
* aber den Laien nicht mit Komplexität erschlägt. Folgende Funktionen sollte unser System vorweisen:
*<br>
*<br>
* * leicht zu programmierender Microcontroller <br>
* * kein Ausbau des Controllers aus der Hardware zum Programmieren (ISP)<br>
* * Programmieren in Assembler und C/C++ möglich<br>
* * vielfältige Schnittstellenverfügbarkeit wie RS232, SPI, USART, I2C(TWI), Netzwerk und Analogeingänge<br>
* * Debuggmodus (Industristandart JTAG) für Schulungs- und Entwicklungszwecke muss möglich sein<br>
* * hohe Taktrate des Systems (>10MHz)<br>
* * ausreichend Speicher (256kB Flash, 128kB RAM)<br>
* * kompakte Abmessungen der Platine<br>
* * wenige Bauelemente, geringe Beschaltung der IC`s<br>
* * großer Spannungsversorgungsbereich<br>
* * kostengünstige und leicht verfügbare Programmiersoftware und Programmiergeräte <br>
*<br>
* Dieses Projekt hat das Ziel, eine Entwicklungsumgebung für einen ATmega2561 mit einem
* Netzwerkinterface zu erstellen, das mit Hilfe des ENC28j60 von Microchip realisiert wird. Ziel ist
* es, eine Plattform für Entwickler zu bieten, der die wichtigsten Funktionen zur Verfügung
* stellt, so dass der Entwickler sich auf die eigentliche Applikation konzentrieren kann.
*/
/****************************************************************************
* main.c
*
* Mon May 29 20:26:59 2007
* Copyright 2007 Dirk Broßwick
* Email sharandac(at)snafu.de
****************************************************************************/
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "system/init.h"
#include "apps/apps_init.h"
#include "apps/modul_init.h"
#include "system/thread/thread.h"
void main(void) __attribute__((noreturn));
void main( void )
{
// System initialisieren
init();
// Applikationen initialisieren (http, telnet, cron, .... )
apps_init();
// Module initialisieren ( cmd, cgi .... )
modul_init();
while(1)
{
THREAD_mainloop();
}
}