Abschlussbericht
Abschlussbericht
Abschlussbericht
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Abschlussbericht</strong><br />
Trusted Sensor Node<br />
DEFINES enthält eine Auflistung von Defines, die dem Compiler übergeben werden sollen.<br />
Die Angabe muss ohne das Prefix -D erfolgen, dieses wird automatisch hinzugefügt.<br />
ULIBS enthält eine Liste von Bibliotheken, die mit in das Programm eingebunden werden<br />
sollen. Hierbei sind nicht die eCos Bibliotheken anzugeben.<br />
Im eCos des TSN wird keine main() Funktion unterstützt. Eine Applikation beginnt immer<br />
mit der Funktion cyg_user_start(). Listing 3.6 zeigt das Grundgerüst für eine TSN<br />
eCos Applikation.<br />
#include <br />
#include <br />
#include "build.h"<br />
static cyg_handle_t _simple_thread;<br />
static cyg_thread _thread_s;<br />
static char _stack[4096];<br />
static void _app_thread(cyg_addrword_t data)<br />
{<br />
diag_printf("\r\neCos Application (build %d)\r\n",<br />
(unsigned int) data);<br />
for (;;) {<br />
/* waiting forever */<br />
}<br />
}<br />
return;<br />
void cyg_user_start(void)<br />
{<br />
(9, _app_thread, (cyg_addrword_t) build_ver, "app",<br />
(void *) &_stack[0], 4096, &_simple_thread,<br />
&_thread_s);<br />
}<br />
cyg_thread_resume(_simple_thread);<br />
Listing 3.6: Application Skeleton<br />
Die Applikation des Skeleton startet einen neuen Thread mit der Priorität 9 und der Funktion<br />
_app_thread(). Als Argument wird ihr die externe Variable build_ver, die von dem<br />
Skript build.sh erzeugt wird, übergeben. Die Funktion gibt eine kurze Meldung auf der<br />
Debug-Konsole des LEON2 Prozessor aus und wartet anschließend in einer Endlosscheife.<br />
Bibliothek erstellen Erstellt man Funktionen, die in mehreren Applikationen genutzt<br />
werden sollen, kann es zweckmäßig sein, diese in eine Bibliothek auszulagern. Hierzu<br />
55