Gast
#99896
Hallo, Ich arbeite mit einem ATmega162, avr-gcc 3.3.1, binutils 2.14 (avr-ld 2.14 20030612) Ich habe folgendes Problem: Beim Aufruf einer Funktion wird der Pointer auf eine lokale Variable übergeben um der Funktion zu ermöglichen dorthin zu schreiben. Dieser Pointer zeigt allerdings ausserhalb des gültigen RAM Bereiches der bei 0x4FF endet Er zeigt auf 0x500! Ich habe einen Auszug der Ausgabe von nm beigefügt wo ich aber keinen Fehler erkennen kann. Die relevanten Codeteile sind auch dabei. Ich verwende das Standard Linker Script und verwende auch sonst keine besonderen Compiler-Parameter CFLAGS = -g -Wall -O -mmcu=atmega162 -I/usr/avr/include LDFLAGS = -Wl,-t,-Map,main.map Ich habe diese Routine auch schon simuliert, allerdings kompiliert für den mega16 da der mega162 von simulavr nicht unterstützt wird, die Routine funktioniert, es dürfte sich eher um ein Implementierungsproblem handeln. Hat jemand eine Idee? PS Arbeitet eingentlich sonst auch jemand mit dem mega162, hab im Forum noch selten was drüber gefunden? Danke für die Hilfe Markus