Das Elektor-Forum schließt seine Pforten (siehe auch http://www.elektormagazine.de/forum). Ab Freitag, den 15. März, ist es nicht mehr möglich, sich im Forum einzuloggen. Alle Inhalte des Forums bleiben jedoch bis Ende März noch sichtbar. Am 01. April wird das Forum schließlich komplett geschlossen.

R32C118: HEW x30 download Fehler: Not enough memory

Postby 00andi » Sun Jun 14, 2009 12:00 am

Hi,

beim Code Download des x30 Files bekomme ich unter HEW immer die Fehlermeldung "Not enough memory"???

Der Output ist mal angehängt. Bei dem Chip handelt es sich um den R5F64189 ( also den R32C 118 mit 1M ROM und 63K Ram - wenn ich mich nicht vertan habe ).

Ich verwenden den E8a Debugger zum download. Dabei hab ich den
oben genannten Typen ausgewählt und beim ROM FFF0_0000 und RAM FE00 eingestellt.

Vielleicht hat jemand von euch eine Idee was genau das Problem sein könnten?

Danke,
Andi

PS: Hier der Output nach dem Build:

Building All - r32c_118_can2 - Debug_R32C_E8a_SYSTEM

Phase R32C/100 C Compiler starting
G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\can01.c
R32C/100 Series C Compiler V.1.01 Release 00
Copyright(C) 2006,2007. Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\hwsetup.c
R32C/100 Series C Compiler V.1.01 Release 00
Copyright(C) 2006,2007. Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\r32c_118_can2.c
R32C/100 Series C Compiler V.1.01 Release 00
Copyright(C) 2006,2007. Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
Phase R32C/100 C Compiler finished

Phase R32C/100 Assembler starting
G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\ncrt0.a30
R32C/100 Series Assembler system V.1.01.00
Copyright(C) 2006(2007). Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
macro processing now
assembler processing now
--
TOTAL ERROR(S) 00000
TOTAL WARNING(S) 00000
TOTAL LINE(S) 00237 LINES
DATA 00000000(000000H) data_SB8
DATA 00000000(000000H) bss_SB8
DATA 00000000(000000H) data_NEAR
DATA 00000000(000000H) bss_NEAR
DATA 00000000(000000H) data_MON1
DATA 00000000(000000H) bss_MON1
DATA 00000000(000000H) data_MON2
DATA 00000000(000000H) bss_MON2
DATA 00000000(000000H) data_MON3
DATA 00000000(000000H) bss_MON3
DATA 00000000(000000H) data_MON4
DATA 00000000(000000H) bss_MON4
DATA 00001536(000600H) stack
DATA 00000768(000300H) heap
DATA 00000000(000000H) data_FAR
DATA 00000000(000000H) bss_FAR
DATA 00000000(000000H) data_EXT
DATA 00000000(000000H) bss_EXT
ROMDATA 00000000(000000H) data_EXT_INIT
ROMDATA 00000000(000000H) rom_EXT
CODE 00000000(000000H) program_EXT
ROMDATA 00000000(000000H) rom_FAR
ROMDATA 00000000(000000H) data_NEAR_INIT
ROMDATA 00000000(000000H) data_MON1_INIT
ROMDATA 00000000(000000H) data_MON2_INIT
ROMDATA 00000000(000000H) data_MON3_INIT
ROMDATA 00000000(000000H) data_MON4_INIT
ROMDATA 00000000(000000H) data_SB8_INIT
ROMDATA 00000000(000000H) data_FAR_INIT
ROMDATA 00000000(000000H) switch_table
CODE 00000000(000000H) program
CODE 00000000(000000H) interrupt
ROMDATA 00000000(000000H) vector
ROMDATA 00000036(000024H) fvector
CODE 00000343(000157H) interrupt
( G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\ncrt0.a30 )
----*-
Phase R32C/100 Assembler finished

Phase R32C/100 Linker starting
Linkage Editor (ln100) for R32C/100 Series V.1.00.02.000
Copyright(C) 2006. Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
now processing pass 1
processing "G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\ncrt0.r30"
processing "G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\can01.r30"
processing "G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\hwsetup.r30"
processing "G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\r32c_118_can2.r30"
processing "Libraries"
now processing pass 2
processing "G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\ncrt0.r30"
processing "G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\can01.r30"
processing "G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\hwsetup.r30"
processing "G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\r32c_118_can2.r30"
processing "c:\program files\renesas\hew\tools\renesas\nc100\v101r00\lib100\nc100lib.lib ( mdata.r30 )"
License expires in 60 days
DATA 00002336(0000920H) Byte(s)
ROMDATA 00000156(000009CH) Byte(s)
CODE 00003600(0000E10H) Byte(s)
G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\r32c_118_can2.map is modified
G:\DATA_work\DATA_R32c\r32c_118_can2\r32c_118_can2\r32c_118_can2\Debug_R32C_E8a_SYSTEM\r32c_118_can2.sni is created
Phase R32C/100 Linker finished

Phase R32C/100 Load Module Converter starting
Load Module Converter (lmc100) for R32C/100 Series V.1.00.01.000
Copyright(C) 2005(2007). Renesas Technology Corp.
and Renesas Solutions Corp., All Rights Reserved.
-
Phase R32C/100 Load Module Converter finished

Build Finished
0 Errors, 0 Warnings
00andi
 
Posts: 33
Joined: Fri Jan 03, 2014 1:48 pm

Postby 00andi » Sun Jun 14, 2009 12:00 am

Wenn ich can01.c und can01.h entfernen dann funktioniert es ohne Probleme ?
Die Größe sollte aber nicht das Problem sein. Es sind ja "noch" wenig Files in dem Projekt.
00andi
 
Posts: 33
Joined: Fri Jan 03, 2014 1:48 pm

Postby marc oliver r. » Sun Jun 14, 2009 12:00 am

Je nachdem wie das Projekt erstellt wurde, kann es sein, dass die ROM Top-Adresse nicht richtig zu diesem Chip passt.
Dazu bitte in der sect100.inc die Anpassung vornehmen:
;-----------------------------------------------------------------------;
; FAR ROM SECTIONS ;
;-----------------------------------------------------------------------;
.sectionrom_FAR, romdata
.org0FFFC0C00H
rom_FAR_top:


Die Adresse 0xFFFC0000 kann aus dem Hardwaremanual ermittelt werden, die Verschiebung um 0xC000 dient dem E8a, der dort seine Firmware ablegen kann. Sonst erhält man einen "Memory overlapping" Fehler.

Gruß Marc Oliver
marc oliver r.
 
Posts: 8
Joined: Fri Jan 03, 2014 1:48 pm

Postby marc oliver r. » Sun Jun 14, 2009 12:00 am

Je nachdem wie das Projekt erstellt wurde, kann es sein, dass die ROM Top-Adresse nicht richtig zu diesem Chip passt.
Dazu bitte in der sect100.inc die Anpassung vornehmen:
;-----------------------------------------------------------------------;
; FAR ROM SECTIONS ;
;-----------------------------------------------------------------------;
.sectionrom_FAR, romdata
.org0FFFC0C00H
rom_FAR_top:


Die Adresse 0xFFFC0000 kann aus dem Hardwaremanual ermittelt werden, die Verschiebung um 0xC000 dient dem E8a, der dort seine Firmware ablegen kann. Sonst erhält man einen "Memory overlapping" Fehler.

Gruß Marc Oliver
marc oliver r.
 
Posts: 8
Joined: Fri Jan 03, 2014 1:48 pm

Postby 00andi » Mon Jun 15, 2009 12:00 am

Ja, Danke die Einstellung auf 0xFFFC0000 hat geholfen.

Mir ist nur nicht ganz klar wie die Einteilung überhaupt erfolgen muß. Der R32C118 Typ hat 1 M Flash-Speicher also 0xFFE0_0000 bis 0xFFFF_FFFF. Und dabei müssen immer 0xC000 frei bleiben für den E8a Debugger.

Wenn ich das Tutorial ( oder auch eine Applikation ) mit dem 118 erstelle dann erhalte ich andere Einstellungen und Dateien als wenn ich ein Projekt aufsetzte mit 118 als Basis ( dann gibt es sect100.inc usw. - im anderen Fall nicht).
( Auswahl bei New Workspace unterschiedlich )
Sehe ich das Richtig das dann die ganzen Einstellung per Define übergeben werden die sonst in dem sect100.inc drin stehen?
Auch gibt es bei dem Tutorial Code keine asm Files mehr. Hat das einen bestimmten Grund oder ist das einfach nur eine andere Art der Umsetzung?

Danke,
Andi
00andi
 
Posts: 33
Joined: Fri Jan 03, 2014 1:48 pm

Postby marc oliver r. » Mon Jun 15, 2009 12:00 am

Hi Andi,
der E8a braucht C00h Bytes für seine Firmware auf dem Chip. Daher empfiehlt es sich FFFC0C00 einzustellen, den Flashbereich bei der Verbindungseinstellung für den E8a (ROM: 0xFFFC0000 und den RAM auf die höchste Adresse einstellen evtl. 0x8200)

Um den Unterschied der zwei Projektartenzu verdeutlichen. Es gibt auch die Möglichkeit ein "C-Source" Projekt zu erstellen, dort werden auf die zwei Assembler-Dateien verzichtet und die Chip Initialisierung über C-Files realisiert. Ich finde dies aber etwas unübersichtlicher. Das ist aber reine Gewohnheit.
Erstellt man ein Projekt nur über "Application" (beim Start) so erhält man die Version mit sect100.inc und ncrt.a30 also mit den beiden Assembler Files. Sonst ist beides vergleichbar.
marc oliver r.
 
Posts: 8
Joined: Fri Jan 03, 2014 1:48 pm

Postby frankl » Mon Jun 29, 2009 12:00 am

Nur so am Rande, mit 0xFFFC0000 als Startadresse hat man nur 256K Flash. Um den ganzen Speicher von 1MB nutzen zu können muß die Startadresse auf 0xFFF00000 (bzw. 0xFFF00C00 wenn man den Platz für den Monitor reservieren will) gesetzt werden.
frankl
 
Posts: 125
Joined: Thu Jan 02, 2014 10:42 am


Return to R32C-Projekt

Who is online

Users browsing this forum: No registered users and 1 guest

cron