Autor Tema: directiva udata  (Leído 1707 veces)

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

Desconectado cucu

  • PIC12
  • **
  • Mensajes: 74
directiva udata
« en: 22 de Abril de 2009, 08:17:19 »
Hola, tengo una duda con el uso de la directiva udata. Yo reservo una longitud de la memoria de datos de esta forma:

Código: [Seleccionar]

#define HEAP_LOCATION 0x0100
#define MAX_HEAP_SIZE 1792


    #pragma udata MultiBankHeap=HEAP_LOCATION
    unsigned char _uDynamicHeap[MAX_HEAP_SIZE];
    #pragma udata



Y luego pongo en el linker lo siguiente:
Código: [Seleccionar]
DATABANK   NAME=HEAP       START=0x0100         END=0x07FF     PROTECTED

Según yo entiendo, la longitud de los datos es END-START

Pero tengo el siguiente error del mplab:


MPLINK 4.20, Linker
Copyright (c) 2008 Microchip Technology Inc.
Error - section 'MultiBankHeap' can not fit the absolute section. Section 'MultiBankHeap' start=0x00000100, length=0x00000800
Errors    : 1


Y no entiendo nada, ¿alguien me puede ayudar a hacer claras mis ideas?

Gracias. Saludos