[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-chat] Strange struct problem
From: |
Larry Barello |
Subject: |
RE: [avr-chat] Strange struct problem |
Date: |
Thu, 8 Dec 2005 21:39:51 -0800 |
I dunno. I built your code (-Os) and loaded the resulting dwarf-2 .elf file
into the simulator and it works just fine. The struct is initialize
properly and the correct values are passed into the uart_puts_hex() routine.
Maybe your problem is elsewhere?
avr-gcc -g -Wall -Os -std=gnu99 -Wa,-adhlns=testcase.lst -Wstrict-prototypes
-mmcu=atmega32 -gdwarf-2 -c -o testcase.o testcase.c
avr-gcc -Wl -mmcu=atmega32 -dwarf-2 testcase.o -o testcase.elf
Dwarf-2 and Astudio 4.12 is pretty good as a debug environment.
-----------
Larry Barello
www.barello.net
| -----Original Message-----
| From: Daniel O'Connor [mailto:address@hidden
| Sent: Thursday, December 08, 2005 8:45 PM
| To: Larry Barello
| Cc: address@hidden
| Subject: Re: [avr-chat] Strange struct problem
|
| On Fri, 9 Dec 2005 14:49, Larry Barello wrote:
| > Which version of the compiler are you using? I find it hard to believe
| > that something this fundamental (a static array of five chars) would go
| > unnoticed until now.
|
| Yeah, me too :)
| The .lst file shows buffer and abc are in the data section..
|
| The data section ends up in SRAM, right?
|
| > I took your test case, stripped it down and it appears that GCC does the
| > right thing: Because the data is initialized it sticks the struct onto
| the
| > stack then initializes the values.
| >
| > The version of GCC I am using is 3.4.3 (WinAvr)
|
| [inchoate 15:11] ~ >avr-gcc -v
| Reading specs from /usr/local/lib/gcc/avr/3.4.4/specs
| Configured with: ./configure --target=avr --disable-nls --
| prefix=/usr/local i386-portbld-freebsd7.0
| Thread model: single
| gcc version 3.4.4
|
| > Are you using some hacked version of the C runtime, or startup that
| isn't
| > initializing the SRAM data? Or is it possible you application is > 64k
| and
| > the initialized data segment is beyond the reach of the LPM command
| (IIRC
| > gcc can't access data > 64k, although the code can go that high)
|
| If you take my testcase.c file and do..
| avr-gcc -O2 -fno-strict-aliasing -pipe -g -Wall -Wunreachable-code -
| DF_CPU=16000000 -mmcu=atmega32 -Wa,-adhlmsn=testcase.lst -c testcase.c -o
| testcase.o
| avr-gcc -O2 -fno-strict-aliasing -pipe -g -Wall -Wunreachable-code -
| DF_CPU=16000000 -mmcu=atmega32 -Wl,-Map=testcase.map,--cref -g
| testcase.o -o testcase.elf
| avr-objcopy -j .text -O ihex testcase.elf testcase.hex
| avr-objdump -S testcase.elf > testcase.dmp
|
| You will get the code I am shoving into my micro, which I do with..
|
| avrdude -U flash:w:testcase.hex -p m32 -c alf -E vcc,noreset -q
|
|
| --
| Daniel O'Connor software and network engineer
| for Genesis Software - http://www.gsoft.com.au
| "The nice thing about standards is that there
| are so many of them to choose from."
| -- Andrew Tanenbaum
| GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
- RE: [avr-chat] Strange struct problem, (continued)
- RE: [avr-chat] Strange struct problem, Larry Barello, 2005/12/08
- Re: [avr-chat] Strange struct problem, Russell Shaw, 2005/12/08
- Re: [avr-chat] Strange struct problem, Daniel O'Connor, 2005/12/08
- RE: [avr-chat] Strange struct problem, Larry Barello, 2005/12/08
- Re: [avr-chat] Strange struct problem, Daniel O'Connor, 2005/12/08
- Re: [avr-chat] Strange struct problem, Ian Caddy, 2005/12/09
- Re: [avr-chat] Strange struct problem, Daniel O'Connor, 2005/12/09
- Re: [avr-chat] Strange struct problem, Eric Weddington, 2005/12/09
- Re: [avr-chat] Strange struct problem, Joerg Wunsch, 2005/12/09
- Re: [avr-chat] Strange struct problem, Daniel O'Connor, 2005/12/09
- RE: [avr-chat] Strange struct problem,
Larry Barello <=