User Login


Sie sind noch nicht eingeloggt!

     anmelden |  registrieren

Termine


08. - 10.12.2014: Frankfurt |
PLC2 - Video Signal Processing

08. - 12.12.2014: Freiburg |
PLC2 - Expert FPGA Schaltungstechnik

08. - 10.12.2014: Mnchen |
PLC2 - Compact ZYNQ for HW Designers

Boards


Spartan 6 FPGA SP605 Evaluation Kit (XC6SLX45T-FGG484)
    

Links


FPGA Hersteller:  Altera
Xilinx
Lattice
FPGA Schulungen:  PLC2
El Camino
Trias
Weiteres:  VHDL ORG

Literatur


Dieter Wecker

Prozessorentwurf

Jahr: 2015
ISBN-10: 3110 4029 63

U-Boot für DE2-115 board

Ihr habt Fragen bzw. Probleme mit der Quartus Software, bzw. wollt auf Altera umsteigen - dann seht hier nach.

U-Boot für DE2-115 board

Beitragvon RoyalOpinio » Mi 11. Feb 2015, 11:04

Hallo,

ich habe auf meinem DE"-115 Board uClinux laufen. Da ich aber nicht jedes mal das "zImage" per Console in den SDRAM schieben möchte, soll es auf einer SD-Karte liegen und von da in das SDRAM geschoben werden.

Darür brauche ich einen Bootloader (u-Boot). Ich habe mir schon die Artikel im Altera-Wiki durchgelesen, komme aber einfach nicht weiter.
Das U-Boot soll im OnChipMemory laufen und von da das "zImage" in den SDRAM schieben und starten. Meine Frage ist nun: Wie müssen die Dateien angepasst werden bzw wie sind die Schritte um mir ein U-Boot zu bauen?

Ich habe mir das u-boot schon von git gezogen und mit "make menuconfig" auf Nios II eingestellt.
Mein System hat ein SDRAM und ein OnChipMemory, auf das der Reset-Vektor zeigt.

nios2-generc.h
Code: Alles auswählen
/*
 * (C) Copyright 2005, Psyent Corporation <www.psyent.com>
 * Scott McNutt <smcnutt@psyent.com>
 * (C) Copyright 2010, Thomas Chou <thomas@wytron.com.tw>
 *
 * SPDX-License-Identifier:   GPL-2.0+
 */

#ifndef __CONFIG_H
#define __CONFIG_H

#define CONFIG_SYS_NO_FLASH

#define CONFIG_SYS_MALLOC_F_LEN 0x20000

/*
 * BOARD/CPU
 */
#include "../board/altera/nios2-generic/custom_fpga.h" /* fpga parameters */
#define CONFIG_BOARD_NAME "nios2-generic" /* custom board name */
#define CONFIG_BOARD_EARLY_INIT_F   /* enable early board-spec. init */
#define CONFIG_DISPLAY_CPUINFO
#define CONFIG_DISPLAY_BOARDINFO
/*#define CONFIG_SYS_NIOS_SYSID_BASE   CONFIG_SYS_SYSID_BASE <--Jan*/

/*
 * MEMORY ORGANIZATION
 * -Monitor at top of sdram.
 * -The heap is placed below the monitor
 * -The stack is placed below the heap (&grows down).
 */
#define CONFIG_MONITOR_IS_IN_RAM
#define CONFIG_SYS_MONITOR_LEN      0x40000   /* Reserve 256k */
#define CONFIG_SYS_MONITOR_BASE   (CONFIG_SYS_SDRAM_BASE + \
                CONFIG_SYS_SDRAM_SIZE - \
                CONFIG_SYS_MONITOR_LEN)
#define CONFIG_SYS_MALLOC_LEN      (CONFIG_ENV_SIZE + 0x20000)
#define CONFIG_SYS_MALLOC_BASE      (CONFIG_SYS_MONITOR_BASE - \
                CONFIG_SYS_MALLOC_LEN)
#define CONFIG_SYS_INIT_SP      CONFIG_SYS_MALLOC_BASE


/*
 * SERIAL
 */
#define CONFIG_ALTERA_JTAG_UART
#if defined(CONFIG_ALTERA_JTAG_UART)
# define CONFIG_SYS_NIOS_CONSOLE   CONFIG_SYS_JTAG_UART_BASE
#else
# define CONFIG_SYS_NIOS_CONSOLE   CONFIG_SYS_UART_BASE
#endif

#define CONFIG_ALTERA_JTAG_UART_BYPASS
#define CONFIG_SYS_NIOS_FIXEDBAUD
#define CONFIG_BAUDRATE      CONFIG_SYS_UART_BAUD
#define CONFIG_SYS_BAUDRATE_TABLE   {CONFIG_BAUDRATE}
#define CONFIG_SYS_CONSOLE_INFO_QUIET   /* Suppress console info */

/*
 * TIMER
 */
#define CONFIG_SYS_LOW_RES_TIMER
#define CONFIG_SYS_NIOS_TMRBASE   CONFIG_SYS_TIMER_BASE
#define CONFIG_SYS_NIOS_TMRIRQ      CONFIG_SYS_TIMER_IRQ
#define CONFIG_SYS_NIOS_TMRMS      10   /* Desired period (msec)*/
#define CONFIG_SYS_NIOS_TMRCNT \
   (CONFIG_SYS_NIOS_TMRMS * (CONFIG_SYS_TIMER_FREQ / 1000) - 1)



