Optimierung einer Softwarebibliothek für sicherheitsrelevante
Optimierung einer Softwarebibliothek für sicherheitsrelevante
Optimierung einer Softwarebibliothek für sicherheitsrelevante
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4 Konzept und Implementierung 50<br />
Port P0 ist 32-Bit lang, also es besitzt 32 Pins P0.0-32. Diese Pins können entweder als<br />
Eingang, Ausgang, ADC, DAC oder PWM benutzt werden. Die Umschaltung geschieht<br />
mit Hilfe des Registers PINSEL 17 . Das Port P0 ist bitadressierbar sowie maskierbar: jedes<br />
der 30 zur Verfügung stehenden Pins dieses Portes können einzeln oder mehrfach<br />
manipuliert werden. Der Pin P0.31 ist nur als Ausgabeport zu benutzen. Der Pin P0.24<br />
ist nicht vorhanden.<br />
Die Pins wurden mit dem Walking Bit Verfahren getestet, da an den µController keine<br />
Peripherie angeschlossen wurde, müssten keine besonderen Schaltzeiten angehalten<br />
werden. Die Pins wurden in zwei Hälften aufgeteilt, eine dient als Ausgang, die andere<br />
als Eingang. Über die Ausgangspins wird eine „1“ geschoben und an den Eingangspins<br />
kontrolliert.<br />
Implementierung<br />
Das Board besitzt zwei ADCs mit jeweils 6 Kanälen, außerdem ein DAC. Alle Kanäle der<br />
ADCs wurden hardwaremäßig an den Ausgang des DACs angeschlossen. Zum Testen<br />
wurde das Prinzip der Plausibilitätsprüfung angewendet. Hierbei handelt es sich um einen<br />
Zusammenhang zwischen dem Ausgang(DAC) und Eingang(ADC): werden die<br />
ausgegebenen Werte größer, so müssen auch eingelesene Werte größer werden. Der<br />
Vergleich soll aber Toleranzen beinhalten, diese sollen an die Vergleichswerte angepasst<br />
sein. Die Toleranzen müssen vorhanden sein, weil jede Schaltung rauscht und die<br />
eingelesenen Werte dadurch verfälscht werden können.<br />
Das Testen geschieht <strong>für</strong> alle Kanäle der beiden ADCs und zwar nacheinander, weil die<br />
eingelesenen und konvertierten Werte in jeweils einem Register der ADCs gespeichert<br />
werden.<br />
4.1.7 ROM-Test<br />
Konzept<br />
Das gegebene Board Philips LPC2140 hat 512 KByte Programmspeicher bzw. ROM,<br />
dies zeigt die Abbildung 16 (siehe s.24).<br />
Der Adressbereich des ROMs befindet sich zwischen 0x00000000-0x0007FFFF. Dieser<br />
Speicher soll während des Betriebs immer unverändert bleiben. Weil im ROM das auszuführende<br />
Programm abgelegt wird, können kleinste Veränderungen im Speicher zu<br />
einem falschen Programmablauf führen, was natürlich verheerende Auswirkungen zur<br />
Folge haben kann.<br />
Implementierung<br />
Das ROM wird wie folgt getestet: beim Anlauftest wird eine 32-Bit lange Signatur (CRC)<br />
gebildet. Dabei wird angenommen, dass das Programm im Speicher korrekt ist. Diese<br />
16 in der Summe max. 8 – Anzahl der Sektoren im RAM