¿Cómo gestionan Ethernet Free-RTOS y mbed OS?

0

¿Sondean Free-RTOS y mbed OS para recibir los datos entrantes (o usan interrupciones)? Si es así, ¿existe el riesgo de que los datos que se reciban mientras el procesador está manejando otra tarea (por ejemplo, ejecutando un programa) se pierda el riesgo?

¿Los datos recibidos se almacenan en algún lugar de la memoria, por lo que se pueden recuperar cuando se llama a una función como recibir (...)? Me imagino que recibir (...) es simplemente devolver datos que el sistema operativo ha colocado en una ubicación de memoria particular. ¿Es este el caso?

    
pregunta M-R

1 respuesta

3

Para generalizar un poco su pregunta: ¿cómo maneja un sistema los datos que deben leerse desde el software de soporte y solo los lee el software más tarde? (El problema inverso también existe, por ejemplo, en un reproductor mpeg: los datos se generan en bloques y se consumen a una tasa fija). Ordenado por 'tiempo de respuesta':

  • el hardware periférico a menudo proporciona cierto almacenamiento en búfer, que va desde el búfer de unos pocos bytes en un UART hasta cadenas de bloques de datos en RAM dedicada (multiportada) para periféricos Ethernet.

  • El DMA (acceso directo a la memoria) se puede usar para colocar datos directamente en la RAM de la CPU, sin la intervención de la CPU.

  • las interrupciones se pueden usar para (temporal) hacer que la CPU maneje una tarea urgente, como configurar el siguiente bloque de datos para un periférico de Ethernet.

  • cuando la acción que debe realizarse en respuesta a una interrupción es más complicada, la rutina de interrupción establece un indicador, lo que hace que el RTOS cambie a una tarea que maneja el evento.

  • cuando el tiempo de respuesta no es muy crítico, la aplicación puede organizar que sondee el periférico con la frecuencia suficiente para mantenerse al día con el flujo de datos.

  • en un protocolo maestro-esclavo, el maestro controla cuándo el esclavo enviará datos, por lo que puede hacer que esto suceda cuando (el maestro) está escuchando (sondeando).

  • cuando todo lo demás falla, el protocolo de comunicación puede organizar la retransmisión de los datos.

respondido por el Wouter van Ooijen

Lea otras preguntas en las etiquetas