coding

Antworten
Greeny
Beiträge: 12
Registriert: Do Mär 05, 2009 10:19 am

coding

Beitrag von Greeny »

Hi Leute,

ich versuche grad verzweifelt den MSII Code zu ändern und daraus wieder ne downloadbare s19 file zu erstellen.
Hab alles nach Anleitung installiert ( cygwin packages, Dev-C++, Toolchain, Downloader). Wenn ich jetzt den Code in Cev-C++ öffne und
erstmal nur versuch aus dem orginal Projekt ne s19 zu erstellen kommt schon gleich die erste Fehlermeldung:

C:\MsII>make 1>compile.txt
make: usrbinm6811-elf-gcc.exe: Command not found
make: ***[main.o] Error 127

Wenn ich mir das Codewarrior Projekt runter lade und dort die aktuelle main und hcs12.h usw rein lad, dann kommen gleich die ersten Errors:

Error: C12087: Not a valid operand
main.c line 2371
Error: C10000: Nothing more expected
main.c line 2371

zugehöriger Code:
asm {
ldy tmp1
ldd #1000
--> EMULS
ldx tmp2
EDIVS
sty tmp1
}

Wenn ich die assembler codes rausschmeiß dann klappts mit dem make, aber wenn ich dann auf den µC connecte und download startet kommt folgende Meldung:

Elf Loader:
Error while writing to 3C8000...3C8200
Information: No memory at this address.

Kann mir irgendwer sagen wie ich es schaffe den Code zu ändern und auf den MCU zu bringen ? :) wäre sehr dankbar, da ich nun schon paar Tage davor sitz und nix gebacken bekomm.

Codewarrior aktuelle Version installiert ( IDE version 5.9.0)
Dev-C++ Version 4 installiert

Grüße
dridders
Beiträge: 1274
Registriert: Do Sep 07, 2006 6:34 pm
Wohnort: Weidenbach
Kontaktdaten:

Re: coding

Beitrag von dridders »

Die Extra kannst du nicht mit Codewarrior uebersetzen, das ist GCC-Code. Codewarrior ist nur fuer die normale B&G, nicht fuer die MS2. Die B&G kannste dafuer nicht mit GCC uebersetzen.
Im Paket der Extra liegt eine make.bat. Die verwenden. Das Makefile ist fuer Unix und verwendet auch dementsprechende Pfade. Du musst das makefile.dos nehmen (wie der Name schon andeutet), und das macht eben die make.bat fuer dich.
Greeny
Beiträge: 12
Registriert: Do Mär 05, 2009 10:19 am

Re: coding

Beitrag von Greeny »

Hey dridders ,

erstmal danke für die Antwort.
Also wenn ich dieses Extra paket runter lad und da auf make klicke dann geht erstmal nix.
Wenn ich in der make.bat dann den richtigen Pfad angeb für die makefile.dos dann startet er die eingabeaufforderung und schreibt etwa 1000000mal "--makefile=Makefile.dos" und nix kommt dabei raus .P
Hab auch in der makefile.dos die GCC directory angegeben...

vielleicht kannst mir ja nochmal weiterhelfen...verzweifel langsam...


Grüße
dridders
Beiträge: 1274
Registriert: Do Sep 07, 2006 6:34 pm
Wohnort: Weidenbach
Kontaktdaten:

Re: coding

Beitrag von dridders »

haeng mal deine make.bat an, ggf. in .txt umbenennen oder so. Dann kann man evtl. mehr sagen. Ansonsten empfiehlt es sich immer eine Batch-Datei nicht anzuklicken, sondern von Hand eine Eingabeaufforderung zu oeffnen, mit cd ins entsprechende Verzeichnis zu wechseln und dort die Batch auszufuehren, dann siehst du naemlich auch was sie an Fehlern ausspuckt, wo beim anklicken sich einfach das Fenster schliesst.

RM kannst du einfach durch del ersetzen, wird aber auch nur beim Aufraeumen benoetigt.
Greeny
Beiträge: 12
Registriert: Do Mär 05, 2009 10:19 am

Re: coding

Beitrag von Greeny »

Hier die make.bat:

C:\MegaSquirt\MS2_Release_Firmware\ms2extra_Firmware\ms2extra\make --makefile=Makefile.dos %*
pause


Hier die Makefile.dos

#*******************************************************************
#* Makefile for MSII
#*
#* COPYRIGHT: Philip L Johnson 2004
#* This header must appear on all derivatives of this file.
#*
#*******************************************************************
# Extended for MS2/Extra by Ken Culver and James Murray 2006

#*******************************************************************
#* Modified to work with the condensed GCC compiler
#*
#* Brian Humlicek (EFI-Unlimited) 09-06-2006
#* more mods by JSM Now Makefile.dos
#*******************************************************************
# Limitations: Doesn't do "make release" and doesn't build the bootstrap code.
#
# $Id: Makefile.DOS,v 1.10.12.3 2008/01/13 01:16:53 jsmcortina Exp $

CC = c:/usr/bin/m6811-elf-gcc
OBJCOPY = c:/usr/bin/m6811-elf-objcopy
OBJDUMP = c:/usr/m6811-elf-objdump
NM = c:/usr/bin/m6811-elf-nm
RM = c:/usr/del

CFLAGS = -g -Wall -Werror -O -fomit-frame-pointer -m68hcs12 -mshort -msoft-reg-count=5 -mauto-incdec -fsigned-char -DGCC_BUILD

LDFLAGS = -Wl,-defsym,vectors_addr=0xff80,-m,m68hc12elfb,-T,m68hc12elfb.x

CSRCS=ms2_extra_can.c ms2_extra_can_isr.c ms2_extra_ego.c ms2_extra_ign.c ms2_extra_ign_wheel.c\
ms2_extra_main.c ms2_extra_misc.c \
premain.c ms2_extra_init.c sigs.c ms2_extra_ign_in.c ms2_extra_inj.c

ASRCS=msii_flash_gcc.s ms2_sermon.s ms2_conferr.s ms2_extra_burner.s \
ms2_extra_burnfactor.s isr_inj.s isr_sci.s isr_rtc.s ms2_extra_asm.s \
isr_timerovf.s isr_ign.s

OBJS=$(CSRCS:.c=.o)
AOBJS= $(ASRCS:.s=.o)

all: megasquirt

buildit: ms2_extra.elf ms2_extra.s19

megasquirt: setmegasquirt buildit
microsquirt: setmicrosquirt buildit

setmicrosquirt:
echous.bat

setmegasquirt:
echoms.bat

$(AOBJS): %.o: %.s
$(CC) $(CFLAGS) -c $<

$(OBJS): %.o: %.c cltfactor.inc egofactor.inc matfactor.inc hcs12def.h flash.h ms2_extra.h
$(CC) $(CFLAGS) -c $<

ms2_extra.elf: $(OBJS) $(AOBJS)
$(CC) $(CFLAGS) $(LDFLAGS) -o ms2_extra.elf $(OBJS) $(AOBJS)

ms2_extra.s19: ms2_extra.elf
$(OBJCOPY) --output-target=srec --only-section=.text3 --only-section=.rodata --only-section=.vectors --only-section=.eeprom --only-section=.lookup --change-section-lma .lookup=0x3Ca400 --only-section=.text3c --change-section-lma .text3c=0x3C8000 --only-section=.text3d --change-section-lma .text3d=0x3D8000 --only-section=.text3b --change-section-lma .text3b=0x3B8000 --only-section=.lookup --only-section=.text ms2_extra.elf ms2_extra.s19
# $(NM) ms2_extra.elf | sort > ms2_extra.map

.PHONY: clean
clean:
$(RM) -f ms2_extra.elf
$(RM) -f ms2_extra.s19
$(RM) -f ms2_extra.dmp
$(RM) -f ms2_extra.map
$(RM) -f $(OBJS) $(AOBJS)
$(RM) -f us_opt_c.h
$(RM) -f us_opt_asm.inc
Greeny
Beiträge: 12
Registriert: Do Mär 05, 2009 10:19 am

Re: coding

Beitrag von Greeny »

Mal davon abgesehen, dass ich die in dem Pack vorhandene ms2_extra.s19 nicht downloaden kann. Gehen irgendwie nur die normalen Codes, nich extra...


Edit: grad folgende Error bekommen beim extra code download:

ERROR: Could not read monitor prompt, 0x00 0x00 0x00

oder muss man extra mit der download-MS2-firmware.bat downloaden ?

Edit: Ok mit der download-ms2-firmware.bat funktionierts wohl. Fehlt mir nur noch dass ich ne eigene s19 machen kann.

Error message nach maken:

C:/MegaSquirt/MS2_Release_Firmware/ms2extra_Firmware/ms2extra/make was unexpected at this time.
Greeny
Beiträge: 12
Registriert: Do Mär 05, 2009 10:19 am

Re: coding

Beitrag von Greeny »

ja ok habs hinbekommen. hab mich schon gewundert dass die make.bat sich selbst aufruft :P

habs jezt auf die GCC make.exe verlinkt und nu gehts auch.


Danke dridders !
Antworten