Programación en C para sistemas Embebidos

si

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Programación en C para sistemas Embebidos por Mind Map: Programación en C para sistemas Embebidos

1. Partes de MSP430

1.1. tabla vector

1.2. funcion especial para registros

1.3. 16 bit modulos perifericos

1.4. RAM

1.5. Flash/ROM

1.6. 8 bit modulos perifericos

2. MSP430

2.1. 125 ns instrucciones en 1 ciclo

2.2. 16 BIT

2.3. Arquitectura Risc

3. Seleccion de tipo de datos

3.1. si un puntero no se usa declarar const

3.1.1. Uso de punto flotante

3.1.1.1. constantes de punto flotante por defecto son double, excepto que se las especifique como float. a += 1.0 // double a += 1.0f // float

3.1.1.2. usar float 32 bits en lugar de double 64bits

3.1.1.3. operaciones de punto flotante ineficiente en ejecucion y memoria

3.2. evitar punto flotante

3.3. bit menor a 1

3.4. evitar double y long long

3.5. usar el tipo pequeñó

4. Estructuras y uniones anonimas

4.1. nombre de miembros tiene alcance fuera de la estructura o union

4.2. compilador c puede tener extensiones q las permite

4.3. prpias del lenguaje c++

4.4. son de utilidad para manipular los registros del procesador que mapean en direcciones de memoria

4.4.1. Por ejemplo: el registro U0CTL (Control de USART0)

4.5. tambien son de utilidad para definir variables booleanas ahorrando memoria

4.6. se debe poner flags = 0

4.7. Modificar o testear algún flag: if( waitingSomeEvent && someEvent ) { someEvent = 0; }

5. Alineamiento de estructuras

5.1. los datos de tamaño mayor que un byte deben estar alineados en direcciones pares.

5.1.1. En los de 32 bits, se alinean en direcciones múltiplos de 4.

5.2. El compilador agrega bytes de relleno para alinear variables

5.3. También se hace alineamiento dentro de las estructuras.

5.4. El acceso a variables desalineadas requiere de más instrucciones de máquina.

6. Paso de parametros a funciones

6.1. consume tiempo y puede consumir memoria de la pila.

6.2. se pueden pasar en registros y/o a través de la pila.

6.3. Una función con hasta 4 parámetros los recibe en registros (R12, R13, R14 y R15). Ejemplo: void f2(unsigned char b, int n) { int a, i; for(i=0, a=0; i<n; ++i) a += b+i; }