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++
12652 Discussions

Loading image to SDRAM under ubuntu

Altera_Forum
Honored Contributor II
5,068 Views

Hi, 

 

 

I am trying to run uclinux on DE0-Nano, and i successfully generated the zImage, but iam unable to load the image into SDRAM, it showing error like 

 

alex@alex:~$ nios2-download -g ~/uClinux/distro/nios2-linux/uClinux-dist/images/zImage 

 

/opt/nios2eds/bin/nios2-gdb-server-wrapped: error while loading shared libraries: libjtag_client.so: cannot open shared object file: no such file or directory

 

 

 

Where is the mistake? 

Thanks in advance.
0 Kudos
35 Replies
Altera_Forum
Honored Contributor II
1,688 Views

My guess is that you need to add the quartus library directory containing the required so files to the LD_LIBRARY_PATH variable. 

 

For Quartus v12.0 it should be located in <path-to-quartus>/12.0/quartus/linux64 where <path-to-quartus> depends on where you installed the software. 

 

Try this: 

 

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path-to-quartus>/12.0/quartus/linux64; nios2-download -g ~/uClinux/distro/nios2-linux/uClinux-dist/images/zImage 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Thanks for ur reply sir,but i executed the nios2-download command its showing like this 

 

 

alex@alex:~$ nios2-download -g ~/uClinux/distro/nios2-linux/uClinux-dist/images/zImage 

there is a problem with the quartus ii installation on your computer. 

please use `jtagconfig` for further diagnosis. 

 

 

 

Kindly any help? 

 

Thanks, 

Alex.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Can you try executing that command as root? Just to check if it's a permission issue. 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Thanks you sir, tried as root but....... 

 

 

alex@alex:~$ sudo nios2-download -g ~/uClinux/distro/nios2-linux/uClinux-dist/images/zImage 

[sudo] password for alex: ***** 

sudo: nios2-download: command not found 

 

alex@alex:~$ gksudo nios2-download -g ~/uClinux/distro/nios2-linux/uClinux-dist/images/zImage 

here it doesnt show any error but no output,just it return to command prompt 

 

alex@alex:~$ gksudo ./nios2-download -g ~/uClinux/distro/nios2-linux/uClinux-dist/images/zImage 

here also it doesnt show any error but no output,just it return to command prompt 

 

 

Else i have to check like this or any other method? 

 

Where is the mistake? 

Thanks, 

Alex.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Sir, 

 

 

 

For suppose if i got error like this (As mentioned below) 

 

there is a problem with the quartus ii installation on your computer. 

please use `jtagconfig` for further diagnosis 

 

I came to know, i have to kill jtagd as mentioned below 

 

$ sudo killall jtagd 

$ sudo /opt/quartus/bin/jtagconfig -n 

 

 

Is it true? 

what i have to do? 

Kindly any help?
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Try the following command to see if it resolves the jtag issue for normal users: 

 

echo 'ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="666"' | sudo tee -a /lib/udev/rules.d/51-usbblaster.rules 

 

Reboot your machine just to make sure it takes effect. 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Thanks for giving replies 

 

still iam strucking there only 

 

Sir, once i close and again i open my terminal,  

if i type donload command 

 

1.alex@alex:~$ nios2-download -g ~/uClinux/distro/nios2-linux/uClinux-dist/images/zImage 

 

/opt/nios2eds/bin/nios2-gdb-server-wrapped: error while loading shared libraries: libjtag_client.so: cannot open shared object file: no such file or directory 

 

then i typed  

 

2.alex@alex:~$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/quartus/linux and press enter 

alex@alex:~$  

 

3.alex@alex:~$ nios2-download -g ~/uClinux/distro/nios2-linux/uClinux-dist/images/zImage 

there is a problem with the quartus ii installation on your computer. 

please use `jtagconfig` for further diagnosis. 

i added the your line as u mentioned in the previous post 

And finally in my 51-usbblaster rules file is like this 

 

#usb-blaster 

bus=="usb", sysfs{idvendor}=="09fb", sysfs{idproduct}=="6001", mode="0666" 

