SImulation AVR STUDIO Makefile ändern

Gast #992808
Lesenswert?

Hallo Leute!
Hab 2 Fragen an euch

 1)Was muss ich im Makefile im Projekt(oben)ändern, damit ich im
   AVR Studio den C-Code angezeigt bekomme ?

 2)Was muss ich eintragen um alles so angezeigt zu bekommen?
  http://www.mikrocontroller.net/attachment/28627/Disassembler.jpg


MfG GCC Neueinsteiger Kloster
Gast #992841
Lesenswert?

Hier nochmal der Inhalt des Makefile

######################################################################## 
#######

## General Flags
PROJECT = cdcio

MCU = atmega8


## 16500000 is for attiny45/85/461/861 only (RC+PLL mode)
CLK = 12000000UL


TARGET = $(PROJECT).elf
CC = avr-gcc.exe

## Options common to compile, link and assembly rules
COMMON = -mmcu=$(MCU) -DF_CPU=$(CLK)

## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -O3 -fsigned-char

## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += -x assembler-with-cpp -Wa,

## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS +=  -Wl,-Map=$(PROJECT).map


## Intel Hex file production flags
HEX_FLASH_FLAGS = -R .eeprom


## Include Directories
INCLUDES = -I"." -I"..\usbdrv" -I"..\."

## Objects that must be built in order to link
OBJECTS = usbdrv.o usbdrvasm.o main.o oddebug.o

## Objects explicitly added by the user
LINKONLYOBJECTS =

## Build
all: $(TARGET) $(PROJECT).hex $(PROJECT).lss size

## Compile
usbdrv.o: ../usbdrv/usbdrv.c
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

usbdrvasm.o: ../usbdrv/usbdrvasm.S
  $(CC) $(INCLUDES) $(ASMFLAGS) -c  $<

main.o: ../main.c
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

##Link
$(TARGET): $(OBJECTS)
   $(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o 
$(TARGET)

%.hex: $(TARGET)
  avr-objcopy -O ihex $(HEX_FLASH_FLAGS)  $< $@

%.lss: $(TARGET)
  avr-objdump -h -S $< > $@

size: ${TARGET}
  @echo
  @avr-size -C --mcu=${MCU} ${TARGET}

## Clean target
.PHONY: clean
clean:
  -rm -rf $(OBJECTS) $(PROJECT).*
Gast #992855
Lesenswert?

a)
Vermutlich nix (Ich verstehe die Frage aber nicht)

b)
nix. Das makefile hat damit nichts zu tun.
Das Programm mit build compilieren und linken, dann im Debug-Menu "Start 
Debugger" auswählen. Da sollte jetzt der C-Code der main-Funktion 
sichtbar sein, mit dem gelben Pfeil auf der ersten Klammer von main. Das 
Disassembler-Listing bekommt man danach im Menu View unter 
"Disassembler".

Oliver
#992908
Lesenswert?

Oliver wrote:

> b)
> nix. Das makefile hat damit nichts zu tun.

Natürlich hat das Makefile damit zu tun. Wenn beim Übersetzen den 
Objekt-Dateien keine Debug-Infos hinzugefügt werden, kann der Debugger 
auch keine C-Source-Zeilen zuordnen.


@ Kloster:

Wenn du AVR-Studio das Makefile erstellen lässt, dann füge "-gdwarf-2" 
zu den Custom-Options für [All files] hinzu.

Wenn du das Makefile selber verwaltest, dann füge folgendes hinzu:
CFLAGS += -gdwarf-2
ASMFLAGS += -gdwarf-2
Gast #992947
Lesenswert?

>Natürlich hat das Makefile damit zu tun. Wenn beim Übersetzen den
>Objekt-Dateien keine Debug-Infos hinzugefügt werden, kann der Debugger
>auch keine C-Source-Zeilen zuordnen.

Da hast du natürlich Recht.

>Wenn du AVR-Studio das Makefile erstellen lässt, dann füge "-gdwarf-2"
>zu den Custom-Options für [All files] hinzu.

Das sollte da nach anlegen eines neuen Projektes aber schon drinstehen.

Oliver
Gast #993107
Lesenswert?

ja, habe ich.

so steht es jetzt drin

## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -O3 -fsigned-char
CFLAGS += -gdwarf-2


## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += -x assembler-with-cpp -Wa,
ASMFLAGS += -gdwarf-2

immer wieder diesesdisassembler Fenster
:-(
Gast #993108
Lesenswert?

ja, habe ich.

so steht es jetzt drin

## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -O3 -fsigned-char
CFLAGS += -gdwarf-2


## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += -x assembler-with-cpp -Wa,
ASMFLAGS += -gdwarf-2

immer wieder diesesdisassembler Fenster
Gast #993169
Lesenswert?

Jetzt Habe ich Was Neues!

Während der Simulation verändert sich nichts im Input/Output Fenster
(Ich kann nicht sehen Welche Bits bei den DDRs PORTs gesetzt oder 
gelöscht werden, obwohl der Inhalt der Register r0-r16 sich ändert)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren