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

Reply via email to