Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подможите плиз с MPLAB IDE, запустить проект
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
NewComerDS
Народ кто работает с MPLAB IDE помогите сделать этот проект рабочим
чтобы компилировался в hex
а то уже замучился, сплошные ероры типа -
Error - could not find definition of symbol 'main' in file 'C:\MCC18\lib/c018i.o'.Нажмите для просмотра прикрепленного файла
NewComerDS
Ну ладно проект я типа запустил компилируется всё пучком, но может кто подскажет как сделать чтобы HEX начинался с 0x000800
... типа как тут ...
VXDRV
Цитата(NewComerDS @ Apr 29 2007, 18:54) *
Ну ладно проект я типа запустил компилируется всё пучком, но может кто подскажет как сделать чтобы HEX начинался с 0x000800
... типа как тут ...


Поставьте в исходнике директиву ORG h'0800' перед куском кода который должен отсюда начатся.
Позвольте поинтересоваться: А зачем вам это?
NewComerDS
Цитата(VXDRV @ Apr 29 2007, 23:49) *
Поставьте в исходнике директиву ORG h'0800' перед куском кода который должен отсюда начатся.
Позвольте поинтересоваться: А зачем вам это?



Вообщем план такой для прошивки PIC18F2550 используется бутлоадер которым и вписывается hex
, но hex должен начинаться с 000800 а у меня почамуто после компиляции он начинается с 000000
и после заливки hex ничаво не работает ;(


в проекте есть такая борода и как я пологаю все распределение адресов тута,? или я обшибаюсь
... я ж тока учусь


/** V E C T O R R E M A P P I N G *******************************************/

extern void _startup (void); // See c018i.c in your C18 compiler dir
#pragma code _RESET_INTERRUPT_VECTOR = 0x000800
void _reset (void)
{
_asm goto _startup _endasm
}
#pragma code

#pragma code _HIGH_INTERRUPT_VECTOR = 0x000808
void _high_ISR (void)
{
;
}

#pragma code _LOW_INTERRUPT_VECTOR = 0x000818
void _low_ISR (void)
{
;
}
#pragma code
*********************************************************************

и Если ORG h'0800' должно помочь то подскажите куда её сувать... Вот проект.
lebiga
Цитата(NewComerDS @ Apr 30 2007, 13:50) *
Вообщем план такой для прошивки PIC18F2550 используется бутлоадер которым и вписывается hex
, но hex должен начинаться с 000800 а у меня почамуто после компиляции он начинается с 000000
и после заливки hex ничаво не работает ;(
в проекте есть такая борода и как я пологаю все распределение адресов тута,? или я обшибаюсь
... я ж тока учусь
/** V E C T O R R E M A P P I N G *******************************************/

extern void _startup (void); // See c018i.c in your C18 compiler dir
#pragma code _RESET_INTERRUPT_VECTOR = 0x000800
void _reset (void)
{
_asm goto _startup _endasm
}
#pragma code

#pragma code _HIGH_INTERRUPT_VECTOR = 0x000808
void _high_ISR (void)
{
;
}

#pragma code _LOW_INTERRUPT_VECTOR = 0x000818
void _low_ISR (void)
{
;
}
#pragma code
*********************************************************************

и Если ORG h'0800' должно помочь то подскажите куда её сувать... Вот проект.


Все лучше делать в lkr файле своем, а не стандартном.
вот файл из боотлоадера пик18
LIBPATH .

CODEPAGE NAME=boot START=0x0 END=0x1FF PROTECTED
CODEPAGE NAME=prog START=0x200 END=0x7FFF
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED

ACCESSBANK NAME=accessram START=0x0 END=0x7F
DATABANK NAME=gpr0 START=0x80 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=gpr4 START=0x400 END=0x4FF
DATABANK NAME=gpr5 START=0x500 END=0x5FF
ACCESSBANK NAME=accesssfr START=0xF80 END=0xFFF PROTECTED

боотлоадер в boot. если нужно больше места - используй еще один CODEPAGE.
А ORG часто не помогает при объектно-ориентированном программировании.
NewComerDS
Всем Спасибо за внимание, поковырявши "lkr" действительно всё заработало..
Большой Спасибо 'lebiga' за совет.


Вот какой получился lkr :

**************************************************************************
LIBPATH .


CODEPAGE NAME=boot START=0x0 END=0x7FF PROTECTED
CODEPAGE NAME=vectors START=0x800 END=0x0x829 PROTECTED
CODEPAGE NAME=page START=0x82A END=0x7FFF
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED


ACCESSBANK NAME=accessram START=0x0 END=0x5F
DATABANK NAME=gpr0 START=0x60 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED

SECTION NAME=CONFIG ROM=config

STACK SIZE=0x100 RAM=gpr3

**************************************************************************
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.