vrijdag 14 maart 2008

Eerste ervaring materiaal & probleem LCD-scherm

Hallo

Sinds maandag hebben we de eerste ervaring met het te gebruiken materiaal achter de rug. Alvorens te kunnen beginnen met het ontwikkelen van software voor het doelplatform moesten we eerst openSuse 10.2 installeren op een gewone desktop-pc. De installatie verliep zonder al te veel problemen, er was slechts een klein probleem (de linuxdistributie wilde niet in grafische omgeving starten omdat de muis later bleek stuk te zijn) dat snel verholpen was.

Vervolgens hebben we een quickstart-guide gevolgd die bij de hardware geleverd werd om de juiste tools te installeren. Om te kunnen communiceren met het ontwikkelaarsbord hebben we ook een speciale versie van linux moeten compileren en die vervolgens op het doelbord "geflashed" (er is -miscchien voorlopig- geen enkel extern geheugen zoals HD's en dergelijke op het doelplatform beschikbaar).

We slaagden er ook in om het programma "Hello world" te laten werken op het doelplatform in 2 verschillende versies: één keer gaf het de output weer via de seriële poort zodanig dat we het resultaat konden waarnemen vanop de desktop pc, de andere keer verscheen de tekst op het aangesloten LCD-scherm.

Het LCD-scherm echter, brengt enkele problemen met zich mee. Hoewel we er reeds in slaagden om de tekst "Hello world" erop te doen verschijnen deden we dit door de tekst via een klein C programma naar het linux-apparaat /dev/vcs te schrijven. Dit is nuttig als je slechts één regel tekst moet schrijven maar heeft geen enkele zin wanneer je video, vensters, afbeeldingen enz. op het LCD-scherm wil afbeelden.
De bedoeling is dus, om de nodige gegevens naar het juiste geheugenadres te schrijven, na eerst enkele configuratie-instellingen naar andere geheugenplaatsen te schrijven (LCD aanzetten, brightness juistzetten, de startpositie voor de cursor aangeven ...). Gezien we echter geen opleiding van ingenieur achter de rug hebben is dit een moeilijke opdracht voor ons.

Voor de rest van de week zijn we dus (op aanraden van Dhr. Haluin) op zoek gegaan naar kleine voorbeeldprogrammaatjes die het gebruik van het LCD-scherm demonstreren voor het specifieke doelplatform. Informatie hierrond is echter héél schaars zowel op het internet als in boeken. Het enige voorbeeldprogramma waar we ondertussen over beschikken is één dat we kregen van de fabrikant Freescale (de fabrikant van de i.MX27 processor die op het doelplatform aanwezig is) na via e-mail contact op te nemen. Dit programma is echter wel gemaakt om te werken met de gebruikte processor, maar is niet ontwikkeld voor het exacte ontwikkelaarsbord (andere geheugenadressen van registers). Bijkomend probleem stelt zich ook omdat het met een aangepaste ontwikkelomgeving gecompileerd is, die niet compatibel is met ons ontwikkelaarsbord (andere compiler). Het voorbeeldprogramma zal waarschijnlijk wel een hulp zijn op gebied van enkele methodes maar kan dus onmogelijk op ons platform uitgevoerd worden.
Ondertussen hebben we ook contact opgenomen met de leverancier van ons ontwikkelaarsbord (Phytec) voor een voorbeeldprogramma maar we kregen nog geen reactie.
Dhr Haluin is zich bewust van het feit dat we geen ingenieursopleiding genoten hebben en zal ons persoonlijk proberen te helpen met het ontwikkelen van de nodige basisfuncties van zodra hij tijd heeft (momenteel heeft hij het te druk tot eind volgende week).
Hieronder enkele foto's de begrippen ontwikkelaarsbord en doelplatform moeten verduidelijken:

Het kleine lichtgroene deel is het doelplatform en is dus wat aanwezig zal zijn in het afgewerkte apparaat. De rest is het ontwikkelaarsbord met daarop aangesloten het LCD-scherm.

Hello world!


Linux werkend op de host-pc

Vanop afstand

Groeten uit Brive

Hannes Claerhout
Dieter Walckiers

Geen opmerkingen: