Si, me sonaba conocido
, solo que en Microchip tengo otro nick. El tema es que mi nick anterior y de siempre era el de microchip, al quererme registrar en el viejo miarroba... no me dejaba porque ya existía! asi que lo tuve que cambiar por el nick que usaba en los chats de linux y aquí quedé
Si te fijas en el linker file no defines nada que se llame BANK1 , y en ese pic como te fijas, todo es 'shared' por ende debieras hacer algo así como reemplazar
BANK1 udata
por
gpr0 udata_shr
En relocatable mode uno por un lado define las variables y la zona que ocupará. La zona uno 'la define' como le plazca (siempre que entre en el pic por supuesto, si no entra también se puede definir pero en la práctica no va a funcionar) pero esa zona debe estar definida en el linker file, sino salta el error porque te dice que no hay espacio suficiente.
En tu código le estas diciendo que las variables las ubique en BANK1 pero para el linker la zona bank1 tiene 0 bytes de tamaño (porque no existe) y de allí el error.