/*
 * BOOTP options
 */
#define CONFIG_BOOTP_BOOTFILESIZE
#define CONFIG_BOOTP_BOOTPATH
#define CONFIG_BOOTP_GATEWAY
#define CONFIG_BOOTP_HOSTNAME

/*
 * Command line configuration.
 */
#include <config_cmd_default.h>
#undef CONFIG_CMD_BOOTD
#undef CONFIG_CMD_FPGA
#undef CONFIG_CMD_IMLS
#undef CONFIG_CMD_ITEST
#undef CONFIG_CMD_NFS
#undef CONFIG_CMD_SETGETDCR
#undef CONFIG_CMD_XIMG

#ifdef CONFIG_CMD_NET
# define CONFIG_CMD_DHCP
# define CONFIG_CMD_PING
#endif

#define CONFIG_OF_LIBFDT
#define CONFIG_OF_BOARD_SETUP
#define CONFIG_LMB

/*
 * ENVIRONMENT -- Put environment in sector CONFIG_SYS_MONITOR_LEN above
 * CONFIG_SYS_RESET_ADDR, since we assume the monitor is stored at the
 * reset address, no? This will keep the environment in user region
 * of flash. NOTE: the monitor length must be multiple of sector size
 * (which is common practice).
 */
# define CONFIG_ENV_IS_NOWHERE        1    /* if env in SDRAM */
# define CONFIG_ENV_SIZE        0x20000



/*
 * MISC
 */
#define CONFIG_SYS_LONGHELP      /* Provide extended help */
#define CONFIG_SYS_CBSIZE      256   /* Console I/O buf size */
#define CONFIG_SYS_MAXARGS      16   /* Max command args   */
#define CONFIG_SYS_BARGSIZE      CONFIG_SYS_CBSIZE /* Bootarg buf size */
#define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + \
               sizeof(CONFIG_SYS_PROMPT) + \
                16)   /* Print buf size */
#define CONFIG_SYS_LOAD_ADDR      ONCHIP_MEM_BASE
#define CONFIG_SYS_MEMTEST_START   ONCHIP_MEM_BASE
#define CONFIG_SYS_MEMTEST_END      (CONFIG_SYS_INIT_SP - 0x20000)
#define CONFIG_CMDLINE_EDITING

#define CONFIG_SYS_HUSH_PARSER

#endif /* __CONFIG_H */


custom_fpga.h
Code: Alles auswählen
/*
 * This header is generated by sopc2dts version unknown on Mon Feb 09 11:39:46 CET 2015
 * Sopc2dts is written by Walter Goossens <waltergoossens@home.nl>
 * in cooperation with the nios2 community <nios2-dev@lists.rocketboards.org>
 */
#ifndef CUSTOM_FPGA_H_
#define CUSTOM_FPGA_H_

/* generated from qsys.sopcinfo */

/* Dumping slaves of cpu.data_master*/

/* cpu.jtag_debug_module is a altera_nios2_qsys */
#define CONFIG_SYS_CLK_FREQ   50000000
#define CONFIG_SYS_DCACHE_SIZE   2048
#define CONFIG_SYS_DCACHELINE_SIZE   32
#define CONFIG_SYS_ICACHELINE_SIZE   32
#define CONFIG_SYS_EXCEPTION_ADDR   0xc8004020
#define CONFIG_SYS_ICACHE_SIZE   4096
#define CONFIG_SYS_RESET_ADDR   0xc8004000
#define IO_REGION_BASE   0xE0000000

/* onchip_mem.s1 is a altera_avalon_onchip_memory2 */
#define ONCHIP_MEM_BASE   0xe8004000

/* ram_mmu.s1 is a altera_avalon_onchip_memory2 */
#define RAM_MMU_BASE   0xe8009000

/* sdram.s1 is a altera_avalon_new_sdram_controller */
#define CONFIG_SYS_SDRAM_BASE   0xc0000000
#define CONFIG_SYS_SDRAM_SIZE   0x8000000

/* jtag.avalon_jtag_slave is a altera_avalon_jtag_uart */
#define CONFIG_SYS_JTAG_UART_BASE   0xe8009460

/* timer.s1 is a altera_avalon_timer */
#define CONFIG_SYS_TIMER_IRQ   1
#define CONFIG_SYS_TIMER_FREQ   50000000
#define CONFIG_SYS_TIMER_BASE   0xe8009440

/* uart.s1 is a altera_avalon_uart */
#define CONFIG_SYS_UART_BAUD   115200
#define CONFIG_SYS_UART_BASE   0xe8009420
#define CONFIG_SYS_UART_FREQ   50000000

/* mmc_spi.spi_control_port is a altera_avalon_spi */
#define MMC_SPI_BASE   0xe8009400
#define MMC_SPI_IRQ   3

#endif   //CUSTOM_FPGA_H_


Hat jemand Erfahrungen damit und kann mir ein paar Denkanstöße geben?
Ich komme einfach nicht weiter :/

Liebe Grüße Jan
RoyalOpinio
 
Beiträge: 1
Registriert: Fr 29. Aug 2014, 12:39

Zurück zu Altera Software Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron