Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
20 years ago

Compatibility with Quartus 5.1 and Nios 5.1

Hi,

I'm a newbie and I'm wondering if the nios1.4 uclinux package can be used on a 2C35 Cyclone II device with Quartus v5.1 and Nios II v5.1 since the pdf hardware/software requirements doesn't include that device or those versions of the software.

If not, are there any workarounds to get uclinux on the board?

Thanks!

Shindou

9 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi hippo,

    Running ./build0207 for setting up the toolchain and getting the following error. I'm using gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47.fc4)

    cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/ptree.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o cp/mangle.o cp/cp-lang.o cp/name-lookup.o cp/cxx-pretty-print.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o main.o libbackend.a libcpp.a ../libiberty/libiberty.a

    collect2: ld returned 1 exit status

    make[2]: *** [cc1plus] Error 1

    make[2]: Leaving directory `/home/Ricky/buildroot/toolchain_build_nios2/gcc-3.4.5-final/gcc'

    make[1]: *** [all-gcc] Error 2

    make[1]: Leaving directory `/home/Ricky/buildroot/toolchain_build_nios2/gcc-3.4.5-final'

    make: *** [/home/Ricky/buildroot/toolchain_build_nios2/gcc-3.4.5-final/.compiled] Error 2

    Do you know what this error means?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    It is building gcc in pass2. Please try, cd ~/buildroot, make menuconfig, toolchian option, disable c++, and make again.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You should select development tools packages when installing Fedora, and run "yum update" after installation.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    thanks hippo,

    Regarding step 5 -

    cd ~/linux-2.6.x# generate nios2_system.h from ptf

    make ARCH=nios2nommu CROSS_COMPILE=nios2-linux-uclibc- hwselect SYSPTF=your_system.ptf# config the kernel

    make ARCH=nios2nommu CROSS_COMPILE=nios2-linux-uclibc- menuconfig# compile the kernel

    make ARCH=nios2nommu CROSS_COMPILE=nios2-linux-uclibc-

    since the board is a 2C35, what should be used for your_system.ptf? will a linux_1C20 suffice?

    thanks again!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The ptf is generated by the sopc builder.

    It is used by hwselect perl script to generate the memory map, io ports address and irq number for nios2 uClinux.

    It must match your hardware.

    If you use altera dev board, you should find it in your kits, (eg altera/kits/nios2/components/altera_nios_dev_board_cyclone_2c35/system/...).

    Or if it is a custom board, built it with the minimal components as in the guide.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Found it thx, though when I ran the make hwselect with the following options, I got the error below. I got a similar error when doing the make with the payload buffer and I think you mentioned in another thread to not use ROM?

    Any modifications to the asm-offsets.c file needed?

    (line 149 btw looks like:

    DEFINE(LINUX_SDRAM_START, nasys_program_mem);

    DEFINE(LINUX_SDRAM_END, nasys_program_mem_end);

    )

    --- Please select which CPU you wish to build the kernel against:

    (1) cpu_0 - Class: altera_nios2 Type: e Version: 1.0

    Selection: 1

    --- Please select a device to upload the kernel to:

    (1) ext_flash

    Class: altera_avalon_cfi_flash

    Size: 16777216 bytes

    Selection: 1

    --- Please select a device to execute kernel from:

    (1) data_RAM

    Class: altera_avalon_onchip_memory2

    Size: 1024 bytes

    (2) payload_buffer

    Class: altera_avalon_onchip_memory2

    Size: 16384 bytes

    (3) firmware_ROM

    Class: altera_avalon_onchip_memory2

    Size: 4096 bytes

    Selection: 1

    --- Summary using

    PTF: altera_nios_dev_board_cyclone_2c35.ptf

    CPU: cpu_0

    Device to upload to: ext_flash

    Program memory to execute from: data_RAM

    --- Settings written to /home/Ricky/linux-2.6.x/arch/nios2nommu/hardware.mk

    [Ricky@localhost linux-2.6.x]$ make ARCH=nios2nommu CROSS_COMPILE=nios2-linux-uclibc-

    no emulation specific options.

    CHK include/linux/version.h

    CHK include/nios2_system.h

    perl -I/home/Ricky/linux-2.6.x/arch/nios2nommu/scripts /home/Ricky/linux-2.6.x/arch/nios2nommu/scripts/gen_nios2_system.h.pl cpu_0 data_RAM ext_flash < altera_nios_dev_board_cyclone_2c35.ptf > include/nios2_system.h.tmp; if [ -r include/nios2_system.h ] && cmp -s include/nios2_system.h include/nios2_system.h.tmp; then rm -f include/nios2_system.h.tmp; else echo &#39; UPD include/nios2_system.h&#39;; mv -f include/nios2_system.h.tmp include/nios2_system.h; fi

    UPD include/nios2_system.h

    CC arch/nios2nommu/kernel/asm-offsets.s

    arch/nios2nommu/kernel/asm-offsets.c: In function `main&#39;:

    arch/nios2nommu/kernel/asm-offsets.c:149: error: `na_data_RAM&#39; undeclared (first use in this function)

    arch/nios2nommu/kernel/asm-offsets.c:149: error: (Each undeclared identifier is reported only once

    arch/nios2nommu/kernel/asm-offsets.c:149: error: for each function it appears in.)

    arch/nios2nommu/kernel/asm-offsets.c:150: error: `na_data_RAM_end&#39; undeclared (first use in this function)

    make[1]: *** [arch/nios2nommu/kernel/asm-offsets.s] Error 1

    make: *** [arch/nios2nommu/kernel/asm-offsets.s] Error 2
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Sorry, I pointed the wrong path in previous post. (I don&#39;t have any dev board)

    Find it in page 1-9 in

    "Nios II Development Kit Getting Started User Guide".

    http://www.altera.com/literature/ug/ug_nio...ing_started.pdf (http://www.altera.com/literature/ug/ug_nios2_getting_started.pdf)

    The ptf file should be

    altera\kits\nios2\examples\verilog\niosII_cycloneII_2c35\standard\std_2C25.ptf

    And there is a precompiled sof, which you can download to the board.

    There is no need to edit the asm-offset.c .

    You should have an option of sdram to "select a device to execute kernel from" during hwselect.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks Hippo for the reply. It helped me out too. I had the same problem. Then I realized from reading your post that I had the wrong ptf file. I took the ptf file out of the components... which is WRONG ... as you pointed out we need to get it out of the examples. Which now the kernel and apps compile fine.

    THanks.