OpenCores
URL https://opencores.org/ocsvn/ion/ion/trunk

Subversion Repositories ion

[/] [ion/] [trunk/] [src/] [ion_noxram.lds] - Diff between revs 34 and 67

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 34 Rev 67
Line 1... Line 1...
/**
/**
* ion_noxram.lds -- Linker script file for ION project (with no RAM or cache)
* ion_noxram.lds -- Linker script file for ION project (with no RAM or cache)
*
*
 
* WARNING: This script is no longer used by any makefile, to be removed.
 
*
* The ion cpu has separate buses for code and data (Harvard architecture) but
* The ion cpu has separate buses for code and data (Harvard architecture) but
* does not have caches by default. This linker script targets that 'bare'
* does not have caches by default. This linker script targets that 'bare'
* system configuration. It is meant for early testing and debugging.
* system configuration. It is meant for early testing and debugging.
*
*
* This script will split the object file in two areas so that they can be put
* This script will split the object file in two areas so that they can be put
Line 18... Line 20...
* twice as many memory blocks for the same memory size).
* twice as many memory blocks for the same memory size).
*
*
* FIXME code and data RAM block sizes hardcoded
* FIXME code and data RAM block sizes hardcoded
* FIXME code and data start addresses hardcoded
* FIXME code and data start addresses hardcoded
*/
*/
 
/*
 
# Known problems:
 
#
 
# 1.- LINK PROBLEM IF FLAG '-G0' NOT USED
 
#       If flag '-G0' is not used on gcc, linker fails with 'relocation
 
#       truncated to fit: R_MIPS_GPREL16' error message.
 
#       This only happens when you use global or static veriables, initialized
 
#       or not.
 
#       (See explaination in the project docs about $gp indexed addressing in
 
#       MIPS architectures and the -G0 flag).
 
#
 
#     SUSPECTED CAUSE:
 
#       I'm sure there is something wrong with my linker script.
 
#       With the default link scripts this does not happen. Yet we need to use
 
#       a script so that we can split code and data (including read-only) to
 
#       different sections (and later to different ram blocks).
 
#
 
#     WORKAROUND:
 
#       Use -G0 flag so that _gp indexing is disabled. There is a performance
 
#       hit, though. In effect we're telling the compiler to NOT use $gp for
 
#       indexed access to any global variables.
 
#       This is only necessary for the 'bare' target (no external ram and no
 
#       cache) and will have to be fixed for regular targets (by using a
 
#       standard link script or fixing mine).
 
 
 
*/
 
 
 
 
/* Make sure the first linked file is ths startup code from boot.s */
/* Make sure the first linked file is ths startup code from boot.s */
/* (We might put boot.o in the ld command line, BEFORE all other files) */
/* (We might put boot.o in the ld command line, BEFORE all other files) */
STARTUP(boot.o)
STARTUP(boot.o)
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.