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
- Utilizzo del timer interno SysTick
- Consegnare la relazione tecnica
- Implementare in assembler il codice di esempio di Valvano in C
- 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
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C6_MicrocontrollerPorts.htm
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 5
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
- convenzioni per il passaggio di parametri alle funzioni scritte in assembler
- notazione polacca per le operazioni matematica
- 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
- 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
- [PDF] ARM Assembly Language Tools v5.2
- [PDF] ARM Optimizing C/C++ Compiler v5.2
- Code Composer Studio (CCS) Integrated Development Environment (IDE)
-------------------------------------------------------------------------------------------------------------- [PDF] ARM Optimizing C/C++ Compiler v5.2
- Code Composer Studio (CCS) Integrated Development Environment (IDE)
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
RIFERIMENTI / LINK
- slide del corso
- [PDF] ARM Assembly Language Tools v5.2
- [PDF] ARM Optimizing C/C++ Compiler v5.2
- Code Composer Studio (CCS) Integrated Development Environment (IDE)
-------------------------------------------------------------------------------------------------------------- [PDF] ARM Optimizing C/C++ Compiler v5.2
- Code Composer Studio (CCS) Integrated Development Environment (IDE)
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
- 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. add new .s file, usare il modello per i programmi assembler in CSS
- Il codice assembler dovrà:
. 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
. 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
- [PDF] ARM Assembly Language Tools v5.2
- [PDF] ARM Optimizing C/C++ Compiler v5.2
- Code Composer Studio (CCS) Integrated Development Environment (IDE)
-------------------------------------------------------------------------------------------------------------- [PDF] ARM Optimizing C/C++ Compiler v5.2
- Code Composer Studio (CCS) Integrated Development Environment (IDE)
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