Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: декларирование переменных (перемещаемый код)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
ilya30
помогите разобраться с ошибкой...

текст программы (из заготовки поставляемой в пакете МПЛАБ):

list p=16f874 ; list directive to define processor
#include <p16f874.inc> ; processor specific variable definitions

;***** VARIABLE DEFINITIONS
udata
w_temp res 1 ; variable used for context saving
status_temp res 1 ; variable used for context saving
count res 1 ; temporary variable

RESET_VECTOR CODE 0x000 ; processor reset vector
movlw high start ; load upper byte of 'start' label
movwf PCLATH ; initialize PCLATH
goto start ; go to beginning of program

MAIN CODE
start
nop ; code starts here (example)
goto start
END ; directive 'end of program'


выдает ошибку:

MPLINK 4.05, Linker
Copyright © 2006 Microchip Technology Inc.
Error - section '.udata' can not fit the section. Section '.udata' length=0x00000003
Errors : 1


линкерный файл стандартный из пакета (МПЛАБ)
EugeneH
Попробуй вот что (либо одно из двух либо оба сразу)

1. В lkr файле заменить
SHAREBANK DATABANK NAME=gpr0 START=0x20 END=0x7F
SHAREBANK NAME=gpr0 START=0x120 END=0x17F

SHAREBANK DATABANK NAME=gpr1 START=0xA0 END=0xFF
SHAREBANK NAME=gpr1 START=0x1A0 END=0x1FF

2. Добавить туда же
SECTION NAME=.udata RAM=gpr0
ilya30
спасибо... уже разобрался... надо было udata_shr использовать при декларировании...
вообщето хреновая помощь по этому вопросу в МПЛАБ предусмотрена...
ответы нашел на буржуйских форумах...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.