реклама на сайте
подробности

 
 
> SDCC
sergey sva
сообщение Aug 11 2008, 13:06
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Сейчас пишу програмку для мк 89с51ed2, память у него конфигурируется в регистре AUXR и может быть
768 1024 1792. Когда писал программу под KEIL там был файл Startup.asm в нем после
метки Startup: можно было настроить все что нужно. В SDCC файл есть main.asm но если в него добавить
что то то, после компиляции все равно будет сгенерирован новый main.asm а этот заменяется.
на сайте sdcc есть что то по настройке, startup http://sdcc.sourceforge.net/doc/sdccman.html/node78.html
но что то мне это не чего не говорит, может кому приходилось это настраивать, помоги настроить пожалуйста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Oct 28 2008, 06:50
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Господа!
Если кому не в напряг, выложите, пожалуйста, пример makefile для SDCC с прикручиванием его к MPLAB. А то какой-то капризный этот mpasmwin...
Go to the top of the page
 
+Quote Post
msalov
сообщение Oct 28 2008, 08:01
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



Цитата(_Pasha @ Oct 28 2008, 08:50) *
Господа!
Если кому не в напряг, выложите, пожалуйста, пример makefile для SDCC с прикручиванием его к MPLAB. А то какой-то капризный этот mpasmwin...

Что может быть проще. Берите пример проекта в MPLAB-е и экспортируйте мейкфайл.
Код
# MPLAB IDE generated this makefile for use with GNU make.
# Project: MCHPUSB.mcp
# Date: Tue Oct 28 09:57:19 2008

AS = mpasmwin.exe
CC = mcc18.exe
LD = mplink.exe
AR = mplib.exe
RM = rm

MCHPUSB.cof : usbmmap.o usbdrv.o usb9.o usbdsc.o usbctrltrf.o user.o cdc.o crc.o settings.o cmd.o time.o ftoa.o history.o main_usb.o flash.o btobcd.o itobcd.o ltobcd.o button_lang.o Calculation_DER_DE.o lcd.o main.o menu.o menu_lang.o mkstr.o sound.o StateParent.o t1read.o t1write.o t3write.o upvv.o sysparams.o _time.o
    $(LD) /p18F67J50 /l"C:\MCC18\lib" /k"C:\MCC18\lkr" "usbmmap.o" "usbdrv.o" "usb9.o" "usbdsc.o" "usbctrltrf.o" "user.o" "cdc.o" "crc.o" "settings.o" "cmd.o" "time.o" "ftoa.o" "history.o" "main_usb.o" "flash.o" "btobcd.o" "itobcd.o" "ltobcd.o" "button_lang.o" "Calculation_DER_DE.o" "lcd.o" "main.o" "menu.o" "menu_lang.o" "mkstr.o" "sound.o" "StateParent.o" "t1read.o" "t1write.o" "t3write.o" "upvv.o" "sysparams.o" "_time.o" /u_CRUNTIME /u_DEBUG /u_DEBUGDATASTART=0xef4 /u_DEBUGDATALEN=0xc /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD2=1 /z__ICD2RAM=1 /m"MCHPUSB.map" /w /o"MCHPUSB.cof"

usbmmap.o : system/usb/usbmmap.c system/usb/class/cdc/cdc.h system/usb/usbdrv/usbdrv.h system/usb/usbmmap.c system/typedefs.h system/usb/usb.h autofiles/usbcfg.h system/usb/usbdefs/usbdefs_std_dsc.h autofiles/usbdsc.h system/usb/usbdefs/usbdefs_ep0_buff.h system/usb/usbmmap.h system/usb/usbctrltrf/usbctrltrf.h system/usb/usb9/usb9.h
    $(CC) -p=18F67J50 /i"C:\MCC18\h" "system\usb\usbmmap.c" -fo="usbmmap.o" -D__DEBUG -k -mL -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-

.......

clean :
    $(RM) "usbmmap.o" "usbdrv.o" "usb9.o" "usbdsc.o" "usbctrltrf.o" "user.o" "cdc.o" "crc.o" "settings.o" "cmd.o" "time.o" "ftoa.o" "history.o" "main_usb.o" "flash.o" "btobcd.o" "btobcd.ERR" "btobcd.lst" "itobcd.o" "itobcd.ERR" "itobcd.lst" "ltobcd.o" "ltobcd.ERR" "ltobcd.lst" "button_lang.o" "Calculation_DER_DE.o" "lcd.o" "main.o" "menu.o" "menu_lang.o" "mkstr.o" "sound.o" "StateParent.o" "t1read.o" "t1write.o" "t3write.o" "upvv.o" "sysparams.o" "_time.o" "MCHPUSB.cof" "MCHPUSB.hex" "MCHPUSB.map"
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Oct 28 2008, 09:50
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(gotty @ Oct 28 2008, 11:01) *
Что может быть проще. Берите пример проекта в MPLAB-е и экспортируйте мейкфайл.

