Success! Subscription added.
Success! Subscription removed.
Sorry, you must verify to complete this action. Please click the verification link in your email. You may re-send via your profile.
Customize the u-boot config file, my_nios2.h,
1. sysid If you don't have sysid, comment out the line,
/* #define CONFIG_SYS_NIOS_SYSID_BASE CONFIG_SYS_SYSID_BASE */
2. serial console If you use jtag uart, comment out the line, and add jtag uart define.
/* #define CONFIG_ALTERA_UART */
#define CONFIG_ALTERA_JTAG_UART
3. status led a. If you don't have status led, comment out the three lines,
/* #define CONFIG_STATUS_LED */ /* Enable status driver */
/* #define CONFIG_GPIO_LED */ /* Enable GPIO LED driver */
/* #define CONFIG_GPIO */ /* Enable GPIO driver */
b. If you use led drived by Altera PIO core, and the instance name is not LED_PIO, add a define,
#define LED_PIO_BASE MY_NIOS2_LED_PIO_BASE,
eg. EP3C120 board, #define LED_PIO_BASE USER_LED_PIO_8OUT_BASE
DE2 board, #define LED_PIO_BASE LED_GREEN_BASE
c. change STATUS_LED_BIT to the bit position in the LED port. eg,
#define STATUS_LED_BIT 2 /* bit 2 in the LED port */
4. enviroment variable CONFIG_ENV_SIZE must be at least one flash erase sector size. It was 64k for older nios2 dev board, such as 1c20, 1s10, 1s40, and 2c35. It is 128k for newer 3c120 and neek.
a. if you save env in cfi flash
#define CONFIG_ENV_IS_IN_FLASH
CONFIG_ENV_ADDR may be set to right after u-boot in the flash, or at the last sector of the flash, or other free space in the flash. You may need to adjust CONFIG_ENV_ADDR , like NEEK.h for NEEK.
b. if you save env in epcs/spi flash,
#define CONFIG_ENV_IS_IN_SPI_FLASH
# define CONFIG_ENV_OFFSET 0x7e0000 /* last sector */
# define CONFIG_ENV_SIZE 0x20000 /* 1 sector */
# define CONFIG_ENV_SECT_SIZE 0x20000
# define CONFIG_ENV_SPI_BUS 0
# define CONFIG_ENV_SPI_CS 0
# define CONFIG_ENV_SPI_MAX_HZ 30000000 /*30Mhz */
c. if you save env in nand flash,
#define CONFIG_ENV_IS_IN_NAND
# define CONFIG_ENV_OFFSET 0x40000
# define CONFIG_ENV_SIZE 0x40000 /* 1 sector */
d. if you don't want to save env,
# define CONFIG_ENV_IS_NOWHERE 1 /* if env in SDRAM */
# define CONFIG_ENV_SIZE 0x20000
5. memory If you use FAT on IDE or MMC/SD, or UBI on flash, you should reserve more space,
#define CONFIG_SYS_MONITOR_LEN 0x80000 /* Reserve 512k , text+data+bss */
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 0x80000) /* 512k, malloc */
But env addr can be set to offset 256k, enogh size for text+data without bss, as you don't write bss to flash.
#define CONFIG_ENV_ADDR ((CONFIG_SYS_RESET_ADDR + \
0x40000) | \
CONFIG_SYS_FLASH_BASE)
6. auto boot If you want u-boot to start linux automatically, add this line,
#define CONFIG_BOOTDELAY 5
7. if you have more than one uart or timer in system, they will be unified to the same name by sopc-create-config-files. It will cause compilation error. Please rename the unused one in my_nios2_fpga.h. The example design of Altera dev boards come with nios2eds have such issue in two timers.
Community support is provided Monday to Friday. Other contact methods are available here.
Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
For more complete information about compiler optimizations, see our Optimization Notice.