Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-10-11 16:37:58

  michal - Użytkownik

michal
Użytkownik
Zarejestrowany: 2014-04-15

Instalacja Quartus 12

Witam

jestem początkującym użytkownikiem Debiana (i ogólnie Linuxa). Korzystam z Debiana Wheezy amd64. Chciałby zainstalować na nim oprogramowanie Quartus 12 (oprogramowanie do obsługi i programowania układów FPGA Altera).
Pobrałem już ze strony producenta wersję na Linuxa. Znalazłem też instrukcję instalacji - http://www.alterawiki.com/wiki/Quartus_for_Debian_Wheezy. Chciałbym się dowiedzieć czy mogę bezpiecznie wykonać polecenia z tej instrukcji. Pytam, ponieważ jakiś czas temu próbowałem instalować Quartusa i były jakieś problemy z instalacją (niestety nie pamiętam już jakie), a jak wspomniałem jestem początkującym użytkownikiem Debiana i niec chiałbym nic w nim zepsuć :)
Skrypt instalcyjny wygląda następująco:

Kod:

#!/bin/env bash

# Copyright (c) 2013 Altera Corporation. All rights reserved.

# Your use of Altera Corporation's design tools, logic functions and other
# software and tools, and its AMPP partner logic functions, and any output files
# any of the foregoing (including device programming or simulation files), and
# any associated documentation or information are expressly subject to the terms
# and conditions of the Altera Program License Subscription Agreement, Altera
# MegaCore Function License Agreement, or other applicable license agreement,
# including, without limitation, that your use is for the sole purpose of
# programming logic devices manufactured by Altera and sold by Altera or its
# authorized distributors.  Please refer to the applicable agreement for
# further details.

# Check if we are running on a supported version of Linux distribution with pre-requisite packages installed.
# Both RedHat and CentOS have the /etc/redhat-release file.
unsupported_os=0
is_rhel_or_centos=0
missing_package=0

if [ -f /etc/redhat-release ] ;then
    os_version=`cat /etc/redhat-release | grep release | sed -e 's/ (.*//g'`
    os_platform=`echo ${os_version} | grep "Red Hat Enterprise" || echo ${os_version} | grep "CentOS"`

    if [ "$os_platform" != "" ] ;then

        is_rhel_or_centos=1
        os_rev=`echo ${os_version} | grep "release 3" || echo ${os_version} | grep "release 4"`
        if [ "$os_rev" != "" ] ;then
            unsupported_os=1
        fi
    fi
elif [ -f /etc/SuSE-release ] ;then
    os_version=`cat /etc/SuSE-release`
    os_platform=`echo ${os_version} | grep SUSE`
    if [ "$os_platform" != "" ] ;then
        os_rev=`echo ${os_version} | grep "VERSION = 10"`
        if [ "$os_rev" != "" ] ;then
            os_version=`cat /etc/SuSE-release | tr "\n" ' '| sed -e 's/ VERSION.*//g'`
            unsupported_os=1
        fi
    fi
fi

if [ $unsupported_os -eq 1 ] ;then
    echo ""
    echo "Altera software is not supported on the $os_version operating system. Refer to the Operating System Support page of the Altera website for complete operating system support information."
    echo ""

    answer="n"
    while [ "$answer" != "y" ]
    do
        echo -n "Do you want to continue to install the software? (y/n): "
        read answer

        if [ "$answer" = "n" ] ;then
            exit
        fi
    done
fi

if [ $is_rhel_or_centos -eq 1 ] ;then
    for item in libstdc++ glibc libX11 libXext libXau libXdmcp freetype fontconfig expat
    do
        if test -z `rpm -q $item --qf "%{n}-%{arch}\n"| grep "i386\|i486\|i586\|i686"` ; then
            if [ $missing_package -eq 0 ] ;then
                missing_package=1
                echo ""
                echo "You must install the 32-bit version of the following libraries for the Quartus II installer and software to operate properly:"
            fi
            echo "> $item"
        fi
    done

else
    machine_bitness=`uname -m`
    if [ "$machine_bitness" == "x86_64" ] ;then
        echo ""
        echo "You must have the 32-bit compatibility libraries installed for the Quartus II installer and software to operate properly."
        echo ""
    fi
fi

