Variables Pic32

Páginas: 10 (2441 palabras) Publicado: 3 de octubre de 2012
           

Distribución de memoria y Bootloader PIC32MX
Jorge Lara Espitia
La  representación  de  los  datos  y  como  estos  son  almacenados en la memoria del microcontrolador es un  factor  importante  a  la  hora  de  estar  programando  el  dispositivo.  Este  documento  muestra  algunos  fundamentos  básicos  en  la  distribución  de  la  memoria del PIC32MX y como a partir de un gestor de arranque  (Bootloader) puede ser actualizado sin necesidad de un  programador externo.   

ALMACENAMIENTO DE LA INFORMACION Y REPRESENTACIÓN DE DATOS  

  PIC32MX DISTRIBUCION DE MEMORIA  Las variables son almacenadas en el segmento de memoria KSEG1 Program RAM. 

  Por  ejemplo  cuando  se  crean  variables  en  el  programa  estas  se  almacenan  en  la  memoria  del  programa.   

 

GenericTypeDefs.h  Esta librería permite ver de forma simplificada los distintos tipos de variables en el compilador C.  Aquí se muestran a continuación: 

 

 

 

  DOUBLE Y LONG DOUBLE 

  En la distribución de memoria del microcontrolador PIC32MX en el Linker Script, se muestra como  los  datos  son  almacenados  en  esas  posiciones  de  memoria.  El  segmento  de memoria  es  el  kseg1_data_mem donde su inicio de almacenamiento de datos es la posición 0xA0000000 con una  longitud de 0x1000 posiciones o 4096d. 

   

  Aun no se sabe si al partir la memoria flash, puede garantizar almacenamiento de variables en esa  localización.  LINKER SCRIPT DEL PIC32MX795F512L  La ruta donde se encuentra instalado el archivo Linker es: C:\Program Files\Microchip\mplabc32\v2.02\pic32mx\lib\proc\32MX795F512L 
La extensión del Linker es *.ld               

CAPACIDAD DE MEMORIA RAM DEL PIC32MX  Para el PIC32 se construye un vector de 30000 posiciones con formato doublé, recordando que el  formato doublé tiene una capacidad de longitud de 32bits.  

  Se  alcanza  un  92%  total  de  la  memoria  RAM  del  PIC32MX  hasta  la  dirección  de  memoria 0xA001D4C0. Este 92% equivale a 131KB.  MANEJO DE LAS VARIABLES   Variables constantes (Const)  Las variables const se guardan en la memoria Flash del microcontrolador, es decir, el valor de estas  variables  no  pueden  ser  modificadas  por  el  programa,  solamente  de  consulta  (lectura).  Es  importante trabajar con este tipo de variables cuando estas no necesiten de modificación. Por lo general utilizar el comando #define es muy parecido, pero por compilador   Viendo  el  siguiente  ejemplo  de  como  estas  variables  son  almacenadas  en  las  memorias  Flash  y  RAM. 

  Se declaran variables tipo const que se pueden ver de diferentes maneras:     La variable radio es un vector de 4 posiciones tipo char (8 bits) y tiene sus propios datos ya precargados en el inicializador de la variable.  La variable radio2 es igual que radio pero con la diferencia que no están precargados los  valores.  La variable radio4 no es del tipo const, por tanto es modificable para el programa. 

    En el simulador se denota que la variable se encuentra en la memoria Flash por la letra P.  Cuando la variable es declarada tipo Const y esta no esta precargada con sus valores. La variable pasa a ser parte de la memoria RAM pero únicamente usándose como de lectura. Para tener en  cuenta basta con mirar la capacidad de memoria del microcontrolador. 

  Variables estáticas (Static)  Son  variables  que  retienen  su  valor  cuando  se  hacen  llamadas  entre  funciones,  debido  a  que  el  compilador  les  crea  una  posición  fija  en  memoria.  Veamos  el  siguiente  ejemplo  implementando variables tipo auto y tipo static en C32. 

  Se crean variables dentro de una función.     La  variable  x  es  de  tipo  char  y  es  estática.  Vemos  que  la  posición  en  memoria  RAM  del  microcontrolador inicia en 0xA0000002.  La  variable  y  también  es  estática  pero  tipo  short.  La  posición  en  memoria  RAM  es  la  0xA0000008.  La  variable  Z  también ...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Variables
  • Variable
  • Variables
  • variables
  • variable
  • variables
  • Variables
  • variables

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS