BNG Bootloader Documentation



Ähnliche Dokumente
4D Server v12 64-bit Version BETA VERSION

Dokumentation IBIS Monitor

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Installationshinweise für Serverbetrieb von Medio- Programmen

2. Word-Dokumente verwalten

Installationsvoraussetzungen

Formular»Fragenkatalog BIM-Server«

Datensicherung. Beschreibung der Datensicherung

Hex Datei mit Atmel Studio 6 erstellen

Bedienungsanleitung. FAST SMS Set mit MacOS betreiben MAC

SJ OFFICE - Update 3.0

Bedienungsanleitung. FarmPilot-Uploader

Clients in einer Windows Domäne für WSUS konfigurieren

FastViewer Remote Edition 2.X

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Samsung Large Format Display

Dokumentation Typo3. tt - news - Nachrichtenmodul

DOKUMENTATION VOGELZUCHT 2015 PLUS

Duonix Service Software Bedienungsanleitung. Bitte beachten Sie folgende Hinweise vor der Inbetriebnahmen der Service Software.

Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers

Stepperfocuser 2.0 mit Bootloader

Computeria Solothurn

Persönliches Adressbuch

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

ICS-Addin. Benutzerhandbuch. Version: 1.0

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Projekte Packen, Kopieren und Versenden

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

SILBER SURFER. PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde. PC Internet / Cloud. Leitfaden zur Schulung

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

Installations Guide für YAJSW und DTLDAP

Switching. Übung 2 System Management. 2.1 Szenario

Handbuch B4000+ Preset Manager

Anwenderleitfaden Citrix. Stand Februar 2008

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

PC-Software für Verbundwaage

TEAMWORK-Uploader. Dokumentenaustausch mit dem PC

Serviceanleitung. Software Update. TRACK-Guide Bewahren Sie diese Serviceanleitung für künftige Verwendung auf.

Leitfaden für die Installation der freien Virtual Machine C-MOR Videoüberwachung auf XenServer ab Version 6.2

Tipps und Tricks zu Netop Vision und Vision Pro

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

TeamSpeak3 Einrichten

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein.

Patch Management mit

Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

RAID Software. 1. Beginn

Tutorial -

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

Handbuch PCI Treiber-Installation

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Mandant in den einzelnen Anwendungen löschen

Willkommen im Online-Shop der Emser Therme GmbH

Inhaltsverzeichnis : Sprachspeicher C 3000

Übung - Datensicherung und Wiederherstellung in Windows Vista

Outlook 2000 Thema - Archivierung

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Menü Dienstprog. Auftr.ber.-Stat. Demo drucken Verz. drucken Schrift. drucken Menüs drucken Netzkonf.<x> druck

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Buddy - Algorithmus Handbuch für Endnutzer Stand

Firewalls für Lexware Info Service konfigurieren

Benutzeranleitung Kontoverwaltung

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger

Datenaustausch mit dem BVK Data Room

IntelliRestore Seedload und Notfallwiederherstellung

Firewalls für Lexware Info Service konfigurieren

Computergruppe Heimerdingen Basiskurs. Karlheinz Wanja & Richard Zeitler

Navigieren auf dem Desktop

Bekannte Effekte bei Soft- und Hardware der ESTEC Datenlogger sowie der PC Auswertesoftware

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Leichte-Sprache-Bilder

Leitfaden für die Installation der Videoüberwachung C-MOR

Installation OMNIKEY 3121 USB

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Speichern. Speichern unter

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Kurzeinführung Excel2App. Version 1.0.0

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

prodent systems GmbH & Co. KG, Goethering 56, Offenbach Installationsanleitung von prox log Oktober 2011 Seite 1 / 13

Dokumentieren mit Eclipse und Doxygen

Übung - Datensicherung und Wiederherstellung in Windows 7

Was Sie bald kennen und können

Anleitung zum Download der aktuellsten GreenStar Software für Original GreenStar System (Stand: August 2005)

Datenaustausch mit dem BVK Data Room

UP4DAR HOWTO: Firmware-Update via RS232- Schnittstelle

Kommunikations-Management

Einfache Datenpflege mit typo3

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

Software- und Druckerzuweisung Selbstlernmaterialien

Transkript:

BNG Bootloader Documentation Release 0.2 Elias Medawar, Yves Peissard, Simon Honegger, Jonathan Stoppani 20. 04. 2010

Inhaltsverzeichnis 1 Abstract 1 2 Architektur 3 2.1 Überblick................................................. 3 2.2 Application Driver............................................ 4 2.3 Serial Interface Driver.......................................... 4 2.4 Command Parser............................................. 5 3 Spezifikation 7 3.1 Anforderungsspezifikation........................................ 7 3.2 Befehle.................................................. 8 4 Anlagen 11 4.1 Anlage 1: Planung............................................ 11 4.2 Anlage 2: Entwicklungs-prozess..................................... 11 4.3 Anlage 3: Ressourcen.......................................... 12 4.4 Anlage 4: Referenzen.......................................... 12 4.5 Anlage 3: TODOs............................................ 12 i

