Parcial 1: Lenguaje C Embebido y Layered Software. Flashcards

1
Q

Versión del lenguaje C que se usa en clase.

A

C99

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Son símbolos que nos indican cómo se deben de manipular los operandos.

A

Operadores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Tipos de operadores.

A
  • Asignación
  • Relacionales
  • Lógicos
  • Operaciones bit a bit
  • Condicionales
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definición de estructuras.

A

Colecciones de variables relacionadas bajo un mismo nombre, pueden contener variables de muchos tipos diferentes de datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Tipo de dato especial que permite almacenar diferentes tipos de datos en una misma ubicación de memoria.

A

Unión

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Este tipo de dato es uno que el usuario define, se utiliza principalmente para asignar nombres a constantes integrales.

A

Enumeraciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Con este modificador, se puede declarar una variable cuyo valor no cambiará. También, al usar este modificador, la variable se guardará en memoria de programa.

A

const

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué hace hace el modificador typedef?

A

Palabra reservada que proporciona un mecanismo para la creación de alias para datos previamente definidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Con este modificador, las variables conservan su valor aún después de estar fuera de su scope.

A

static

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué hace el modificador volatile?

A

El compilador no optimizará lo relativo a las variables con este modificador.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Menciona algunas directivas del compilador.

A
  • # define
  • # if
  • # ifdef
  • # ifndef
  • # endif
  • # pragma
  • # include
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué hace la directiva de compilador #pragma?

A

Permite al programador entregar un comando al compilador que éste podrá ejecutar para realizar ciertas tareas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Diferencia entre parámetro y argumento.

A

Parámetro -> Representa un valor que la función espera que se pase al llamarlo.

Argumento -> Representa el valor que la función recibe cuando es llamada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Diferencia entre puntero constante y puntero a constante.

A

El puntero constante es el que no pueden cambiar la dirección a la que apunta.

const int* ptr;

El puntero a constante es el que no puede cambiar el valor al que apunta.

int * const ptr;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Que es un apuntador a función?

A

Es una variable que almacena la dirección de una función que luego se puede llamar a través de ese puntero. Esto permite encapsular el funcionamiento.

void (*foo) (int)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿En qué consisten los periféricos mapeados a memoria?

A

Consisten en que tanto el procesador como los puertos I/O comparten la misma localidad de memoria.

17
Q

Área de memoria donde se guardan las variable locales, argumentos de función, contextos de interrupción, etc.

A

Stack

18
Q

Parte de la memoria donde se localiza la memoria dinámica del sistema.

A

Heap

19
Q

¿Dónde se guardan las variables globales?

A

Se guardan en una posición fija y permanente de la RAM.

20
Q

Explicándolo de la manera más simple, es un apuntador a función que se le pasa a una función como parámetro.

A

Callback.

21
Q

¿Qué son los guardas de inclusión?

A

Son lo que nos permite decirle al compilador que debe incluir el header file.

22
Q

¿Qué es el start-up file?

A

Archivo donde se encuentra la configuración básica de un MCU. Es el primer archivo que se ejecuta antes del main.

23
Q

¿Qué es polling?

A

Preguntar constantemente por valores.

24
Q

¿Qué es crossbar?

A

Es el que permite conectar cualquier cosa con el CPU y maneja la memoria del sistema.

25
Q

¿Qué es el slew rate?

A

Es el cambio que puede tener la salida (volts / segundos).

26
Q

Es el proceso de guardar en el stack el program counter, link register, registros 0 al 3, registro 12 y el processor stack register, esto sucede cuando se da una interrupción.

A

Stacking process.

27
Q

Diferencias entre foreground y background.

A
  • Foreground se refieren a las distintas interrupciones asíncronas que, cuando suceden, ejecutan ciertas tareas.
  • Background se refiere al loop infinito que habla a los módulos para realizar las operaciones deseadas (ejecución síncrona).
28
Q

Modelo de programación, cuyo objetivo es proveer de modularidad en el software diseñado.

A

Layered software

29
Q

Menciona algunas reglas para el layered software.

A
  • Sólo se puede acceder a los módulos por medio de APIs
  • Un módulo no puede comunicarse con una rutina de más alto nivel.
  • No se puede modificar un vector de interrupción de otro nivel.
  • Un módulo puede comunicarse con rutinas de niveles inferiores.
  • Un módulo puede llamar a una función dentro de su misma capa.
30
Q

Menciona los tipos de capas.

A

Son 3:

  • MAL -> Microcontroller Abstraction Layer, se refiere a los periféricos.
  • HAL -> Hardware Abstraction Layer, se refiere a las cosas externas al micro.
  • APP -> Application Abstraction Layer, es la aplicación.