(toppers-users 4086) Re: TOPPERS/ASP RX62N Configuration
starfieldtrue
starfieldtrue gmail.com
2013ǯ 5 24 () 17:29:13 JST
Ǥ
θĴ٤ʬäȤΤ餻ޤ
###########################################################################
(3)ꡧ
make dependcfg -pass 2ǥ顼ˤʤ롣
ϥץȤLMA!=VMAξȯȻפޤ
ʲץȡcfg1_out.symscfg1_out.srecǤ
ޥåʥСΥǤ礦
MEMORY {
rom(rx) : o = 0xFFF80000, l = 0x7FF80
ram(rwx) : o = 0x00000000, l = 0x00018000
}
SECTIONS {
.star :
{
*(.start1)
*(.start2)
. = ALIGN(4);
} >rom
. = ALIGN(4);
__idata_start = . ;
.dddd : AT(__idata_start)
{
__data_start = . ;
ά
*(C)
ά
} >ram
__idata_end = __idata_start + SIZEOF(.dddd);
000005f4 T TOPPERS_cfg_magic_number
0000061c T MAGIC_4
00000620 T MAGIC_2
00000622 T MAGIC_1
S315FFF806500800000078563412000000000000000081
S315FFF806600000000000000000040000000000000089
S315FFF806700000000000000000000000007856341269
S30DFFF8068034121200000000001D
ʲºݤΥ顼Ǥ
$ make depend
rm -f Makefile.depend
rx-elf-gcc -S -falign-functions=2 -Wall -g -O2 -mlittle-endian-data
-mcpu=RX600 -Wall -g -O2 -DROM_BOOT -DTOPPERS_LABEL_ASM -I.
-I../include -I../arch -I.. -I../target/aprx62n_gcc -DALLFUNC
-fno-strict-aliasing -I../kernel makeoffset.c
/usr/bin/perl ../utils/genoffset makeoffset.s > offset.h
../cfg/cfg/cfg --pass 1 --kernel asp -I. -I../include -I../arch -I..
-I../target/aprx62n_gcc --api-table ../kernel/kernel_api.csv
--cfg1-def-table ../kernel/kernel_def.csv --cfg1-def-table
../arch/rx600_gcc/prc_def.csv echos4.cfg
rx-elf-gcc -c -falign-functions=2 -Wall -g -O2 -mlittle-endian-data
-mcpu=RX600 -Wall -g -O2 -DROM_BOOT -DTOPPERS_LABEL_ASM -I.
-I../include -I../arch -I.. -I../target/aprx62n_gcc -DALLFUNC
-fno-strict-aliasing -I../kernel cfg1_out.c
rx-elf-gcc -c -falign-functions=2 -Wall -g -O2 -mlittle-endian-data
-mcpu=RX600 -Wall -g -O2 -DROM_BOOT -DTOPPERS_LABEL_ASM -I.
-I../include -I../arch -I.. -I../target/aprx62n_gcc -DALLFUNC
-fno-strict-aliasing -I../kernel ../arch/rx600_gcc/start.S
rx-elf-gcc -falign-functions=2 -Wall -g -O2 -mlittle-endian-data
-mcpu=RX600 -Wall -g -O2 -DROM_BOOT -DTOPPERS_LABEL_ASM -I.
-I../include -I../arch -I.. -I../target/aprx62n_gcc -nostdlib
-nostdlib -Wl,-Map=asp.map -Wl,-EL -T ../arch/rx600_gcc/release.ld
-o cfg1_out.elf \
cfg1_out.o
rx-elf-nm -C cfg1_out.elf > cfg1_out.syms
rx-elf-objcopy -O srec -S cfg1_out.elf cfg1_out.srec
../cfg/cfg/cfg --pass 2 --kernel asp -I. -I../include -I../arch -I..
-I../target/aprx62n_gcc \
-T ../target/aprx62n_gcc/target.tf --api-table
../kernel/kernel_api.csv --cfg1-def-table ../kernel/kernel_def.csv
--cfg1-def-table ../arch/rx600_gcc/prc_def.csv echos4.cfg
cfg: error: magic number is not found in `cfg1_out.srec/.syms'
cfg: fatal error
Makefile:297: recipe for target `kernel_cfg.timestamp' failed
make: *** [kernel_cfg.timestamp] Error 1
ʾǤ
2013ǯ523 18:13 starfieldtrue <starfieldtrue gmail.com>:
>
>
> ꤬Ȥޤ(2)ˤĤƤϤŦμǥ顼̵ʤޤ
> ̤ưǧϤƤޤ
> SYMBOL̾åȰ¸ʤΤǡɸΥɤȤƼΤǤͤ
> SYMBOL̾경ФʤȤʤΤ
>
> 2013ǯ523 11:20 Hiroaki TAKADA <hiro ertl.jp>:
>>
>>
>> ɤޤƤơˤ狼뤳ȤΤ餻ޤ
>>
>> (2)ǤASPͥǤϡcfg Υѥ3ϥ顼åΤΥ
>> ǤΤǡʤƤưϤǤѥ2줿Хʥǡ
>> ץưǧɤȻפޤ
>>
>> ξǡ(2)Υ顼Ǥ餯ǡ־꤬Ѥ
>> Ȥˤꡢcfg ǡФʤʤäƤΤ
>> פޤtarget_chk.tf ƬˡǡLMAVMA
>> ԡ륳ɤȡ褹ȻפޤŪˤϡ
>>
>> $
>> $ ǡLMAVMAؤΥԡ
>> $
>> $start_data = SYMBOL("__data_start")$
>> $end_data = SYMBOL("__data_end")$
>> $start_idata = SYMBOL("__idata_start")$
>> $BCOPY(start_idata, start_data, end_data - start_data)$
>>
>> ɤȻפΤǤäƤߤ櫓ǤϤʤΤǡοϤ
>> ޤ
>>
>> ⤷줬ǤСASPͥμΥǾΥɤ
>> kernel_chk.tf ʤɤкꤿȻפޤ
>>
>> (4)
>>
>>> /usr/local/rx-elf/lib/gcc/rx-elf/4.7.1/../../../../rx-elf/bin/ld:
>>> tinet_cfg1_out.elf: Not enough room for program headers, try linking
>>> with -N
>>
>> Ȥ顼ˤʤäƤޤΤǡ֤ŤʤäƤ褦˻פ
>>
>>
>> (3)θϤˤϤ狼ʤǤ
>>
>> Ĺ
>> ̾Ų
>>
>> (13/05/22 17:40), starfieldtrue wrote:
>>> ȿޤ
>>>
>>> RX62N+TOPPERS/ASP+TINETǼ¸Ƥޤ
>>> TOPPERSưCPU¢FLASHؤνߤΤ
>>> sta_kerʸ¢RAMưȻפäƤޤ
>>> ¢FLASHˤϡʳ¢FLASHؤΥ
>>> ƤʤᡢߤȯƤ
>>> FLASHؤΥΤǤ
>>>
>>> ǡץȤεܤѤƻƤΤǤ
>>> פ褦ˤޤ⤷¸Τޤ
>>> ɥХĺȴǤ
>>>
>>> פξ˵ܤޤ
>>> (1)make depend; make̤뤬(C)
>>> FLASH֤ΤǾ嵭˾ʤ
>>> (2)make depend̤뤬makecfg -pass 3ǥ顼ˤʤ롣
>>> (3)make dependcfg -pass 2ǥ顼ˤʤ롣
>>> (4)make dependǥ顼ˤʤ롣
>>>
>>> ʲץȤˤĤ
>>> (1),(2),(3),(4)Ǻۤʬȴ褷Ƥޤ
>>>
>>> (1)
>>> MEMORY {
>>> ram(rwx) : o = 0x00000000, l = 0x00019000
>>> }
>>> SECTIONS {
>>> .text :
>>> {
>>> *(.start1) ... start.SΥɤ
>>> *(.start2) ... hardware_init_hookΥɤ
>>> *(C) ... ǡ(RXͭΥ?)
>>> } >rom
>>>
>>> (2)
>>> MEMORY {
>>> ram(rwx) : o = 0x00001054, l = 0x00019000
>>> ... RAMϥɥ쥹ʾʤƱˤʤ롣
>>> }
>>> SECTIONS {
>>> .text :
>>> {
>>> *(.start1)
>>> *(.start2)
>>> } >rom
>>> __idata_start = . ;
>>> .data : AT(__idata_start)
>>> {
>>> __data_start = . ;
>>> *(C) ... ǡRAM֤뤿
>>> }
>>>
>>> (3)
>>> MEMORY {
>>> ram(rwx) : o = 0x00001050, l = 0x00019000
>>> }
>>> SECTIONS {
>>> .text :
>>> {
>>> *(.start1)
>>> *(.start2)
>>> } >rom
>>> __idata_start = . ;
>>> .data : AT(__idata_start)
>>> {
>>> __data_start = . ;
>>> *(C) ... ǡRAM֤뤿
>>> }
>>>
>>> (4)
>>> MEMORY {
>>> ram(rwx) : o = 0x00000000, l = 0x00019000
>>> }
>>> SECTIONS {
>>> .text :
>>> {
>>> *(.start1)
>>> *(.start2)
>>> } >rom
>>> __idata_start = . ;
>>> .data : AT(__idata_start)
>>> {
>>> __data_start = . ;
>>> *(C) ... ǡRAM֤뤿
>>> }
>>>
>>> (2)η make depend̤뤬makecfg -pass 3ǥ顼ˤʤ롣
>>>
>>> rx-elf-gcc -falign-functions=2 -Wall -g -O2 -mlittle-endian-data
>>> -mcpu=RX600 -Wall -g -O2 -DROM_BOOT -DTOPPERS_LABEL_ASM
>>> -DTARGET_KERNEL_ASP -DSUPPORT_INET4 -DSUPPORT_ETHER -DSUPPORT_TCP
>>> -DTCP_CFG_LIBRARY -DUDP_CFG_LIBRARY -I. -I../include -I../arch -I..
>>> -I../target/aprx62n_gcc -I../tinet/netdev/if_rxe -I../tinet -nostdlib
>>> -nostdlib -Wl,-Map=asp.map -Wl,-EL -T ../arch/rx600_gcc/release.ld -o
>>> asp.elf \
>>> echos4.o kernel_cfg_asm.o target_serial.o
>>> rx600_uart.o net_buf.o net_count.o net_subr.o net_timer.o in_subr.o
>>> tinet_cfg.o route_cfg.o ip_input.o ip_output.o ip_icmp.o
>>> tinet_target_config.o if.o ethernet.o if_ether.o if_rxe.o phy.o
>>> tcp_input.o tcp_output.o tcp_timer.o tcp_subr.o tcp_subr_cs.o
>>> tcp_subr_ncs.o banner.o syslog.o serial.o logtask.o log_output.o
>>> vasyslog.o t_perror.o strerror.o kernel_cfg.o libtinet.a -lc
>>> libkernel.a -lgcc
>>> rx-elf-nm -C asp.elf > asp.syms
>>> rx-elf-objcopy -O srec -S asp.elf asp.srec
>>> ../cfg/cfg/cfg --pass 3 --kernel asp -I. -I../include -I../arch -I..
>>> -I../target/aprx62n_gcc -I../tinet/netdev/if_rxe -I../tinet \
>>> --rom-image asp.srec --symbol-table asp.syms \
>>> -T ../target/aprx62n_gcc/target_check.tf
>>> --api-table ../kernel/kernel_api.csv --cfg1-def-table
>>> ../kernel/kernel_def.csv --cfg1-def-table
>>> ../arch/rx600_gcc/prc_def.csv echos4.cfg
>>> cfg: S-record data error
>>> Makefile:322: recipe for target `asp.elf' failed
>>> make: *** [asp.elf] Error 1
>>>
>>> (3)η make dependcfg -pass 2ǥ顼ˤʤ롣
>>> rx-elf-gcc -falign-functions=2 -Wall -g -O2 -mlittle-endian-data
>>> -mcpu=RX600 -Wall -g -O2 -DROM_BOOT -DTOPPERS_LABEL_ASM
>>> -DTARGET_KERNEL_ASP -DSUPPORT_INET4 -DSUPPORT_ETHER -DSUPPORT_TCP
>>> -DTCP_CFG_LIBRARY -DUDP_CFG_LIBRARY -I. -I../include -I../arch -I..
>>> -I../target/aprx62n_gcc -I../tinet/netdev/if_rxe -I../tinet -nostdlib
>>> -nostdlib -Wl,-Map=asp.map -Wl,-EL -T ../arch/rx600_gcc/release.ld
>>> -o tinet_cfg1_out.elf \
>>> tinet_cfg1_out.o
>>> rx-elf-nm -C tinet_cfg1_out.elf > tinet_cfg1_out.syms
>>> rx-elf-objcopy -O srec -S tinet_cfg1_out.elf tinet_cfg1_out.srec
>>> ../cfg/cfg/cfg --pass 2 --kernel asp --cfg1_out tinet_cfg1_out -I.
>>> -I../include -I../arch -I.. -I../target/aprx62n_gcc
>>> -I../tinet/netdev/if_rxe -I../tinet \
>>> -T ../tinet/tinet.tf --api-table
>>> ../tinet/tcpip_api.csv --cfg1-def-table ../kernel/kernel_def.csv
>>> tinet_echos4.cfg
>>> cfg: error: magic number is not found in `tinet_cfg1_out.srec/.syms'
>>> cfg: fatal error
>>> ../tinet/Makefile.tinet:359: recipe for target `tinet_cfg.c' failed
>>> make: *** [tinet_cfg.c] Error 1
>>>
>>> (4)η make dependǥ顼ˤʤ롣
>>> rx-elf-gcc -falign-functions=2 -Wall -g -O2 -mlittle-endian-data
>>> -mcpu=RX600 -Wall -g -O2 -DROM_BOOT -DTOPPERS_LABEL_ASM
>>> -DTARGET_KERNEL_ASP -DSUPPORT_INET4 -DSUPPORT_ETHER -DSUPPORT_TCP
>>> -DTCP_CFG_LIBRARY -DUDP_CFG_LIBRARY -I. -I../include -I../arch -I..
>>> -I../target/aprx62n_gcc -I../tinet/netdev/if_rxe -I../tinet -nostdlib
>>> -nostdlib -Wl,-Map=asp.map -Wl,-EL -T ../arch/rx600_gcc/release.ld
>>> -o tinet_cfg1_out.elf \
>>> tinet_cfg1_out.o
>>> /usr/local/rx-elf/lib/gcc/rx-elf/4.7.1/../../../../rx-elf/bin/ld:
>>> tinet_cfg1_out.elf: Not enough room for program headers, try linking
>>> with -N
>>> /usr/local/rx-elf/lib/gcc/rx-elf/4.7.1/../../../../rx-elf/bin/ld:
>>> final link failed: Bad value
>>> collect2: error: ld returned 1 exit status
>>> ../tinet/Makefile.tinet:359: recipe for target `tinet_cfg.c' failed
>>> make: *** [tinet_cfg.c] Error 1
>>>
>>>
>>> ĶϰʲǤ
>>> cygwin 1.7.17-1
>>> rx-elf-gcc (GCC) 4.7.1
>>>
>>> PACKAGE asp
>>> VERSION 1.7.0
>>>
>>> PACKAGE cfg
>>> VERSION 1.6.0
>>>
>>> ʾǤ
>>>