I3CPAC+-+Exercise+3

=Exercise 3=

Øvelse 1
a) Ved at følge referencerne på skemaerne finder vi at: USER_KEY = IO_26 SYS_LED2 = GPIO_186

b) I user manualen for OMAP aflæses IO's til USER_KEY = IO_26 = Bank 1 bit 26 SYS_LED2 = GPIO_186 = Bank 6 bit 26 == Figur er fra OMAPs User Manual Kapitel 25.

c) Vi vil Undersøge om GPIO_OE for henholdsvis USER_KEY og SYS_LED2 er sat til henholdsvis input og output Dette gøres ved at undersøge addressen for GPIO_OE for både USER_KEY og SYS_LED2. Først findes adressen, figuren herunder er OMAP User Manual:



Nu kan der skrives i linux terminalen: md.l 0x48310034 (User_key) = FEFFFEDF = 1111 1110 1111 1111 1111 1110 1101 1111 => bit 26 er 1 og dermed indput md.l 0x49058034 (Sys_led2) = FFFFFAF9 = 1111 1111 1111 1111 1111 1010 1111 1001 => bit 26 er 1 og dermed er den også sat til input Da Sys_led2 skal være udgang skal vi ændre på bit 26 på addressen 0x49058034 til FBFFFAF9 Det gøres med kommandoen : mw.l 0x49058034 fbfffaf9

d) Vi aflæser værdien for User_key når den trykkes og når den ikke gør, for at verificere at den skifter værdi, og dermed er sat op til indgang Det gøres ved at læse på GPIO_DIN Komandoen vi bruger er: md.l 0x48310038 aflæst til henholdsvis: 0E00003C og 0A00003C Det ses at bit 26 ændre sig fra 1 til 0 når knappen holdes nede. (aktiv lav)

e) Vi vil tænde/slukke dioden Led1 som er forbundet til Sys_led2 Det gør vi ved at skrive til GPIO_DOUT mw.l 0x4905803c 04000506 Det slukker led1 (aktiv lav)



Øvelse 2
a) Vi startede med at ændre makefilen ud fra opgaveteksten, rimelig simpelt. Vi følger sådan set bare opgaven.

b) I denne opgave skulle vi lave et simpelt program der gjorde det muligt at tænde for SYS_LED2 ved at trykke på USER_KEY. Der skulle ændres i filen Hello_World.bin C-koden er vist herunder:

c) Programmet kompileres ved brug af kommandoen. make examples (under mappen u-boot-1.3.3)

d) Vi skulle overføre programmet til vores target. Det første der gøres er at installere minicom (apt get-install minicom), og herefter benyttes dette istedet for gtkterm. Når minicom er åben, trykkes der på en tast således at devkit forbliver i U-boot. Herefter overføres vores program til devkittet. Programmet overføres ved at skrive: loady 0x8030000 Herefter skal der trykkes Ctrl og A, og herefter Z. Der kommer så en menu, hvor der trykkes S (for at sende). Herefter går man ind i den mappe hvor ens program ligger (dobbelt mellemrums tast), og programmet bliver derved overført.

Til sidst køres programmet ved kommandoen: go 0x8030000;

Hvorefter vores terminal går amok med udskrifter, og vi kan tænde/ slukke SYS_LED2 med USER_KEY.