Libros

Desarrollo con procesadores y módulos Rabbit
Autor: Sergio R. Caprile

Introducción
  • Microprocesadores
    • Arquitectura Von Neumann
    • RISC vs CISC
    • Wait-states
    • Arquitectura Harvard
    • Modos de direccionamiento
      • Registros
      • Inmediato
      • Directo
      • Indirecto
      • Indexado
      • Relativo
    • Ortogonalidad
    • Ancho de palabra de procesamiento
    • Espacio de direccionamiento de memoria
    • Buses multiplexados
    • VLIW
    • Manejo de memoria
    • Pipelining
    • Superscalar
    • Interrupciones, stack
  • Z80
    • Undocumented features
    • I/O
    • Z18
¿Por qué Rabbit ?
  • Core Modules
  • TCP/IP sobre Ethernet
  • Development kits
  • Dynamic C
  • Criterios de aplicación
Rabbit 2000
      
  • Introducción
    • Características principales
    • Características del diseño del procesador Rabbit
  • Mejoras
    • CPU
      • Registros
      • Instrucciones
      • Direccionamiento relativo en 16 bits
      • Operaciones lógicas y aritméticas en 16 bits
      • Instrucciones de I/O
    • Estructura de Interrupciones
  • Manejo de Memoria
    • Definiciones
    • Unidad de Manejo de Memoria (MMU)
    • Unidad de Interfaz a Memoria (MIU)
    • Cómo maneja la memoria el compilador de Dynamic C
  • Control de bancos de I/O
  • Periféricos en chip
    • Ports Serie
    • System Clock
    • Reloj de Tiempo Real
    • Watchdog Timer
    • Interrupción periódica
    • Ports I/O paralelo
      • Port A
      • Port B
      • Port C
      • Port D
      • Port E
    • Slave Port
    • Timers
      • Timer A
      • Timer B
    • Bootstrap
  • Diferencias
    • Registros
    • Instrucciones
      • Instrucciones de I/O
      • Instrucciones privilegiadas
        • Manejo del stack
        • Manipulación del registro IP: secciones críticas
        • Acceso al registro XPC: saltos largos calculados
        • Uso de semáforos
      • Interrupciones
Rabbit 3000
  • Introducción
    • Novedades
    • Principales diferencias con Rabbit 2000
  • Mejoras y diferencias
    • Manejo de Memoria
      • Espacios separados de Instrucciones y Datos
    • Bus auxiliar de I/O
    • Reducción de interferencias (EMI)
      • Spectrum spreader
      • Pines de alimentación separados para core e I/O
    • Periféricos en chip
      • Ports I/O paralelo
        • Port B
        • Port F
        • Port G
      • Ports Serie
      • System Clock
      • Timers
      • Captura de eventos
      • Entradas para codificadores en cuadratura
      • Salidas PWM
    • Interrupciones
C
  • Introducción
  • Variables
    • Tipos
    • Operadores
      • Operadores aritméticos
      • Operadores relacionales y lógicos
      • Incremento y decremento
      • Operaciones de bits
      • Asignación
      • Conversión de tipos
    • Constantes
  • Flujo
    • Sentencias de control
  • Punteros y arrays
  • Estructuras
  • Funciones
    • Tipos de variables
      • Locales o internas, auto
      • Externas (external)
      • Estáticas externas (external static)
      • Estáticas internas (internal static)
      • Register
    • Pasaje de parámetros
    • Recursividad
    • Punteros a funciones
Dynamic C
  • Introducción
  • Cómo portar aplicaciones a Dynamic C
    • Funciones para operaciones de I/O
      • Shadow registers
  • Características especiales
  • Diferencias
    • Encadenado de funciones (function chaining)
    • Variables protegidas (protected vars)
    • Variables compartidas (shared vars)
    • Tipos de variables
    • Restricciones
      • Macros
      • Variables globales compartidas (shared global vars)
      • Sentencias (statements)
  • Organización de la memoria en Dynamic C
    • Flash
    • RAM estática (SRAM)
  • Rabbit BIOS (Basic Input/Output System)
    • Modificación del BIOS
    • IDblock
    • User block
  • Manejo de memoria en Dynamic C
  • Procesamiento multitarea con Dynamic C
    • Co-sentencias (costates)
    • Co-funciones (cofunctions)
    • Sentencias de control (control statements
      • waitfor (expresión);
      • waitfordone {tarea};
      • yield;
      • Multitarea tipo preemptive: slice
  • Bibliotecas de funciones (libraries)
    • Encabezados (headers)
    • Archivos de soporte (support files)
  • Driver virtual (virtual driver)
    • Watchdog timers
  • Documentación

Networking
  • Ethernet
  • Principios básicos de Comunicaciones y Networking
    • Conexión y certeza
    • Modelo OSI (lo hizo la ISO)
    • Switching, bridging y routing
    • Firewall
  • TCP/IP
    • IP
      • Routing
      • DNS
      • Direcciones privadas y públicas
      • NAT
    • ICMP
    • TCP
      • Ports
      • Sockets
    • UDP
    • Aplicaciones
      • Telnet
      • SMTP
      • POP
      • FTP
      • HTTP
        • SSI, CGI
      • Configuración dinámica: DHCP, BOOTP
      • PPP

Networking con DC
  • TCP/IP en Dynamic C
    • Cliente SMTP
      • Datahandlers
    • Servidor HTTP
    • Cliente POP
    • Cliente FTP
    • Servidor FTP
    • Debugging
    • Usando TCPCONFIG
    • DHCP
    • Link
Ejemplos básicos
  • Ejemplos
    • LEDs
    • email
    • Servidor web
    • Servidor web avanzado
    • Sobre browsers y sesiones
    • Usando TCPCONFIG
Ejemplos no tan básicos
  • Más ejemplos
    • Multitarea cooperativo: costates
      • Arranque y detención de costates
    • Cofunctions
    • Indexed Cofunctions (cofunciones indexadas)
    • Single user cofunctions
    • Datahandlers: email on-the-fly
    • Máquinas de estados en web servers (CGI y SSI)
    • Assembler
    • Interrupciones
Comunicación serie
  • Puertos serie
    • Bibliotecas de funciones
      • RS232.LIB
      • PACKET.LIB
    • Ejemplos
      • Eco
      • Paquete
        • Longitud fija
        • Delimitador de fin de bloque
    • Ejemplos avanzados
      • Delimitador de fin de bloque
      • Longitud fija
    • RS232.LIB
    • PACKET.LIB

Proyecto
  • Control de Personal monitoreable via Ethernet con un módulo RCM2200
    • Descripción del lector RFID (GP8F-R2)
    • Hardware
    • Software
      • Manejo del display
      • Desarrollo del proyecto
        • Loop principal, tareas
        • SHTML primer
  • Información en el CD