Beginning of this page
Jump to main content

Please note that JavaScript and style sheet are used in this website,
Due to unadaptability of the style sheet with the browser used in your computer, pages may not look as original.
Even in such a case, however, the contents can be used safely.


Worldwide > Japan日本語

Link and Memory Mapping





Does the 78K0 have a function to prohibit locating variables to the general-purpose register area?

FAQ-ID : CC_Link-0537Last Updated : 2006/07

Q-1
I tried to locate a variable in the SADDR area with the 78K0, but it was located in the general-purpose register area (0FEE0H).
Does the 78K0 have a function to prohibit locating variables to the general-purpose register area?
A-1
No.
The general-purpose register area can be used as an ordinary variable area when no general-purpose register is used. It is therefore treated as an ordinary RAM area.
When using a general-purpose register, use a DS pseudo instruction or others to prevent other data from being located in the target general-purpose register.

(Example)
	REG     DSEG    AT 0FEE0H
	        DS      20H

-78K0-

Is this information useful for you ?


After the version is upgraded, error E3206 occurs for the @@CALF segment during linking.

FAQ-ID : CC_Link-0540Last Updated : 2006/07

Q-1
After the version is upgraded, error E3206 occurs for the @@CALF segment during linking.
A-1
Delete the @@CALF segment description in the link directive.

(Example) MERGE @@CALF:AT(80H)
As the version has been upgraded from RA78K0 V3.60 to V3.70, handling of the @@CALF segment has been changed.

With V3.60 or earlier, the @@CALF segment was located at address 800H.
In this event, however, if the @@CALF segment with size of 0 is located at address 800H, other segment cannot be located straddling over the @@CALF segment.
This problem has been avoided by specifying a link directive as shown above.

With V3.70, the specification has been changed so as not to break up @@CALF segment by decreasing the priority of @@CALF segment with size of 0 when such a segment is located.
As a result, specifying the link directive as above is no longer necessary.

If the link directive used with V3.60 or earlier is used with V3.70, however, error E3206 occurs because @@CALF segment is located after other segment is located and the @@CALF segment overlaps that segment.
To avoid this problem, delete the @@CALF segment description in the link directive.

-78K0-

Is this information useful for you ?


If a variable is located in the external memory space, an error occurs during linking.

FAQ-ID : CC_Link-0541Last Updated : 2006/07

Q-1
If a variable is located in the external memory space, the following error occurs during linking.

*** ERROR F206 Segment segment name can't allocate to memory - ignored.

The following definition is made with the assembler. How should it be changed?
	        	PUBLIC _val0,_val1
	DATASEG 	DSEG	AT 0F100H
	_val0:  	DS  	2
	_val1:  	DS  	2
	        	END
A-1
To use an external memory space, a memory area must be defined
(internal ROM and internal RAM are defined by default).

In the above case, an error occurs during linking because the memory area of the external memory space is not defined.

Define an external memory area by a link directive, and specify so that the segment is located in that area.
	MEMORY ERAM :(0F100H,0100H)
	MERGE DATASEG := ERAM

-78K0- -78K0S- -78K4-

Is this information useful for you ?


Can it be checked to where the stack is assigned?

FAQ-ID : CC_Link-0543Last Updated : 2006/07

Q-1
The symbol generation specification option -S for resolving stack of the linker is used.
Can it be checked to where the stack is assigned?
A-1
When the symbol generation specification option -S for resolving stack is used, symbol "_@STEND" that has the value of the lowest address of the stack, and symbol "_STBEG" that has the value of the highest address +1 are generated.



Specify the -KP option of the linker so that a public symbol list is output in the link list file.
The stack area is between the above symbols "_@STEND" and "_STBEG".

*** Public symbol list ***

MODULE	ATTR	VALUE	NAME

	NUM	FE20H	_@STBEG 
	NUM	FB7EH	_@STEND

-78K0- -78K0S- -78K4-

Is this information useful for you ?























End of this page.
Top of this page