Setup the SAMA5D4-EK NSH configuration to use the DRAMBOOT loader by default
This commit is contained in:
parent
2be17d64b3
commit
654fd5ff2d
@ -378,9 +378,11 @@ Creating and Using DRAMBOOT
|
||||
mv nuttx.bin dramboot.bin
|
||||
|
||||
4. Build the "real" DRAM configuration. This will create the nuttx.hex
|
||||
that you will load using dramboot.
|
||||
that you will load using dramboot. Note that you must select
|
||||
CONFIG_SAMA5D4EK_DRAM_BOOT=y. This controls the origin at which the
|
||||
code is linked and positions it correctly for the DRAMBOOT program.
|
||||
|
||||
5. Restart the system holding DIS_BOOT. You should see the RamBOOT
|
||||
5. Restart the system holding DIS_BOOT. You should see the RomBOOT
|
||||
prompt on the 115200 8N1 serial console (and nothing) more. Hit
|
||||
the ENTER key with the focus on your terminal window a few time.
|
||||
This will enable JTAG.
|
||||
@ -2677,7 +2679,7 @@ SAMA4D4-EK Configuration Options
|
||||
|
||||
CONFIG_RAM_START=0x20000000
|
||||
|
||||
CONFIG_RAM_VSTART - The virutal start address of installed DRAM
|
||||
CONFIG_RAM_VSTART - The virtual start address of installed DRAM
|
||||
|
||||
CONFIG_RAM_VSTART=0x20000000
|
||||
|
||||
@ -2926,6 +2928,7 @@ Configurations
|
||||
Now for the gory details:
|
||||
|
||||
dramboot:
|
||||
|
||||
This is a little program to help debug of code in DRAM. It does the
|
||||
following:
|
||||
|
||||
@ -3037,10 +3040,20 @@ Configurations
|
||||
|
||||
3. This configuration executes out of SDRAM flash and is loaded into
|
||||
SDRAM from NAND, Serial DataFlash, SD card or from a TFTPC sever via
|
||||
U-Boot or BareBox. Data also is positioned in SDRAM.
|
||||
U-Boot, BareBox, or the DRAMBOOT configuration described above. Data
|
||||
also is positioned in SDRAM.
|
||||
|
||||
I did most testing with nuttx.bin on an SD card. These are the
|
||||
commands that I used to boot NuttX from the SD card:
|
||||
The load address is different for the DRAMBOOT program and the Linux
|
||||
bootloaders. This can easily be reconfigured, however:
|
||||
|
||||
CONFIG_SAMA5D4EK_DRAM_BOOT=y
|
||||
|
||||
See the section above entitled "Creating and Using DRAMBOOT" above
|
||||
for more information.
|
||||
|
||||
At times, have have tested with nuttx.bin on an SD card and booting
|
||||
with U-Boot. These are the commands that I used to boot NuttX from
|
||||
the SD card:
|
||||
|
||||
U-Boot> fatload mmc 0 0x20008000 nuttx.bin
|
||||
U-Boot> go 0x20008040
|
||||
@ -3093,7 +3106,8 @@ Configurations
|
||||
STATUS:
|
||||
See the To-Do list below
|
||||
|
||||
ramtest
|
||||
ramtest:
|
||||
|
||||
This is a stripped down version of NSH that runs out of
|
||||
internal SRAM. It configures SDRAM and supports only the RAM test
|
||||
at apps/examples/ramtest. This configuration is useful for
|
||||
|
@ -42,7 +42,11 @@ ifeq ($(CONFIG_SAMA5_BOOT_ISRAM),y)
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SAMA5_BOOT_SDRAM),y)
|
||||
LDSCRIPT = ddram.ld
|
||||
ifeq ($(CONFIG_SAMA5D4EK_DRAM_BOOT),y)
|
||||
LDSCRIPT = dramboot.ld
|
||||
else
|
||||
LDSCRIPT = uboot.ld
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
|
@ -42,7 +42,11 @@ ifeq ($(CONFIG_SAMA5_BOOT_ISRAM),y)
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SAMA5_BOOT_SDRAM),y)
|
||||
LDSCRIPT = ddram.ld
|
||||
ifeq ($(CONFIG_SAMA5D4EK_DRAM_BOOT),y)
|
||||
LDSCRIPT = dramboot.ld
|
||||
else
|
||||
LDSCRIPT = uboot.ld
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
|
@ -307,6 +307,7 @@ CONFIG_NSH_MMCSDMINOR=0
|
||||
# CONFIG_SAMA5D4EK_384MHZ is not set
|
||||
CONFIG_SAMA5D4EK_396MHZ=y
|
||||
# CONFIG_SAMA5D4EK_528MHZ is not set
|
||||
CONFIG_SAMA5D4EK_DRAM_BOOT=y
|
||||
|
||||
#
|
||||
# RTOS Features
|
||||
|
@ -42,7 +42,11 @@ ifeq ($(CONFIG_SAMA5_BOOT_ISRAM),y)
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SAMA5_BOOT_SDRAM),y)
|
||||
LDSCRIPT = ddram.ld
|
||||
ifeq ($(CONFIG_SAMA5D4EK_DRAM_BOOT),y)
|
||||
LDSCRIPT = dramboot.ld
|
||||
else
|
||||
LDSCRIPT = uboot.ld
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
|
123
configs/sama5d4-ek/scripts/dramboot.ld
Normal file
123
configs/sama5d4-ek/scripts/dramboot.ld
Normal file
@ -0,0 +1,123 @@
|
||||
/****************************************************************************
|
||||
* configs/sama5d4-ek/scripts/dramboot.ld
|
||||
*
|
||||
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/* The SAMA5D4 has 128 KB of ISRAM beginning at virtual address 0x0020:0000.
|
||||
* This memory configuration, however, loads into the 256MB SDRAM on board
|
||||
* the SAMA5D4-EK which lies at 0x2000:0000.
|
||||
*
|
||||
* Vectors in low memory are assumed and 16KB of ISRAM is reserved at the
|
||||
* high end of ISRAM for the page table.
|
||||
*/
|
||||
|
||||
MEMORY
|
||||
{
|
||||
isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K
|
||||
sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 256M
|
||||
}
|
||||
|
||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
||||
OUTPUT_ARCH(arm)
|
||||
ENTRY(entry)
|
||||
ENTRY(_stext)
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.text : {
|
||||
_stext = ABSOLUTE(.);
|
||||
*(.vectors)
|
||||
*(.text .text.*)
|
||||
*(.fixup)
|
||||
*(.gnu.warning)
|
||||
*(.rodata .rodata.*)
|
||||
*(.gnu.linkonce.t.*)
|
||||
*(.glue_7)
|
||||
*(.glue_7t)
|
||||
*(.got)
|
||||
*(.gcc_except_table)
|
||||
*(.gnu.linkonce.r.*)
|
||||
*(.ARM.extab*)
|
||||
*(.gnu.linkonce.armextab.*)
|
||||
_etext = ABSOLUTE(.);
|
||||
} > sdram
|
||||
|
||||
.init_section : {
|
||||
_sinit = ABSOLUTE(.);
|
||||
*(.init_array .init_array.*)
|
||||
_einit = ABSOLUTE(.);
|
||||
} > sdram
|
||||
|
||||
.ARM.extab : {
|
||||
*(.ARM.extab*)
|
||||
} > sdram
|
||||
|
||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
||||
|
||||
PROVIDE_HIDDEN (__exidx_start = .);
|
||||
.ARM.exidx :
|
||||
{
|
||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||
} > sdram
|
||||
PROVIDE_HIDDEN (__exidx_end = .);
|
||||
|
||||
.data : {
|
||||
_sdata = ABSOLUTE(.);
|
||||
*(.data .data.*)
|
||||
*(.gnu.linkonce.d.*)
|
||||
CONSTRUCTORS
|
||||
_edata = ABSOLUTE(.);
|
||||
} > sdram
|
||||
|
||||
.bss : {
|
||||
_sbss = ABSOLUTE(.);
|
||||
*(.bss .bss.*)
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(COMMON)
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sdram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_info 0 : { *(.debug_info) }
|
||||
.debug_line 0 : { *(.debug_line) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* configs/sama5d4-ek/scripts/ddram.ld
|
||||
* configs/sama5d4-ek/scripts/uboot.ld
|
||||
*
|
||||
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
@ -36,7 +36,7 @@
|
||||
/* The SAMA5D4 has 128 KB of ISRAM beginning at virtual address 0x0020:0000.
|
||||
* This memory configuration, however, loads into the 256MB SDRAM on board
|
||||
* the SAMA5D4-EK which lies at 0x2000:0000. An offset 0x00008000 is
|
||||
* reserved by the bootloader.
|
||||
* reserved for used by the U-boot bootloader.
|
||||
*
|
||||
* Vectors in low memory are assumed and 16KB of ISRAM is reserved at the
|
||||
* high end of ISRAM for the page table.
|
Loading…
Reference in New Issue
Block a user