if [ $missing_package -eq 1 ] ;then
    echo ""
    echo "You can install these libraries with the RPM utility on Red Hat Linux Enterprise systems or with the yum utility on CentOS systems. Refer to the Altera Software Installation and Licensing Manual for any additional libraries required by Altera Software."
    echo ""
    echo "If you proceed with the installation your software may not function correctly."
    echo ""

    answer="n"
    while [ "$answer" != "y" ]
    do
        echo -n "Do you want to continue to install the software? (y/n): "
        read answer

        if [ "$answer" = "n" ] ;then
            exit
        fi
    done
fi

export SCRIPT_PATH=`dirname "$0"`
export CMD_NAME="$SCRIPT_PATH/components/QuartusSetupWeb-13.1.0.162.run"
eval exec "\"$CMD_NAME\"" $@

Pozdrawiam i z góry dziękuję za pomoc

Offline

 

#2  2014-10-11 17:01:51

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Instalacja Quartus 12

http://www.alterawiki.com/wiki/Quartus_for_Debian_Wheezy napisał(-a):

Kod:

aptitude install ia32-libs ia32-libs-gtk libxerces-c28 zsh

na wiki w sznurku piszą, żeby instalować ia32-libs, a te paczki wyleciały, zmieniły znaczenie:

Kod:

ia32-libs-i386 - Transitional package to migrate ia32-libs to multiarch
ia32-libs-gtk - Transitional package to migrate ia32-libs-gtk to multiarch
ia32-libs-gtk-i386 - Transitional package to migrate ia32-libs-gtk to multiarch

Debian teraz wspiera Multiarch.
Oryginalne ia32-libs ostatnio widziałem w Squeeze.

Ostatnio edytowany przez Jacekalex (2014-10-11 17:10:27)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2014-10-11 17:17:26

  michal - Użytkownik

michal
Użytkownik
Zarejestrowany: 2014-04-15

Re: Instalacja Quartus 12

Czyli teraz zamisat instalacji pakietów ia-32libs oraz ia32-libs-gtk muszę zainstalować biblioteki 32-bitowe

Kod:

dpkg --add-architecture i386
apt-get update
apt-get install <nazwabiblioteki>:i386

?

A co z pakietem libxerces-c28? Chyba też już go nie ma w repozytorium Debiana.

Offline

 

#4  2014-10-11 17:21:29

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Instalacja Quartus 12

michal napisał(-a):

A co z pakietem libxerces-c28? Chyba też już go nie ma w repozytorium Debiana.

libxerces-c28

Offline

 

#5  2014-10-11 17:26:11

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Instalacja Quartus 12

michal napisał(-a):

Czyli teraz zamisat instalacji pakietów ia-32libs oraz ia32-libs-gtk muszę zainstalować biblioteki 32-bitowe

Kod:

dpkg --add-architecture i386
apt-get update
apt-get install <nazwabiblioteki>:i386

?

A co z pakietem libxerces-c28? Chyba też już go nie ma w repozytorium Debiana.

Biblioteka jest w wheezym:

Kod:

apt-cache policy libxerces-c28
libxerces-c28:
  Zainstalowana: (brak)
  Kandydująca:   2.8.0+deb1-3
  Tabela wersji:
     2.8.0+deb1-3 0
        500 http://ftp.us.debian.org/debian/ stable/main amd64 Packages

Co do multiarch, generalnie tak się teraz postępuje, przy czym ja bym użył aptitude.
Poza tym składnia poleceń wygląda na prawidłową.

Jednak musisz troszkę pokombinować, albo instalacja tych ia32 pakietów migracyjnych, albo tak, jak napisałeś wyżej z multiarch, coś powinno się udać.
Nie mam tu pod ręką programu Quartus, żeby sprawdzić, i prowadzić (za rączkę) czy może inaczej (na smyczy). :D


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2014-10-11 17:27:17

  michal - Użytkownik

michal
Użytkownik
Zarejestrowany: 2014-04-15

Re: Instalacja Quartus 12

Dzięki za wskazówki :)
Mam jeszcze jedno pytanie - czy polecenie

Kod:

dpkg-reconfigure locales -> Select all en_US

nie zmieni jęsyka programów na angielski?

Ostatnio edytowany przez michal (2014-10-11 17:29:50)

Offline

 

#7  2014-10-12 19:51:27

  michal - Użytkownik

michal
Użytkownik
Zarejestrowany: 2014-04-15

Re: Instalacja Quartus 12

Udało się zainstalować Quartusa i wygląda, że wszystko działa poprawnie.
Mam jednak jeszcze pytanie odnośnie instalacji sterowników do programatora USB Blaster. Na stronie alterawiki piszą, że trzeba dodać grupę blaster i użytkownika blaster, a następnię do /etc/udev/rules.d/51-usbblaster.rules taką regułę:

Kod:

# USB-Blaster
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", GROUP="blaster"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", GROUP="blaster"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", GROUP="blaster"

# USB-Blaster II
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", GROUP="blaster"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", GROUP="blaster"

# BeMicro
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="a4a0", GROUP="blaster"

.

Szukałem jeszcze informacji odnośnie instalacji USB Blastera na Debianie i znalazłem na elektrodzie takie coś:

Kod:

Pacjent:

Release 7.1 (wheezy) 32-bit
Kernel Linux 3.2.0-4-686-pae
Quartus II Web edition
USB Blaster

"Z pudełka" nie działa komunikacja z Blasterem z powodu braku uprawnień
do zapisu do USB, na
http://www.altera.com/download/drivers/dri-usb_b-lnx.html można
poczytać:


Add the following lines to the /etc/udev/rules.d/51-usbblaster.rules
file.

# 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"

# USB-Blaster II
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6010",\
MODE="0666"
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6810",\
MODE="0666"


Problemem jest składnia pliku, powinien on wyglądać tak:
# USB-Blaster
DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001",\
MODE="0666"
DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002",\
MODE="0666"
DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003",\
MODE="0666"

# USB-Blaster II
DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010",\
MODE="0666"
DRIVERS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810",\
MODE="0666"


Problemem też jest plik /lib/udev/rules.d/91-permissions.rules, a
konkretnie wpis

# usbfs-like devices
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"

powodujący nadpisanie zmiennej MODE, więc nasz plik 51-usbblaster..rules
powinien zwac się np 92-usbblaster.rules


tadaa... JTAG działa.

am

I teraz nie wiem która instrukcja jest poprawna (a nie mam jak sprawdzić bo dostęp do płytki mam tylko na uczelni i chciałbym, żeby już wszystko dobrze działało).

Nie wiem co daje dodanie gupy i użytkownika blaster.

Mam zainstalowany programator USBAsp (do programowania AVR'ów) i reguła wygląda tak:

Kod:

# USBasp programmer
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", ATTRS{product}=="USBasp", GROUP="usb", MODE="0666"


# Atmel devices
SYSFS{idVendor}=="16c0", MODE="666", GROUP="usb"

# Devices: free (VOTI)
SYSFS{idVendor}=="16c0", MODE="666", GROUP="usb"

# Microchip devices
SYSFS{idVendor}=="04d8", MODE="666", GROUP="usb"

# standard converter FTDI
SYSFS{idVendor}=="0403", MODE="666", GROUP="usb"

# NXP
SYSFS{idVendor}=="0471", MODE="666", GROUP="usb"

# LPC-Link probe (Code Red?)
SYSFS{idVendor}=="1FC9", MODE="666", GROUP="usb"

Offline

 

#8  2014-10-12 20:05:24

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Instalacja Quartus 12

Te regułki do udeva decydują o uprawnieniach gniazda w /dev - który reprezentuje podłączone urządzenie.

Przykład gniazda tworzonego przez sterownik Nvidii:

Kod:

crw-rw---- 1 root video 195, 0 10-12 07:32 /dev/nvidia0

W tamtych przykładach:

Kod:

SYSFS{idVendor}=="1FC9", MODE="666", GROUP="usb"

MODE - to uprawnienia gniazda, przy Nvidii 660, GROUP - to grupa, przy Nvidii video, tam blaster albo usb.

W przykładzie z Wiki blastera zastosowany będzie umask domyślny z systemu operacyjnego, w drugim przykładzie MODE ustala 666.

Ostatnio edytowany przez Jacekalex (2014-10-12 20:07:26)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2014-10-12 21:02:02

  michal - Użytkownik

michal
Użytkownik
Zarejestrowany: 2014-04-15

Re: Instalacja Quartus 12

Czyli taka reguła jest poprawna (gdy nie jest podana grupa to uprawnienia są dla wysztkich użytkowników?)?

Kod:

SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666"

Offline

 

#10  2014-10-12 21:15:24

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Instalacja Quartus 12

Jak nie podasz grupy. domyślnie będzie root:root, uprawnienia 666 oznaczają zapis i odczyt dla wszystkich.

Ja bym dał grupę blaster  i MODE 660, wtedy tylko root i członkowie danej grupy będą mogli korzystać z danego urządzenia.

Ostatnio edytowany przez Jacekalex (2014-10-12 21:16:08)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)