mercoledì 3 giugno 2015

A.S. 2014/15 - Esercitazioni di laboratorio per la materia TECNOLOGIA E PROGETTAZIONE/2

ESERCITAZIONE 6 (Parallel IO ports)
1) Lampeggio dei tre led (white) presenti sulla scheda launchpad ad intervalli di 0,5 sec.
2) alla pressione del pulsante SW1 accendere i led con la sequenza RGB alla pressione del pulsante SW2 accendere i led con la sequenza CMY altrimenti accendere i tre led (white)

OBIETTIVI / ARGOMENTI TRATTATI
- Utilizzo delle porte GPIO per l'accensione e spegnimento di uno o più led
- Utilizzo delle porte GPIO per la lettura di uno o più pulsanti
- Utilizzo del timer interno SysTick

PROCEDIMENTO / SPECIFICHE INIZIALI
Consegnare la relazione tecnica
- Implementare in assembler il codice di esempio di Valvano in C 

GRIGLIA DI VALUTAZIONE:
[2 punti] - relazione: premesse teoriche/specifiche - come va inizializzato l'hw
[2 punti] - relazione: diagramma di flusso
[2 punti] - implementazione del codice in assembler (blinky_white, blinky_switch)
[2 punti] - utilizzo dell'ambiente di sviluppo (creazione progetto, debug)
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo

RIFERIMENTI / LINK
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C6_MicrocontrollerPorts.htm

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 5
- Implementazione di un buffer circolare

PROCEDIMENTO / SPECIFICHE INIZIALI
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 4
- Eseguire la moltiplicazione a doppia precisione (64bit) degli elementi (costanti a 32bit) corrispondenti di due vettori di 20 elementi
OBIETTIVI / ARGOMENTI TRATTATI
- istruzioni per la moltiplicazione
- istruzioni di shift
- risoluzione di algoritmi matematici
- convenzioni per il passaggio di parametri alle funzioni scritte in assembler
notazione polacca per le operazioni matematica

PROCEDIMENTO / SPECIFICHE INIZIALI
Consegnare la relazione tecnica
- i vettori di 20 word contenenti gli operandi da moltiplicare vanno definiti in rom
- il vettore contenente il risultato della moltiplicazione sarà di 40 word allocati in ram 

GRIGLIA DI VALUTAZIONE:
[3 punti] - relazione: premesse teoriche/specifiche - spiegazione algoritmo
[3 punti] - implementazione del codice in assembler
[2 punti] - utilizzo dell'ambiente di sviluppo
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo

RIFERIMENTI / LINK
- slide del corso
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 3
- Allocare in rom (flash) un vettore di 20 costanti comprese tra 0 e 32K (int unsigned), realizzare una routine che determini posizione e valore della costante minima e di quella massima e salvare in  memoria ram i valori min e max

OBIETTIVI
- analizzare le condizioni per i salti
- allocazione di vettori di costanti in rom
- allocazione di vettori di costanti in ram

PROCEDIMENTO / SPECIFICHE INIZIALI

RIFERIMENTI / LINK
- slide del corso
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 2
- Calcolo del complemento su un vettore di costanti

OBIETTIVI
- analizzare le condizioni per i salti
- analizzare le istruzioni aritmetico-logiche
- allocazione di vettori di costanti in rom
- allocazione di vettori di costanti in ram

PROCEDIMENTO / SPECIFICHE INIZIALI
- Creare un nuovo progetto in CCS:
  . new project, name addcomplement, stellaris LMS...., assembly- project
  . add new .s file, usare il modello per i programmi assembler in CSS
- Il codice assembler dovrà:
  . allocare un vettore di costanti in rom
  . allocare un vettore non inizializzato in ram
  . calcolare il complemento a 2 delle costanti presenti nel vettore in rom e memorizzarne i risultati nel vettore in ram
  . scrivere un codice di verifica che somma i due vettori e controlla che la somma sia nulla utilizzando un registro come flag per la segnalazione di un eventuale errore
- eseguire il debug del codice scritto verificando come viene modificato il contenuto dei registri e della memoria istruzione per istruzione
- Consegnare la relazione tecnica

RIFERIMENTI / LINK
- slide del prof. Giulio Vitale
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 1
Scrittura e verifica di un semplice programma in assembler.

OBIETTIVI
- familiarizzare con l'IDE CCS (Code Composer Studio)
- elementi di programma assembler

PROCEDIMENTO / SPECIFICHE INIZIALI
- Scaricare ed installare code composer studio
- Creare un nuovo progetto
- aggiungere al progetto il file .s presentato durante la lezione in classe
- eseguire il debug del codice scritto verificando come viene modificato il contenuto dei registri e della memoria istruzione per istruzione

-------------------------------------------------------------------------------------------------------------
[PDF] TI-RTOS 2.10User’s Guide

-------------------------------------------------------------------------------------------------------------
- http://users.ece.utexas.edu/~valvano/Volume1/lm4f120.s
-------------------------------------------------------------------------------------------------------------
Prima versione 02/02/2015

Nessun commento:

Posta un commento