ii

KAPITEL 1 Abstract Dieses Projekt hat zum Ziel im Ramen des Kurses Mikroprozessoren 2 der Hochschule für Technik und Architektur einen Bootloader auf einem Mikrochip MC68332 zu implementieren. Dabei werden die behandelten Themen des Mikroprozessor Kurses Programmieren in C und Grundlagen Assembler angewendet. Nach Aufstarten des Mikrokontrollers kann eine externe Maschine (Terminal) mittels serieller Schnittstelle angeschlossen werden, mit der anschliessend Befehle eingegeben werden können um den Bootloader zu konfigurieren. Der Benutzer soll schliesslich unter zwei verschiedenen Anwendungen auswählen können, die er mit dem Bootloader starten will. Was ist ein Bootloader? Definition von Wikipedia: Ein Bootloader ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem BIOS bei IBM-kompatiblen PCs) eines Rechners von einem bootfähigen Medium geladen und anschließend ausgeführt wird. Der Bootloader lädt dann weitere Teile des Betriebssystems, gewöhnlich einen Kernel. 1

BNG Bootloader Documentation, Release 0.2 2 Kapitel 1. Abstract

KAPITEL 2 Architektur 2.1 Überblick In der obenstehenden Gesammtübersicht sind die einzelnen Komponenten und deren Verknüpfung dargestellt. Im folgenden Kapitel wird die Architektur der jeweiligen Komponenten näher beschrieben. 3

BNG Bootloader Documentation, Release 0.2 2.2 Application Driver Die Aufgabe der Application Driver ist es, das Applikationsverzeichnis zu verwalten und den aktuellen Ihnalt des Flashspeichers in den Arbeitsspeicher zu laden. 2.2.1 Flash Access API Mit der Flash Access API können entweder Flashspeicher, Arbeitsspeicher oder Festplatte benutzt werden. Die drei Hauptfunktionen der API sind lesen, schreiben und löschen. Der Zugriff auf den Flashspeicher ist nur mittels Mikrokontroller MC68332 möglich (Zielplattform). Lesen und/oder Schreiben auf Arbeitsspeicher oder Festplatte sind für Testzwecke gedacht (Debugging). 2.2.2 Application Register Wrapper Damit nicht direkt mit der Flash API gearbeitet werden muss, übernimmt der Application Register Wrapper die Ansteuerung der Flash Access API. Dies erleichtert das Entwickeln des Bootloaders und ermöglicht den Code des Application Driver übersichtlich zu gestalten. 2.3 Serial Interface Driver 4 Kapitel 2. Architektur

BNG Bootloader Documentation, Release 0.2 Der Serial Interface Driver ermöglicht die Kommunikation zwischen Zielplattform (MC68332) und Benutzer des Bootloader. Mittels eines Keyboards und einem Terminal werden Zeichen an den Mikrokontroller geschickt und das Resultat vom Kontroller anschliessend wieder an den Benutzer zurück geschickt. Funktionen wie put_char oder get_char müssen hier implementiert werden. Damit wir die Serielle Schnittstelle in unserer Testumbebung emulieren können werden wir ein Socket benutzen. 2.4 Command Parser Der Command Parser analysiert die einkommenden Befehle des Benutzerkeyboards und delegiert das Aufrufen der entsprechenden Methoden (siehe Commands). 2.4. Command Parser 5

BNG Bootloader Documentation, Release 0.2 6 Kapitel 2. Architektur

KAPITEL 3 Spezifikation 3.1 Anforderungsspezifikation 3.1.1 Funktional Muss Muss Ziele sind von der Projektspezifikation gegeben und müssen erfüllt werden. 1. Nach einschalten der Hardware wird der Bootloader automatisch gestartet 2. Der Bootloader muss eine Applikation aufnehmen und diese permanent speichern; 3. Der Bootloader muss eine permanente Applikation starten; 4. Der Benutzer muss eine exisitierende Applikation entfernen; 5. Binärdaten des Formats S-Record können behandelt werden; 6. Der Bootloader hat keine Auswirkung auf die funktionsweise der auszuführenden Applikation. Kann 1. Der Bootloader zeigt eine Auswahl an zu verfügung stehenden Applikation an; 2. Der Bootloader started nach einer gewissen Zeit eine vom Benutzer als default markierte Applikation; 3. Eine Applikation kann auf das Gerät geladen werden ohne es permanent zu speichern; Dies auch wenn der Speicherplatz des permanenten Specihers belegt ist. Dieses kann ausgeführt werden; Bei Neustart des Geräts ist dieses nicht mehr vorhanden. Nach nicht permanenten laden einer Applikation; ist der vorherige Zustand nach dem neustarten wieder hergestellt; 4. Nach permanentem speichern einer Applikation und späterer Löschung ist der Zustand für den Anwender unverändert; 5. Der Speicherplatz wird insofern optimal genutzt, dass keine unnötigen, nicht verwendbaren Lücken enstehen; 6. Es kann eine default Applikation gewählt werden, welche nach einem gewissen Timeout automatisch gestartet wird; 7

