======= Información de la cátedra de TD III y del Curso Piloto de TDII ======= ===== TDIII Curso Regular. Calendario de Exámenes ===== * **Teórico Parcial 1:** 26/08/2023 14:00 hs * **Limite presentación Trabajo práctico 1:** 21/08/2023 23:59 hs. * **Teórico Parcial 2:** 02/12/2023 13:00 hs. * **Limite presentación Trabajo práctico 2:** 01/12/2023 23:59 hs. * **1er. Recuperatorio 1er. parcial:** 12/12/2023 19:00 hs. * **Limite presentación Trabajo práctico 1er. recuperatorio 1er. parcial:** 12/12/2023 23:59 hs. * **1er. Recuperatorio 2do. parcial:** 19/12/2023 19:00 hs. * **Limite presentación Trabajo práctico 1er. recuperatorio 2do. parcial:** 19/12/2023 23:59 hs. * **2do. Recuperatorio 1er. parcial:** 14/02/2024 19:00 hs. * **Limite presentación Trabajo práctico 2do. recuperatorio 1er. parcial:** 14/02/2024 23:59 hs. * **2do. Recuperatorio 2do. parcial:** 21/02/2024 19:00 hs. * **Limite presentación Trabajo práctico 2do. recuperatorio 2do. parcial:** 21/02/2024 23:59 hs. ===== Cursos Piloto TDII-TDIII ===== Se plantea un plan Piloto que implemente un abordaje continuo e integrado entre las asignaturas Técnicas Digitales II y Técnicas Digitales III, sobre //Embedded Systems// de altas prestaciones. Se propone a los estudiantes un curso avanzado que cumpla con los siguientes hitos: * Capitalicen y apliquen efectivamente los contenidos y capacidades adquiridas en __**Informática I**__ (programación en C utilizando los recursos del S.O. Linux), __**Informática II**__ (Programación de Embedded Systems simples basados en Microcontrollers, pero habiendo programado en alto nivel una variedad suficiente de periféricos), y __**Técnicas Digitales I**__ (Diseño Lógico a nivel RTL, Dispositivos FPGA, Lenguajes de Descripción de Hardware, e Introducción al diseño de softcores) * Distribuya el temario de manera equitativa y perfectamente integrada entre __**Técnicas Digitales II**__ y __**Técnicas Digitales III**__ * Integre fuertemente __**Técnicas Digitales II**__ con el área Digital, y descargue contenidos de manera significativa a __**Técnicas Digitales III**__ producto de la mencionada distribución entre ambas asignaturas. En [[https://docs.google.com/spreadsheets/d/1KGgo0gQi9-PM7iXhXZM2wv8rciDrlM5aB1L3HMIefAk/edit?usp=sharing]], pueden ver claramente la diferencia de carga de trabajo entre el curso Piloto y el Regular de __**Técnicas Digitales III**__. La diferencia es que las 10 primeras clases (Teóricas y de Laboratorio) del Curso regular de __**Técnicas Digitales III**__ se cubren en el curso Piloto de __**Técnicas Digitales II**__. Esto significa que el curso piloto de __**Técnicas Digitales III**__ //**se compone solamente de las 22 clases restantes del curso regular de dicha materia, pero expandidas en un cronograma de 32 clases**//. Esto le proporciona a los estudiantes un tiempo de asimilación y asentamiento de los conceptos significativamente mayor, así como un mayor tiempo de experimentación, aspecto fundamental para la la formación de un Ingeniero. Por ello, para cursar el piloto de __**Técnicas Digitales III**__ es condición obligatoria haber pasado por el curso piloto de __**Técnicas Digitales II**__. Pueden consultarse los programas analíticos de ambas asignaturas aqui->: __**[[pl_an-pilot | Planes Analíticos]]**__ ==== Slides de Clase ==== * __**[[td2_slides | Slides de clase Técnicas Digitales II Piloto]]**__ * __**[[td3_slides | Slides de clase Técnicas Digitales III Piloto]]**__ ==== Material de Estudio para ambos Cursos Piloto ==== Para complementar la Bibliografía que encontrarán en los __**[[pl_an-pilot | Planes Analíticos]]**__ de cada materia, se adjuntan a continuación algunos materiales que resultarán muy útiles para trabajar en los trabajos prácticos. //[[lnks | Consultá estos links útiles]]// ===== Curso TDIII Regular ===== ===== Temas Teóricos ===== * __**[[Device Tree Presentation]]**__ * __**[[Controladores de dispositivos (Device Drivers)]]**__ ===== Trabajos prácticos ===== * [[ gtp_1 | Primer cuatrimestre ]] * [[ gtp_2 | Segundo cuatrimestre ]] ===== Tutoriales ===== ==== ARM ==== - [[Inicialización de procesador Cortex-A8]] - [[Edición de device tree en Beagle Bone]] - [[guiasupervivenciald_arm|Guía de supervivencia del enlazador (Linker)]] - [[arm_interrupt_controllers|Controlador de Interrupciones Genérico (GIC)]] ==== Intel ==== - [[ switchto |Cambio de tareas en IA-32e ]] - [[ de0a3en64 |Cambiar de nivel cero a tres en IA-32e ]] - [[ abi64 |Consideraciones para integrar C y assembler en IA-32e ]] - [[ guiasupervivenciaasm|Guía de supervivencia de ensamblador]] - [[ guiasupervivenciald|Guía de supervivencia del enlazador (Linker)]] ==== Generales ==== - [[Tutorial de Yocto Project]] - [[ guiasupervivenciamake|Guía de supervivencia de MAKE ]] ===== Herramientas ===== - [[ bbx| Entorno de desarrollo]] - [[uso_del_GIT_para_la_entrega_de_tp|Utilización de GIT para la entrega de trabajos prácticos ]] ---- * Historico - [[ Instalación de la imagen de Linux de la cátedra ]] - [[ bochs| Instalación y configuración de Bochs]] - [[ Programación de las VBE del Bochs ]] ===== Enlaces externos ===== ==== Assembler ==== Existe una vasta cantidad de información y bibliografía que permite comprender y aprender el lenguaje ensamblador, y como este es implementado por los microprocesadores de arquitectura Intel o similar. * [[http://webster.cs.ucr.edu/|The Art of Assembly Language (Inglés)]] * [[http://www.alpertron.com.ar/INTEL.HTM|Excelente introducción sintética y en castellano a los procesadores Intel]] ==== Linux ==== Las conocidas guías Beej son un material muy bueno, con un enfoque muy didáctico y práctico, que permiten aprender mientras se programa. * [[http://beej.us/guide/bgipc/|Comunicación entre procesos (IPC)]] * [[http://beej.us/guide/bgnet/|Programación orientada a redes ethernet e IP]] * [[http://derekmolloy.ie/category/general/linux/|DRIVER]] Existen muchos libros muy buenos, algunos sobre sistemas operativos en general y otros sobre Linux en particular. - [[http://www.amazon.com/Understanding-Linux-Kernel-Third-Daniel/dp/0596005652/ref=sr_1_1?ie=UTF8&s=books&qid=1283438898&sr=8-1|Understanding the Linux kernel (Bovet,Cesati, 3rd ed)]] - [[http://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/0136006639/ref=sr_1_sc_1?ie=UTF8&qid=1283438984&sr=8-1-spell|Modern Operative Systems (Tanenbaum, 3rd ed)]] - [[http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=understanding+linux+kernel&x=0&y=0|Linux Device Drivers (Rubini, 3rd ed)]]