
On Mon, Dec 15, 2008 at 8:51 AM, Stefan Roese sr@denx.de wrote:
This patch adds support for the Micronas VCT board series. Currently the following platforms are supported:
vct_premium vct_premium_small vct_premium_onenand vct_premium_onenand_small vct_platinum vct_platinum_small vct_platinum_onenand vct_platinum_onenand_small vct_platinumavc vct_platinumavc_small vct_platinumavc_onenand vct_platinumavc_onenand_small
One speciality of the VCT board is that it can't access NOR FLASH memory-mapped. It has to use special access functions for this.
Signed-off-by: Stefan Roese sr@denx.de
... stuff deleted...
diff --git a/board/micronas/vct/u-boot.lds b/board/micronas/vct/u-boot.lds new file mode 100644 index 0000000..1e1c559 --- /dev/null +++ b/board/micronas/vct/u-boot.lds @@ -0,0 +1,70 @@ +/*
- (C) Copyright 2003
- Wolfgang Denk Engineering, wd@denx.de
- See file CREDITS for list of people who contributed to this
- project.
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- MA 02111-1307 USA
- */
+/* +OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") +*/ +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
I believe that this should be:
OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
as the parameters are for default, big, little endian compilation.
+OUTPUT_ARCH(mips) +ENTRY(_start) +SECTIONS +{
. = 0x00000000;
. = ALIGN(4);
.text :
{
*(.text)
}
. = ALIGN(4);
.rodata : { *(.rodata) }
. = ALIGN(4);
.data : { *(.data) }
. = .;
_gp = ALIGN(16) + 0x7ff0;
.got : {
__got_start = .;
*(.got)
__got_end = .;
}
I would force alignment here for sdata
.sdata : { *(.sdata) }
and here
.u_boot_cmd : {
__u_boot_cmd_start = .;
*(.u_boot_cmd)
__u_boot_cmd_end = .;
}
uboot_end_data is assumed to be word aligned in cpu/mips/start.S, enforce the alignment here
uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2;
. = ALIGN(4);
.sbss (NOLOAD) : { *(.sbss) }
I believe .bss is also expected to be word aligned
.bss (NOLOAD) : { *(.bss) }
uboot_end = .;
+}