bus=="usb", sysfs{idvendor}=="09fb", sysfs{idproduct}=="6002", mode="0666" 

bus=="usb", sysfs{idvendor}=="09fb", sysfs{idproduct}=="6003", mode="0666" 

echo 'attr{idvendor}=="09fb", attr{idproduct}=="6001", mode="666"' 

 

Y , once i close my terminal ,again i will open na no library path. 

I have to fix this problem, kindly any help? 

Where is the mistake? 

Thanks, 

Alex.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

The last command I gave you was supposed to be executed only once. 

In the archive attached to this post are two files: 

 

altera.conf -> put this one in /etc/ld.so.conf.d (this way you don't have to export the library path every time) 

51-usbblaster.rules -> put this one in /lib/udev/rules.d 

 

Reboot your machine and try again. 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Sir, 

 

My usb blaster rules it is in /etc/udev/rules.d/51-usbblaster.rules,can i delete this one, imean as showed in my previous post 

 

According to you , i have to place /lib/udev/rules.d, in my path(/etc/udev/rules.d/51--usbblaster.rules) this file can i delete or what? 

 

 

Thanks, 

Alex.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Yes, you can overwrite the /lib/udev/rules.d/51-usbblaster.rules you created previously with the 51-usbblaster.rules in the zip file. 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Also remember to put the quartus bin directory in your .bashrc file 

 

alex@alex:~$ gedit ~/.bashrc & 

 

and add the following line to the bottom of the file 

 

export PATH=$PATH:/opt/quartus/bin 

 

Then log out and log back in. 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

I tried all the steps , as u mentioned in your previous post, but same problem, where is the mistake? 

 

error 

 

there is a problem with the quartus ii installation on your computer. 

please use `jtagconfig` for further diagnosis. 

 

else cont we download the image into SDRAM under ubuntu? 

Thanks, 

Alex.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Sir, 

 

If i open my bashrc file its showing error like this, previosuly i opend ,but at that time i dint get any error, but now.... 

 

 

 

alex@alex:~$ gedit ~/.bashrc 

 

/opt/quartus/linux/libstdc++.so.6: version `glibcxx_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libproxy.so.1) 

failed to load module: /usr/lib/i386-linux-gnu/gio/modules/libgiolibproxy.so 

 

** (gedit:2404): warning **: error loading plugin: /opt/quartus/linux/libstdc++.so.6: version `glibcxx_3.4.15' not found (required by /usr/lib/libaspell.so.15) 

 

 

** (gedit:2404): warning **: error loading plugin: /opt/quartus/linux/libstdc++.so.6: version `glibcxx_3.4.15' not found (required by /usr/lib/libaspell.so.15) 

 

 

 

 

 

 

finally my bashrc file is  

# ~/.bashrc: executed by bash(1) for non-login shells.# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)# for examples 

# If not running interactively, don't do anything 

[ -z "$PS1" ] && return 

# don't put duplicate lines or lines starting with space in the history.# See bash(1) for more options 

HISTCONTROL=ignoreboth 

# append to the history file, don't overwrite it 

shopt -s histappend 

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) 

HISTSIZE=1000 

HISTFILESIZE=2000 

# check the window size after each command and, if necessary,# update the values of LINES and COLUMNS. 

shopt -s checkwinsize 

# If set, the pattern "**" used in a pathname expansion context will# match all files and zero or more directories and subdirectories.# shopt -s globstar 

# make less more friendly for non-text input files, see lesspipe(1) 

[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" 

# set variable identifying the chroot you work in (used in the prompt below) 

if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then 

debian_chroot=$(cat /etc/debian_chroot) 

fi 

# set a fancy prompt (non-color, unless we know we "want" color) 

case "$TERM" in 

xterm-color) color_prompt=yes;; 

esac 

# uncomment for a colored prompt, if the terminal has the capability; turned# off by default to not distract the user: the focus in a terminal window# should be on the output of commands, not on the prompt# force_color_prompt=yes 

 

if [ -n "$force_color_prompt" ]; then 

if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then 

# We have color support; assume it's compliant with Ecma-48 

# (ISO/IEC-6429). (Lack of such support is extremely rare, and such 

# a case would tend to support setf rather than setaf.) 

color_prompt=yes 

else 

color_prompt= 

fi 

fi 

 

if [ "$color_prompt" = yes ]; then 

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 

else 

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$

fi 

unset color_prompt force_color_prompt 

# If this is an xterm set the title to user@host:dir 

case "$TERM" in 

xterm*|rxvt*) 

PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" 

;; 

*) 

;; 

esac 

# enable color support of ls and also add handy aliases 

if [ -x /usr/bin/dircolors ]; then 

test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" 

alias ls='ls --color=auto' 

# alias dir='dir --color=auto' 

# alias vdir='vdir --color=auto' 

 

alias grep='grep --color=auto' 

alias fgrep='fgrep --color=auto' 

alias egrep='egrep --color=auto' 

fi 

# some more ls aliases 

alias ll='ls -alF' 

alias la='ls -A' 

alias l='ls -CF' 

# Add an "alert" alias for long running commands. Use like so:# sleep 10; alert 

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' 

# Alias definitions.# You may want to put all your additions into a separate file like# ~/.bash_aliases, instead of adding them here directly.# See /usr/share/doc/bash-doc/examples in the bash-doc package. 

 

if [ -f ~/.bash_aliases ]; then 

. ~/.bash_aliases 

fi 

# enable programmable completion features (you don't need to enable# this, if it's already enabled in /etc/bash.bashrc and /etc/profile# sources /etc/bash.bashrc). 

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then 

. /etc/bash_completion 

 

 

fi# Nios II Toolchain 

export PATH=$PATH:~/uClinux/Tools/opt/nios2/bin 

 

 

export PATH=$PATH:/opt/quartus/bin 

export PATH=$PATH:/opt/nios2eds/bin 

export PATH=$PATH:/opt/sopc_builder/bin 

export PATH=$PATH:/opt/nios2eds/bin/gnu/H-i686-pc-linux-gnu/bin 

 

export PATH=$PATH:/opt/quartus/bin 

 

Thanks, 

Alex.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Are you running an old version of quartus? Perhaps you're better of reinstalling v12.0 of Quartus II? 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Iam using quartus 11.1 service pack, is it ok?, otherwise i have to reinstall quartus with 12v? and one more thing i have downloaded nios2-linux-20090929.tar under windows, is any problem ? 

 

 

 

 

Thanks, 

Alex.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Please do the following: 

 

1. Open up a terminal and type "jtagconfig" followed by enter. What does it say? 

 

2. Install libstdc++6 using the command "sudo apt-get install libstdc++6" 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

alex@alex:~$ jtagconfig 

1) USB-Blaster variant [7-1] 

Unable to lock chain (Insufficient port permissions) 

 

and i installed the libstdc++6 also, and i am using ubuntu12.04 

 

 

 

 

Thanks, 

alex.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

That's exactly the kind of problem the /lib/udev/rules.d/51-usbblaster.rules file is supposed to fix. 

 

Connect your altera device to the usb port and execute "lsusb" in a terminal. The output should contain a line like this: 

Bus 003 Device 002: ID 09fb:6001 Altera Blaster 

 

N.
0 Kudos
Altera_Forum
Honored Contributor II
1,688 Views

Ya, the output is like . 

 

alex@alex:~$ lsusb 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

Bus 001 Device 002: ID 1210:25f4 DigiTech  

Bus 006 Device 002: ID 15d9:0a4c Trust International B.V. USB+PS/2 Optical Mouse 

Bus 007 Device 004: ID 09fb:6001 Altera Blaster 

 

 

then how to fix the problem?
0 Kudos
Altera_Forum
Honored Contributor II
1,594 Views

Are you sure you installed the rules file correctly? 

 

Type in "cat /lib/udev/rules.d/51-usbblaster.rules" at the command prompt. It should say: 

ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="666" 

 

You did reboot your machine, right? 

 

N.
0 Kudos
Reply