Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
12748 Discussions

Compatibility with Quartus 5.1 and Nios 5.1

Altera_Forum
Honored Contributor II
1,547 Views

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
0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
852 Views

Hi Shindou, 

 

You should try out buildroot and work on Linux, follow 

http://forum.niosforum.com/forum/index.php?showtopic=3174 (http://forum.niosforum.com/forum/index.php?showtopic=3174

 

The tools are independent of chips, boards, quartus2 and nios2 version.
0 Kudos
Altera_Forum
Honored Contributor II
852 Views

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?
0 Kudos
Altera_Forum
Honored Contributor II
852 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
852 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
852 Views

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!
0 Kudos
Altera_Forum
Honored Contributor II
852 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
852 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
852 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
852 Views

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.
0 Kudos
Reply