У меня после компилера SDCC получается асмовый файл. Далее - асм и линкер мплабовский.
Проблема в том, что я выдрал где-то такой файл, и начал его переделывать
Код
PIC = 18f2431

NAME = MControl
PRJDIR = $(CURDIR)
SDCCDIR = C:/sdcc

SRC = main.c
SRCASM =
INCLUDE = -I$(SDCCDIR)/include/pic16

CC = $(SDCCDIR)/bin/sdcc
ASM = "C:/Program Files/Microchip/MPASM Suite/"mpasmwin.exe
LOAD =
#
#Note : rewrited for use with mpasmwin in command line mode
#ASMFLAGS = -c
ASMFLAGS = /c+ /m+ /o+
CFLAGS = -mpic16 -p$(PIC)
LDFLAGS = $(CFLAGS) -l libc18f.lib
OBJS = $(patsubst %.c,%.o,$(SRC)) $(patsubst %.asm,%.o,$(SRCASM))
LSTS = $(patsubst %.c,%.lst,$(SRC)) $(patsubst %.asm,%.lst,$(SRCASM))
ASMS = $(patsubst %.c,%.asm,$(SRC))

all: $(NAME).hex

$(NAME).hex : $(OBJS) $(SRC) $(SRCASM)
    @echo -n "Linking ... "
    @$(CC) -o $@ $(LDFLAGS) $(OBJS)
    @ls -l $@
    @echo "done"

%.o: %.asm
    @echo "Assembling ... $<"
    $(ASM) $(ASMFLAGS) $(PRJDIR)/$<

%.o: %.c
    @echo "Compiling ... $<"
    @$(CC) $(INCLUDE) $(CFLAGS) -S -c $<
    @$(ASM) $(ASMFLAGS) $*.asm

clean :
    @rm -f $(ASMS) $(LSTS) $(OBJS) $(NAME).lst $(NAME).hex $(NAME).cod


За линкер просьба не пинать - я до него еще не дошел.

Короче, при вызове $(ASM) $(ASMFLAGS) $(PRJDIR)/$< ,mpasmwin получает в командную строку путь $(PRJDIR) в линуксоидном формате и начинает рассказывать, что файл не найден. Попытка заставить асм взять файл из текущей директории - те же яйца. В общем, только с полными путями. Как проще всего слеши поменять ?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sergey sva   SDCC   Aug 11 2008, 13:06
- - AHTOXA   Там же в конце написано: ЦитатаThe recommended way...   Aug 11 2008, 13:47
- - sergey sva   скопировал crtasm.asm в директорию source, добав...   Aug 11 2008, 15:01
|- - AHTOXA   Цитата(sergey sva @ Aug 11 2008, 21:01) В...   Aug 11 2008, 16:05
|- - sergey sva   Цитата(AHTOXA @ Aug 11 2008, 20:05) Вы та...   Aug 11 2008, 16:12
- - sergey sva   Информацию по make и makefile, прочел вроде понятн...   Aug 20 2008, 13:25
|- - AHTOXA   Из main.c генерится main.asm, потом он транслирует...   Aug 20 2008, 16:07
|- - sergey sva   Цитата(AHTOXA @ Aug 20 2008, 20:07) Из ma...   Aug 20 2008, 16:39
|- - AHTOXA   А что это за регистр такой?   Aug 20 2008, 18:45
|- - sergey sva   Цитата(AHTOXA @ Aug 20 2008, 22:45) А что...   Aug 21 2008, 13:15
|- - SergeiCh   В документации на sdcc написано, что _sdcc_externa...   Aug 25 2008, 06:49
- - gotty   Цитата(_Pasha @ Oct 28 2008, 11:50) У мен...   Oct 28 2008, 11:06
|- - _Pasha   Цитата(gotty @ Oct 28 2008, 14:06) А може...   Oct 28 2008, 12:48
|- - Сергей Борщ   Цитата(_Pasha @ Oct 28 2008, 15:48) Я вкл...   Oct 28 2008, 12:54
|- - gotty   У меня складывается впечатление что MPLAB не испол...   Oct 28 2008, 13:45
|- - _Pasha   Цитата(Сергей Борщ @ Oct 28 2008, 15:54) ...   Oct 28 2008, 14:20
- - Сергей Борщ   Цитата(_Pasha @ Oct 28 2008, 12:50) Короч...   Oct 28 2008, 12:10


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 00:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01432 секунд с 7
ELECTRONIX ©2004-2016