Autor Tema: Punteros a codigo con kinetis de Freescale  (Leído 2722 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Krlosb

  • PIC10
  • *
  • Mensajes: 2
Punteros a codigo con kinetis de Freescale
« en: 28 de Enero de 2013, 05:27:26 »
Buenos dias Amigos, soy nuevo en este foro. Tengo un pequeño problema con unos punteros. Estoy trabajando con la familia k60 de Freescale.
Tengo una tabla de codigo con unos textos los cuales quiero visualizar.  La rutina para visualizar le paso la dirección del primer dato a visualizar pero me pasara una dirección erronea a la rutina.

const unsigned char VERSION[2][16]={
"     MODELO     ",
"   CM8V001R01   "};

SacaLCD((unsigned long*) &VERSION[0][0],16,LINSUP,0);

void SacaLCD(unsigned long *dir,unsigned char longitud,unsigned char linea,unsigned char pos){

   unsigned char a;

   WriteLCDCTR(linea|pos); // Se posiciona en el LCD
   for(a=0;a<longitud && *dir!='\0';a++,dir++)
      WriteLCD(*dir);      // Visualiza el dato
}


Si la dirección del priemer byte de VERSION[0][0] es 0x000046b9 , cuando entre en la rutina SacaLCD la dirección que me llega  ( dir )  es 0x000048e8. He probado direfentes modificaciones, el puntero en char, int,  pero siempre me pasa la dirección erroneamente. Si declaro la variable VERSION en RAM me la pasa correctamente. Pero deseo que sea una tabla de código.

Esto lo hacía siempre así trabajando con el complilador keil uvision para 8051, ahora el codewarior funciona diferente y no me reconoce correctamente esto. A Alguien le ha pasado algo así ?

Desconectado Krlosb

  • PIC10
  • *
  • Mensajes: 2
Re: Punteros a codigo con kinetis de Freescale
« Respuesta #1 en: 28 de Enero de 2013, 07:51:51 »

Bueno ya lo he solucionado.

Es cosa del compilador. Debemos entrar en propiedades del proyecto.
C/C++ Build
  Settings
     ARM Compiler - Processor

 Desactivar las pestañas Position-Independent  Code y Position-Independent Data.

De esta manera consigo que me pase la dirección de la tabla correctamente a la rutina.  :)

Saludos. 

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Punteros a codigo con kinetis de Freescale
« Respuesta #2 en: 28 de Enero de 2013, 11:28:21 »
Hola! Bienvenido al foro! Y gracias por dar la solución al problema.


Saludos!
No contesto mensajes privados, las consultas en el foro