Göm meny

Laborationer TSEA28

OBS: Nya maskiner och mjukvara har installerats i MUX1 och MUX2. Beskrivningen nedan är uppdaterad, men annat material på andra platser är ibland inte helt korrekt


Labb 1-3 körs med hårdvara ansluten till maskiner i de låsta labblokalerna mux1 och mux2. Labb 4 kan köras direkt via thinlinc eller i labb bokat i schemat (för att avlasta thinlinc-servern). Labb 5 körs enbart på windows-maskiner i ett låst bokat labb.

Programvarorna använder alla grafiska gränssnitt. För att kunna köra dessa hemifrån/annat labb krävs därför att uppkopplingen som används klarar av grafik.

Central sida för hur fjärrinloggning görs finns på IT-stöds sida om fjärrinloggning. Den bästa/snabbaste responsen fås om man hemifrån ansluter till thinlinc.edu.liu.se, men om den krånglar kan det även vara intressant att istället använda ssh-anslutning eller rdp. Nedan beskrivs hur detta görs för linux, mac och windows.

Att arbeta hemifrån med lab1-3

Hårdvara och mjukvara till lab 1-3 finns bara på maskinerna i labben mux1 och mux2. Tillgång till dessa maskiner sker via ssh. Det finns lite olika vägar in beroende på hur du ansluter till universitetet, vilket summeras figuren nedan.
Gemensamt för metoderna är att man som sista steg alltid behöver använda kommandot ssh -XC muxenY-1nn där Y är 1 eller 2, och nn är ett värde 01-16, så t ex kommandot ssh -XC muxen1-101 loggar in dig på 1:a maskinen i labbet mux1.

Maskinerna i mux1 och mux2 kan bara användas av 1 student per maskin i kursen TSEA28, eftersom anslutna labbhårdvaran inte kan delas av flera personer samtidigt på en maskin. Däremot kommer det vara möjligt att andra studenter i andra kurser är inloggade samtidigt. För att kontrollera om maskinen redan är upptagen kan följande kommandon användas (efter att ni loggat in på en maskin i muxen-labbet):
module load courses/TSEA28
tsea28_active
Första raden ger tillgång till mjukvaran som används i TSEA28, och andra raden letar efter andra användare på samma maskin som redan startat code composer studio (programmet för assemblering och programmering av Darma-systemet). Om ni ser något liu-id som inte är ert eget räknas upp som svar på tsea28_active betyder det att maskinen redan är upptagen och ni inte kan använda den.

Notera: Använd INTE fjärrinloggning för att logga in på maskinerna i MUX1-labbet. Om ni behöver använda code composer studio ska inloggning göras till maskinerna i MUX2-labbet, namngivna muxen2-101.ad.liu.se t om muxen2-116.ad.liu.se. Kontrollera också att ni är ensamma på den inloggade maskinen mha kommandot w, och byt maskin (logga ut och logga in på en annnan maskin) ifall det redan är upptaget.

Att ansluta till laborationer via X11 protokollet för lab 1 - 4

Förutom möjligheten att ansluta via thinlinc och rdp finns även möjligheten att använda X11 för labb 1-4. Exakt hur man gör beror på vilken typ av OS man har.
Att köra laborationer hemifrån (Linux/MacOS)

Sitter du på Linux eller MacOS kan du antagligen logga in på ssh.edu.liu.se genom att i ett terminalfönster skriva följande kommando:

ssh -X dittanvändarnamn@ssh.edu.liu.se
(Flaggan -X (Notera det är stort X) används för att aktivera så kallad X11-forwarding, vilket gör att du kan köra både textbaserade program och grafiska program.) När du gjort detta kan du köra precis samma program som du gör när du sitter lokalt vid en ISY/IDA-dator.

För mac-användare: Den senare versionerna av MacOS X (Yosemite och framåt) inkluderar inte en X11 server. Den behöver installeras, se www.xquartz.org.

Att köra laborationer hemifrån (Windows)
Om du kör Windows finns det ingen X-server installerad som standard, men det finns ett ganska stort utbud på X-servrar att välja mellan. Den förra examinatorn brukade köra med cygwin, (vilket också ger möjlighet att köra typiska UNIX-kommandon under Windows, vilket kan vara intresant). Är du intresserad av detta kan du titta på exempelvis startsidan för cygwin.

Om du vill krångla så lite som möjligt så rekommenderar jag den fria versionen av MobaXterm. När du har installerat detta och startat det så kan du använda kommandot ssh -X här, precis som Linux och Mac-användare (se ovan). Se även denna film som visar ett exempel på hur smidigt mobaxterm är.

Att arbeta hemifrån med lab 5

Förberedelse av lab 5 kan göras genom att fjärrstyra (när labbet inte används för annan undervisning) en av maskinerna i Grinden-labbet. Dessa maskiner kör windows, så det går bara att logga in en i taget på dom.

Access till dom fås visa rdpklienter.edu.liu.se. Läs anvisningarna noga. Själva labbmaskinerna finns under B i vänstermenyn, välj sedan Grinden.

Viktigt: Var noga med att logga ut korrekt ur windowsmaskinen innan du stänger rdpklienten du använt. Om man missar detta kommer lab-kortet anslutet till den maskinen vara låst tills nästa dag.

Att testa lab1 på eget LaunchPad kort hemma

Ni som skaffat ett eget kort och vill testa kodlåsuppgiften saknar ett tangentbord. Ett sätt att ändå kunna emulera ett anslutet tangentbord är att göra på samma sätt som distansutrustningen i MUX2. Med en ansluten arduino uno kan ett tangentbord emuleras. Se även beskrivningen på gitlab av denna design https://gitlab.liu.se/kenpa88/tiva-c-launchpad-io-emulator.

Ett annat sätt att ändå kunna testa även utan en arduino är att skriva en speciell version av subrutinen getkey som läser tangenttryck från den anslutna datorn. Följande kod kan användas:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,
;
; Getkey mha serieport
; returnera i r4 ett värde 0-F beroende på vilket
; tecken som tryckts på datorns tangentbord
; Förstör r0
getkey:
    mov r0,#(UART0_UARTFR & 0xffff)
    movt r0,#(UART0_UARTFR >> 16)

waitinput:
    ldr	r4,[r0]
    ands r4,#0x10  ; Testa bit 4
    bne waitinput  ; inget data att hämta

    mov r0,#(UART0_UARTDR & 0xffff)
    movt r0,#(UART0_UARTDR >> 16)
    ldr r4,[r0]

    sub r4,r4,#0x30
    cmp r4,#0x09
    bls siffra
    sub r4,r4,#0x07
siffra:
    cmp r4,#0x0f
    bhi waitinput ; inte tecken 0-9 eller A-F, vänta igen
    bx lr
Denna version av getkey väntar på ett tecken från serieporten (ni måste välja terminalfönstret för att tecken ska skickas vidare) och om en siffra 0-9 eller A-F tryckts så returnerar subrutinen motsvarande värde. Notera att det inte fungera med a-f, den måste vara stora bokstäver (det kan vara en intressant övning ta bort denna begränsning).

Vid labbredovisningen krävs fortfarande att ni ska använda tangentbordet.

Informationsansvarig: Kent Palmkvist
Senast uppdaterad: 2024-01-18