I'm recompiling the binutils for the 430X branch on a Win Box. Leaving aside that it takes a couple of hours to reach the first error, I cannot seem to overcome it.
It's either something about deprecated dos to posix path function or a segmentation fault of some sort.. I tried cleaning the workspace and reinstalling the newest version of cygwin (read binutils), to no end. Anybody got a working mspgcc for the 430X microcontrollers? I'm giving up hope and will suggest buying a compiler if I can't make it work until Friday. Mihai --- On Wed, 9/22/10, thln <[email protected]> wrote: > From: thln <[email protected]> > Subject: Re: [Mspgcc-users] the dreaded x-branch > To: "GCC for MSP430 - http://mspgcc.sf.net" > <[email protected]> > Date: Wednesday, September 22, 2010, 5:22 PM > > Hello, Michiel > > I compile your version (based on binutils-2.18, gcc-3.2.3) > on Linux > (ubuntu) and it works, thank you! > Addressing goes well with the 20bit > > Finally, there is however a problem when I defined a > section in fardata > (0x10500) the compiler truncates the address (0x0500)! > 10c18: d1 42 00 05 > mov.b &0x0500,2(r1) > ;0x0002(r1) > I have not defined this section in the linker script, but > like this: > > -Wl,--section-start=.fardata=0x10500 \ > > -Wl,--section-start=.fartext=0x10C00 > > I'll test it with a linker script later ... > > I was not able to compile your version (innovents) under > Windows (cygwin > 1.7)! > I have problems with the bintutils-2.18, If you have any > tips to come, > shows me please ! > It's the next step ... > > For Milhai I put my test files below > > Bye! > > ---- Makefile ---- > # makefile configuration > NAME = test1 > OBJECTS = main.o > CPU = > msp430x5418 > > CFLAGS = -mmcu=${CPU} -O2 > -Wall -g > > TOOLCHAIN_PATH="/home/thierry/mspgcc.innoventis.de/local_linux" > GCC_PATH =$(TOOLCHAIN_PATH)/bin/msp430- > > CC=$(GCC_PATH)gcc > OBJDUMP=$(GCC_PATH)objdump > OBJCOPY=$(GCC_PATH)objcopy > OBJSIZE=$(GCC_PATH)size > > > DMWT_PATH=/home/thierry/dfw/dfw-0.19 > DMWT=${DMWT_PATH}/dmwt > > VPATH = ../src > > .PHONY: all FORCE clean download download-jtag download-bsl > dist > > #all should be the first target. it's built when make is > run without args > all: ${NAME}.elf ${NAME}.a43 ${NAME}.lst ${NAME}.hex > > #confgigure the next line if you want to use the serial > download > download: dmwt > #download: download-jtag > #download: download-bsl > > #additional rules for files > ${NAME}.elf: ${OBJECTS} > ${CC} -mmcu=${CPU} -o $@ > ${OBJECTS} \ > > -Wl,--section-start=.fardata=0x10500 \ > > -Wl,--section-start=.fartext=0x10C00 > > > ${NAME}.a43: ${NAME}.elf > ${OBJCOPY} -O ihex $^ $@ > > ${NAME}.hex: ${NAME}.elf > msp430-objcopy -O ihex $^ $@ > > ${NAME}.lst: ${NAME}.elf > ${OBJDUMP} -dSt $^ >$@ > > download-jtag: all > msp430-jtag -e ${NAME}.elf > > download-bsl: all > msp430-bsl -e ${NAME}.elf > > dmwt:all > ${DMWT} -vd ${NAME}.elf > > debug:all > msp430-gdbproxy msp430 > > clean: > rm -f ${NAME}.elf ${NAME}.a43 > ${NAME}.lst ${OBJECTS} > > #backup archive > dist: > tar czf dist.tgz *.c *.h *.txt > makefile > > ----- main.c ----- > #include "msp430x54xx.h" > > #define fartext __attribute__((section(".fartext"))) > #define fardata __attribute__((section(".fardata"))) > > > > fartext uint8_t foo(uint8_t luc_a) > { > return ++luc_a; > } > > fardata uint8_t TEST_fartext[] = {0x01, 0x23, 0x45}; > > fartext int main(void) > { > volatile uint8_t a=0; > volatile uint8_t b; > volatile uint8_t c; > > while (1) > { > b = foo(a); > c = TEST_fartext[0]; > } > return 0; > } > > > > ----- Disassembly listing ---- > > Disassembly of section .fartext: > > 00010c00 <foo>: > > > > fartext uint8_t foo(uint8_t luc_a) > { > return ++luc_a; > 10c00: 5f 53 > inc.b r15 > 10c02: 7f f3 > and.b #-1, > r15 ;r3 As==11 > } > 10c04: 10 01 > reta > > 00010c06 <main>: > > fardata uint8_t TEST_fartext[] = {0x01, 0x23, 0x45}; > > fartext int main(void) > { > 10c06: 31 40 fc 5b > mov #23548, > r1 ;#0x5bfc > volatile uint8_t a=0; > 10c0a: c1 43 00 00 > mov.b #0, > 0(r1) ;r3 As==00, > 0x0000(r1) > volatile uint8_t b; > volatile uint8_t c; > > while (1) > { > b = foo(a); > 10c0e: 6f 41 > mov.b @r1, > r15 > 10c10: b1 13 00 0c > calla #0x10c00 > 10c14: c1 4f 01 00 > mov.b r15, > 1(r1) ;0x0001(r1) > c = TEST_fartext[0]; > 10c18: d1 42 00 05 > mov.b &0x0500,2(r1) > ;0x0002(r1) > 10c1c: 02 00 > 10c1e: f7 3f > jmp $-16 > ;abs 0xc0e > Disassembly of section .text: > > 00005c00 <__init_stack>: > 5c00: 31 40 00 > 5c mov #23552, > r1 ;#0x5c00 > > 00005c04 <__low_level_init>: > 5c04: b2 40 80 > 5a mov #23168, > &0x015c ;#0x5a80 > 5c08: 5c 01 > > 00005c0a <__do_clear_bss>: > 5c0a: 3f 40 01 > 00 mov #1, > r15 ;#0x0001 > 5c0e: 0f 93 > tst r15 > 5c10: 04 24 > jz > $+10 ;abs 0x5c1a > 5c12: 1f 83 > dec r15 > 5c14: cf 43 00 > 1c mov.b #0, > 7168(r15);r3 As==00, > 0x1c00(r15) > 5c18: fc 23 > jnz > $-6 ;abs 0x5c12 > > 00005c1a <__do_copy_data>: > 5c1a: 3f 40 00 > 00 mov #0, > r15 ;#0x0000 > 5c1e: 0f 93 > tst r15 > 5c20: 06 24 > jz > $+14 ;abs 0x5c2e > 5c22: 2f 83 > decd > r15 > 5c24: 40 18 9f > 4f movx > 23608(r15),7168(r15);0x05c38(r15), > 0x01c00(r15) > 5c28: 38 5c 00 1c > 5c2c: fa 23 > jnz > $-10 ;abs 0x5c22 > > 00005c2e <__jump_to_main>: > 5c2e: 80 01 06 > 0c bra #0x10c06 > > 00005c32 <__ctors_end>: > 5c32: 80 00 36 > 5c bra #0x05c36 > > 00005c36 <_unexpected_>: > 5c36: 00 13 > reti > Disassembly of section .vectors: > > 0000ff80 <InterruptVectors>: > ff80: 32 5c 32 5c 32 > 5c 32 5c 32 5c 32 5c 32 5c 32 5c > 2\2\2\2\2\2\2\2\ > ff90: 32 5c 32 5c 32 > 5c 32 5c 32 5c 32 5c 32 5c 32 5c > 2\2\2\2\2\2\2\2\ > ffa0: 32 5c 32 5c 32 > 5c 32 5c 32 5c 32 5c 32 5c 32 5c > 2\2\2\2\2\2\2\2\ > ffb0: 32 5c 32 5c 32 > 5c 32 5c 32 5c 32 5c 32 5c 32 5c > 2\2\2\2\2\2\2\2\ > ffc0: 32 5c 32 5c 32 > 5c 32 5c 32 5c 32 5c 32 5c 32 5c > 2\2\2\2\2\2\2\2\ > ffd0: 32 5c 32 5c 32 > 5c 32 5c 32 5c 32 5c 32 5c 32 5c > 2\2\2\2\2\2\2\2\ > ffe0: 32 5c 32 5c 32 > 5c 32 5c 32 5c 32 5c 32 5c 32 5c > 2\2\2\2\2\2\2\2\ > fff0: 32 5c 32 5c 32 > 5c 32 5c 32 5c 32 5c 32 5c 00 5c > 2\2\2\2\2\2\2\.\ > > > > > > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment > and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > Mspgcc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mspgcc-users > ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Mspgcc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mspgcc-users