BNG Bootloader Documentation, Release 0.2 7. Eine default Applikation wird nicht mehr als 5 mal hintereinander autmatisch gestartet, falls dessen verarbeitung fehlerhaft war; 3.1.2 Nicht-Funktional 1. Der Code sowie Kommentar sind in englisch gehalten; 2. Der Source code muss dokumentiert sein; 3. Ein Nutzer mit shell Kentnissen kommt mit der Benutzerschnittstelle zurecht. D. h., das Grundprinzip des Eingebens von verschiedenen Kommandos und deren Parameter, sowie die Benutzung des Hilfe Befehls sollte dem Benutzer vertraut sein. 3.2 Befehle help Zeigt eine Liste aller möglichen Befehle an. help command-name Zeigt die Hilfe für command-name an. download [-b app-name [-d]] Lädt die folgenden Daten in den Arbeitsspeicher als eine SRecord Datei. -b app-id Führt den Befehl burn app-id aus. -d Setzt die Applikation als default Startanwendung burn app-name [-d] Speichert das sich im Arbeitsspeicher befindende SRecordFile in den Flashspeicher unter dem Namen app-name. -d Setzt die zu brennende Applikation als default Startanwendung run [-r app-id] Führt die default, oder die mit dem app-id identifizierte Applikation aus. -r Führt das sich im Arbeitsspeicher befindende SRecordFile aus. list Führt eine Liste der sich im Flashspeicher befindenden Applikationen auf. set [--default=app-id] [--timeout=seconds] [...] Setzt die Werte der gegebenen Konfigurationsoptionen. 8 Kapitel 3. Spezifikation

BNG Bootloader Documentation, Release 0.2 -d app-id Siehe --default-app --default=app-id Setzt die default Applikation -t seconds Siehe --default-app --timeout=seconds Setzt die Wartezeit nach der die default Applikation gestartet werden soll -e num Siehe --default-app --errcount=num Anzahl Neustarts im Falle eines fehlerhafen Starts einer Applikation. Sobald errorcount erreicht ist, wird das Timeout deaktiviert und den Bootloader wird in Terminal-Mode umschalten. bootconfig Führt die aktuelle Konfiguration (app-name, timeout, errorcount) des Bootloaders auf. erase app-id Entfernt die mit dem app-id identifizierte Applikation aus der Applikationsliste des Flashspeichers. 3.2. Befehle 9

BNG Bootloader Documentation, Release 0.2 10 Kapitel 3. Spezifikation

KAPITEL 4 Anlagen 4.1 Anlage 1: Planung Das folgende Bild zeigt die Großplanung für das Bootloader Projekt. Diese Planung wird während der Entwicklung kontinuierlich aktualisiert. Ein (Druck-geeignetes) PDF und das originale MS Project Dokument sind auch verfügbar: Planung PDF Dokument Planung MS Project Dokument 4.2 Anlage 2: Entwicklungs-prozess Das ganze Projekt wird auf github (http://github.com) verwaltet. Git Repository auf github: http://github.com/garetjax/bootloader 11

BNG Bootloader Documentation, Release 0.2 4.3 Anlage 3: Ressourcen 4.3.1 Interne ressourcen HTML Build der dokumentation: http://garetjax.github.com/bootloader HTML Build der spezifikation: http://garetjax.github.com/bootloader/api/ PDF Build der dokumentation: http://garetjax.github.com/bootloader/static/documentation.pdf PDF Build der spezifikation: http://garetjax.github.com/bootloader/static/api.pdf 4.3.2 Externe ressourcen Git: http://git-scm.com/ Sphinx: http://sphinx.pocoo.org Doxygen: http://www.stack.nl/~dimitri/doxygen/ 4.4 Anlage 4: Referenzen 4.5 Anlage 3: TODOs Sphinx ermöglicht das direkte Einfügen von zu tun Elemente in der Dokumentation. Diese Elemente können während des Builds durch eine Konfigurationsoption ausgeblendet werden. Um ein neues zu tun Element hinzuzufügen, ist die folgende Syntax zu verwenden:.. todo:: A simple text describing what we have to do. * But it could be * a list too * if the points are many Diese Elemente können durch die folgende Syntax in einer Auflistung zusammengefasst werden:.. todolist:: Hier unten sind alle, in der Dokumentation gefundene, zu tun Element aufgelistet (falls sie aktiviert sind). 12 Kapitel 4. Anlagen