dutch german
  Hoofdpagina Projecten Elektronica Meubelbouw Recepten Corgies Over mij
  Elektronica 80c552 µC-board Mainboard Voorversterker Eindversterker Printplaten maken Gereedschap
80c552 µC-board
Geheugenopbouw
Schema
Software
GAL
Printplaat

Software

Download

De software voor dit board kan als compleet pakket van de homepage van Elektuur geladen worden onder de naam 030042-11.zip. Aangezien de controller geen eigen bootstraploader heeft, moet deze in de flash staan en moet de flash dus één keer, voor het eerste gebruik, extern geprogrammeerd worden. In de file Flash552.hex in de directory Flash bevindt zich het besturingssysteem OS552 (een aangepaste versie van het OS535 van Wickenhäuser) en een klein hello-world-programma. Na het programmeren en inzetten van de flash is het board klaar voor gebruik.

Besturingssysteem

Het centrale element in de software is het besturingssysteem OS552. Hiermee wordt het mogelijk het board te debuggen en de flash in-circuit te programmeren. Diect na de start wordt het besturingssysteem geladen, het board bevindt zich in de debugmodus. Het stuurt via de seriele poort een commando aan de PC. Als daar de debugger of de FlahMon, dan wordt een commando teruggestuurd en blijft het board in de debugmodus. Deze toestand wordt door het knipperen van de LED bevestigd. Als er van de PC geen commando terug komt, dan controlleert het OS552 of er in de flash op adres 0x00000 de waarde 0x02 (LJMP) ligt. Als dat zo is, dan gaat het systeem er van uit, dat er een geldig userprogramma is schakelt in de runmodus. Het programma vanaf adres 0x00000 in de flash wordt in het programmageheugen gemappt en gestart. In de hex-file Flash552.hex is als userprogramma een hello-world-programma geïntegreed. Het geeft op een terminalprogramma (bijv. Hyperterminal onder Windows) de text "Hello World" uit, dat na het drukken van een toets wordt herhaald.

In-circuit-programmering

Het programma FlashMon uit de ontwikkelingsomgeving van Wickenhäuser maakt het mogelijk, het flashgeheugen in de schakeling nieuw te programmeren. Voor de eerste test moet de .bix-file in de bin-directory van de ontwikkelingsomgeving door die in de zip-file vervangen worden.

Als bij het inschakelen van het board dit door een serieel kabel met de PC verbonden is en het programma FlashMon loopt, dan wordt het besturingssysteem op het board in de programmeermodus geschakeld. Nu kan met FlashMon de flash gewist en nieuw geprogrammeerd worden. Bij het eerste commando wordt de .bix-file in het RAM-geheugen van het board geladen. Deze file is de flashloader, die de commando's van FlashMon in ontvangst neemt en de flash nieuw programmeert of wist. Bij het wissen van de flash wordt alleen het userprogramma gewist, het OS552 wordt niet aangetast.

Debugging

Met de softwaredebugger SLD51 kan software in het RAM-geheugen van het board geladen en getest worden. De gebruikelijke mogelijkheden zoals single-step, run en breakpoint worden ondersteund. Verder kan de inhoud van registers bekeken worden. Als SLD51 bij het inschakelen van het board loopt, dan schakelt dit in de debugmode en wacht op commando's van de debugger.

Valid XHTML 1.0 Transitional
Valid CSS!
01.11.2010 19:10u