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

Reply via email to