Enginyeria de programari per a sistemes embeguts (S1) |
Tema 1: Introducció als sistemes embeguts (1h)-Conceptes bàsics dels sistemes embeguts. Característiques diferencials-Tipus de sistemes embeguts-Aplicacions dels sistemes embeguts-Seguretat dels sistemes embegutsTema 2: Llenguatges de programació per a sistemes embeguts (1h)-Llenguatges de baix nivell per a sistemes embeguts. Assemblador-Llenguatges d'alt nivell per a sistemes embeguts. C i eines de compilació.-Llenguatges de scripting útils-Interfície entre diferents llenguatges de programacióTema 3: Arquitectures SW/HW per a sistemes embeguts (1h)-CPUs-Memòries-Hosted/Hostless-Flaix/Flashless-SDK i API de clients-EVKsTema 4: Desenvolupament de programari per a sistemes embeguts (1h)-Cicle de vida del desenvolupament de programari per a sistemes embeguts-Metodologies agiles de desenvolupament de programari per a sistemes embeguts-Eines de desenvolupament de programari per a sistemes embegutsTema 5: Descripció de característiques desitjables del flux de desenvolupament (2h)-Reduccion del Time-to-market-Definició de requisits-Funcionals-Temporals-Cost-Etc.-Arquitectura de Sistema -Co-disseny HW/SW -Plataformes de proves HW/SW-Simulacions-Emuladors-FPGAs-Definició d'interfícies HW/SW-HW drivers-Procés de bringup-Test Driven Development (TDD)-Control de versions (SCM)-Gestió de tasques i errors en projectes (Agile + Jira)-Tests de Sistema-Sistemes d'Integració Contínua-Test benches -DocumentacióTema 6: Disseny de programari per a sistemes embeguts (3h)-SW product line: HW and SW configurations-Arquitectura SW de capes, components i interfícies-Disseny per al re-use -Capes d'abstracció, HAL, OSAL.-Codi independent d'aplicació-Codi dependent d'aplicació-Components de tercers i qüestions legals-Disseny per a compatibilitat cap endarrere-Disseny escalable-Ús extensiu de tecnicas de programacion defensiva (assert)-Revisió mèdica de hard/soft deadlines-Xec |
-Eines de desenvolupament (GNU)-Sistema de control de versions (GIT)-Unit tests (Google Test)-Anàlisi Estàtica de Codi (CppCheck)-Cobertura de testatge (Gcov)-Anàlisi dinàmica de Codi (Valgrind/Electric Fence)Laboratori 3: Implementació de plataforma SW independent de l'aplicació sobre un simulador de RTOSLaboratori 4: Implementació d'utilitats per a debug (I)Laboratori 5: Implementació d'utilitats per a debug (I) Laboratori 6: Implementació de Mock per a simular un HW especifiqueLaboratori 7: Implementació d'una aplicació real estafe exemple sobre la plataforma anterior (I)Laboratori 8: Implementació d'una aplicació real estafe exemple sobre la plataforma anterior (II)Laboratori 9: Debug funcional de l'aplicacióLaboratori 10: Anàlisi de rendiment i ús de memòria |
Control de qualitat (QA) en sistemes embeguts (S2) |
TEORIA (15h)Tema 0: Conceptes de validació i assegurament de la qualitat (QA)-Model en V-Requisits-Proves-Depuració i defectes-Conceptes de CI i de #CD (Continuous Integration & Continuous Delivery)Tema 1: Definició de requisits-Requisits maquinari-Requisits programari-Requisits de sistema-Eines de gestió de requisitsTema 2: Definició de prova a partir de requisits-Eines existents vs pròpies-Tipus de proves (caixa negra, caixa blanca, funcionals, no funcionals...)-Definició d'indicadors clau de rendiment (KPI) a partir de requisits-Definició de criteris d'acceptació pass/failTema 3: Introducció a la validació de sistemes embeguts-Validació de sistemes embeguts vs sistemes programari:-Disponibilitat de recursos -Temps d'execució-Possibilitat d'automatització-Definició de sistema baix prova-Interacció amb el sistema baix provaTema 4: Execució i automatització de proves-Definició de bancs de prova-Proves automàtiques vs manuals: Per què automatitzar-Automatització:-Codificació: Control de canvis-Instrumentació-Execució-Informes-Eines:-Llenguatges de programació per a proves automàtics -Eines per a registrar progrés de proves-Frameworks de prova-Recol·lecció organitzada de dades per a informe de defectesTema 5: Defectes-Què és un defecte i com identificar-los -Com reportar un defecte correctament-Eines d'informe i traçabilitat de defectes Tema 6: CI per a productes embeguts-Què ofereix una eina de CI en la validació de productes embeguts:-Definició de treballs fàcilment repetibles-Distribució dels treballs entre maquinari disponible-Avantatges de tindre un CI automatitzat:-Optimització de temps maquina -Distribució de recursos -Informes de resultats automàtics-Gestió de bancs de prova:-Coexistència entre automatització i ús manual de recursos-Interacció dels components d'un entorn de CI |
|
Sistemes operatius en temps real (S3) |
TEORIA (10h)-Conceptes generals d'arquitectura de computadors-L'arquitectura (ISA: Instruction Set Architecture)-Diferències entre CISC i RISC-La #CPU (Unitat Central de Procés)-Unitat de control-ALU (Unitat Aritmètic-Lògica)-Busos-Cache d'instruccions-Pipelining-Registres-Cores-Memòria (#ROM, #RAM)-Memòria caixet-Perifèrics d'entrada/eixida-Interrupcions-Microcontroladors-Conceptes generals de programari-Llenguatges de programació-Relació entre joc d'instruccions, codi objecte i llenguatge assemblador-Tipus d'arxiu executable-Compiladors-El linker o enlazador-Linker scripts i scatter files-Memòria estàtica i dinàmica-El stack i el heap-El carregador d'arrencada o bootloader-Temps real i conceptes de RTOS-RTOS vs GPOS-Latency-RTOS vs bare-metall (super loop)-Kernel / Scheduler-preemptive estafe-slicing-cooperative estafe-slicing-Tick, Aneu-li task, Ticless aneu-li-Interrupcions maquinari i programari-Tasques i fils-thread stack-prioritats-Paral·lelisme i concurrència-Secció Crítica-Semàfors, mutex i operacions atòmiques-Cues de missatges o altres mecanismes-Condition variables-Problemes clàssics-productor/consumidor-condició de carrera-inversió de prioritats-Processadors multi-core-SMP (Symetric Multi-Processing)-AMP (Asymmetric Multi-Processing)-Comunicació entre tasques-Anàlisis dels RTOS més comunament usats-FreeRTOS-MicroC/US-II (uCOS)-ThreadX-RTEMS-Zephyr-VxWorks-RTOS en FPGAs-Processadors softcore. Exemples-Xilinx Microblaze-Tensilica Xtensa-Implementacions RISC-V (La meua-V RV32, NEORV32, FEMTORV32)LABORATORI (20h)Projecte d'un xicotet sistema controlat per RTOS:Control d'un ventilador accionat per motor #DC (PWM) de manera automàtica mitjançant sensor de temperatura i controlable mitjançant comandos per Ethernet. |
|
Projecte industrial en microelectrònica |
Els continguts del "Projecte Industrial en Microelectrònica" seran diferents depenent dels objectius concrets del projecte a realitzar. Poden ser objecte de tema d'aquells que siguen propis dels estudis del títol. En particular, es podran projectar tota classe de sistemes i dispositius microelectrónicos per quants procediments permeta realitzar l'enginyeria actual. També podrà ser objecte del Projecte Industrial en Microelectrònica els treballs de recerca i desenvolupament, i el modelatge teòric o numèric dels dispositius, circuits o sistemes microelectrónicos. Es podran considerar així mateix els estudis relacionats amb els continguts del títol relatius a equips, fàbriques, instal·lacions, serveis o la seua planificació, gestió o explotació. |
|