Hello,
I unsuccessfully modified the binutils patch and the msp430 port
source to add support for msp430f5529. On a previous thread (Re: mspgcc
or mspgcc4 for a msp430f552), Peter Bigot said to try on the compile
line to use -mmcu=msp430x5418. The problem is the start address dont
match (There may be something else).
For MMCU = "msp430x5529"
------------------------------------------------
ARCH=msp:55
*ROM_START=0x4400
ROM_SIZE=0x20000
INFO_START=0x1800
INFO_SIZE=512
BOOT_START=0x1000
BOOT_SIZE=2048
*RAM_START=0x2400
RAM_SIZE=8192
VECTORS_START=0xff80
For MMCU = "msp430x5418"
------------------------------------------------
ARCH=msp:54
*ROM_START=0x5c00
ROM_SIZE=0x20000
INFO_START=0x1800
INFO_SIZE=512
BOOT_START=0x1000
BOOT_SIZE=2048
*RAM_START=0x1c00
RAM_SIZE=16384
VECTORS_START=0xff80
I added quite some line in the binutils-2.20.1.patch to add the target
msp430x5529 and alos the ARCH=msp:55..
I added the support in the msp430 gcc port source (since there is no
patch used there). I modified msp430.c, msp430.h, t-msp and
generate=chip-data.py.
I successfully made all the mspgcc tools compile. I can now compile and
link using -mmcu=msp430x5529. Here what's the objdump gives:
------------------------------------------------------------------------------------------------------------------
leds: file format elf32-msp430
leds
architecture: msp:55, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00004400
Program Header:
LOAD off 0x00000000 vaddr 0x000043ac paddr 0x000043ac align 2**0
filesz 0x000000b2 memsz 0x000000b2 flags r-x
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000005e 00004400 00004400 00000054 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
SYMBOL TABLE:
00004400 l d .text 00000000 .text
00000000 l df *ABS* 00000000 main.c
000004c0 l *ABS* 00000000 __MPY
000004c2 l *ABS* 00000000 __MPYS
000004c4 l *ABS* 00000000 __MAC
000004c6 l *ABS* 00000000 __MACS
000004c8 l *ABS* 00000000 __OP2
000004ca l *ABS* 00000000 __RESLO
000004cc l *ABS* 00000000 __RESHI
000004ce l *ABS* 00000000 __SUMEXT
000004d0 l *ABS* 00000000 __MPY32L
000004d2 l *ABS* 00000000 __MPY32H
000004d4 l *ABS* 00000000 __MPYS32L
000004d6 l *ABS* 00000000 __MPYS32H
000004d8 l *ABS* 00000000 __MAC32L
000004da l *ABS* 00000000 __MAC32H
000004dc l *ABS* 00000000 __MACS32L
000004de l *ABS* 00000000 __MACS32H
000004e0 l *ABS* 00000000 __OP2L
000004e2 l *ABS* 00000000 __OP2H
000004e4 l *ABS* 00000000 __RES0
000004e6 l *ABS* 00000000 __RES1
000004e8 l *ABS* 00000000 __RES2
000004ea l *ABS* 00000000 __RES3
000004ec l *ABS* 00000000 __MPY32CTL0
00010000 g .text 00000000 _efartext
0000445e g .text 00000000 _etext
00004400 g .text 00000000 __dtors_end
00004400 g .text 00000000 __ctors_start
00004400 g F .text 0000005e main
0000ff80 g .text 00000000 _vectors_end
00004400 g .text 00000000 __dtors_start
00004400 g .text 00000000 __ctors_end
00004400 g *ABS* 00000000 __stack
00002400 g .text 00000000 _edata
00002400 g .text 00000000 _end
------------------------------------------------------------------------------------------------------------------
Is there a formal way to add a new mmcu to the tools? I hack'd the patch
and source and that may not be the right way hehe.
Thanks for any queue!
Alexandre Malo