2019年8月27日火曜日

SDRやっとこさ

すごく参考になる。サイトのメモ
https://www.ishikawa-lab.com/index.html 石川氏のサイトから

RaspberryPiによるADS-B受信機
SDR(Software Defined Radio)「ソフトウエアラジオ」という方式があります。これは出力や周波数帯、変調方式などが異なるさまざまな無線通信手段を、1台の無線機のソフトウエアを書き換えることで対 応する技術です。言いかえると、汎用的なハードウエアを用いて通信を行い、従来は半導体が行ってきた方式依存の処理の大部分をソフトウエアで行います。新 しい通信方式が登場すると新しいソフトウエアを取得して通信機器に送り込むことで、ハードウエアを交換する必要がありません。
 これを実現するために従来は、高度な信号処理プロセッサを用いる必要があり、手が出せませんでしたが、QSTというアマチュア無線の雑誌2013年1月号に、パソコン用のUSBタイプのワンセグTVチューナー(日本の方式とは異なるDVB-T方式)を用いると簡単に実現できることが発表され、一躍世界に広がりました。
Cheap and Easy SDR
 これはQST 2013年1月号のタイトルです。ドングル(Dongle)とは「コンピューターのUSBポートに接続する小さな装置」を指 すため、もっぱらこのチューナーは「ドングル」と呼ばれます。価格は20ドル前後と手ごろであり、生産は中国、日本でもインターネット通販で安価に手に入ります。
 さて、そのソフトウエアラジオでなにを受信するかですが、ADS-B(Automatic Dependent Surveillance-Broadcast)を受信しようと思います。
 ADS-Bは航空機から1090MHzの周波数で、航空機識別子、GPSによる現在位置、高度、速度などを含む信号をたえず放送的に発信しており、この情報を地上や航空機間で利用することでより安全に航空機を運用できるようにするものです。近年これに対応したトランスポンダを搭載する航空機が増えてきています。それを受信し、パソコン地図上に仮想レーダのように、航空機を表示しようとするものです。
 (2019/07/29更新)

 仮想レーダ画面
Flightradar24へ情報を提供する
Flightradar24(フライトレーダー24)は飛行中の民間航空機の現在位置をリアルタイム表示するWebサービスです。Wikipediaによると、2006年、2名のスウェーデンの航空ファンがヨーロッパ北部・中部のADS-B受信ネットワークの構築をスタートし、たくさんの人誰で受信したADS-BのデータをFlightradar24のサーバに送信できるシステムとして公開されたため、世界各国の航空ファ ンによってレーダーの対応範囲は拡大し、現在はヨーロッパ、アメリカをはじめとして世界中ひろくボランティアが参加者がいます。従来は航空管制官やパイロットしか知ることのできなかった航空機の位置情報・飛行経路が手軽に取得できるため、航空事故発生時にマスメディアの情報源として用いられることもあるようです。Flightradar24が推奨するADS-B受信機がありますが高価(800ユーロ)で、ここに述べてきたDVB-Tドングルとソフトウェアラジオによる受信機が普及したため、一気に情報提供者が増加しています。
 ここではRaspberryPiによるADS-B受信機でFlightradar24に情報をアップし、ボランティアの仲間入りをしたいと思います。
 
 2019年5月、いままで動いていたfr24feedが動かなくなり、RaspberryPiを2台使う新しい方式に変更しました。(2019/07/28)


ドングル(DVB-T+DAB+FM USB チューナー RTL2832U+R820T)はアマゾンで入手できます。簡易包装で送られてきたセットはドングルの他にアンテナとリモコン、CDがついており、これが1000円~2000円(価格は時々変わる)。リモコン、CDの使い道はありませんがアンテナは、さまざまな実験用に使えましすし、特殊なMCXコネクタはあとで部品として貴重です。
 ドングルのなかをのぞいてみると、キー部品の信号処理LSI Realtek RTL2832U とチューナLSI Rafael Micro R820T がみえます。
 一部に、ドングルの製造が雑で、USBの接続が不安定、あるいは周波数がずれているなどの報告がありますが、そのようなことはなく、充分安定に使えました。
なお、デコーダーチップのRTL2832Uを積んだチューナーとSDRソフトを使ったソフトウェア受信をRTL-SDRと呼んでいます。

 RaspberryPiでソフトウエアラジオを動かすために必要なソフトを準備します。手順はこちらを参考にしました。

1. 必要なパッケージをインストール
$ sudo apt-get update
$ sudo apt-get install git
$ sudo apt-get install cmake
$ sudo apt-get install libusb-1.0-0.dev
$ sudo apt-get install build-essential
$ sudo apt-get install pkg-config


2. rtl-sdrのソースの取得
つぎに最も重要なソウトウェアラジオ用パッケージであるrtl-sdrを本家からインストールします。
$ git clone git://git.osmocom.org/rtl-sdr.git

3. rtl-sdrをビルド
$ cd rtl-sdr
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ sudo ldconfig
$ sudo cp rtl-sdr.rules /etc/udev/rules.d/


4./etc/modprobe.d/ディレクトリにrtl-tcp-blacklist.confというファイルを下記の内容で作成

$ sudo nano /etc/modprobe.d/rtl-tcp-blacklist.conf 
blacklist dvb_usb_rtl28xxu
blacklist rtl2830
blacklist dvb_usb_v2
blacklist dvb_core
一度念のためリブートしておきます。

上のようにドングルをRaspberryPiのUSBにさし、つぎの確認を行います。
$ lsusb
Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

$ rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
・・・・


 これでソフトラジオがRaspberryPiで実現できましたので、試しにFMラジオを受信してみます。例えば79.5MHzにチューニングする場合
次のコマンドをRaspberryPiのコマンドラインから入力します。
$ rtl_fm -f 79.5M -M fm -s 200000 -r 48000 - | aplay -r 48k -f S16_LE

RaspberryPiのイヤホンジャックにイヤホンをさしこむと、FM埼玉が聞こえます。

次にRaspberryPiのソフトラジオをWindows親機からリモート操作する練習を行います。

1.Windowsパソコン側のSDRソフトのダウンロード
 SDRSharpというソフトを使います。Dawnloadsページ
  http://sdrsharp.com/index.php/downloads 
を開きます。

 Dawnloadsページの中ほど「Important note for RTL-SDR users」の項目にある、
 sdr-install.zip ファイルをダウンロードします。

2.ファイルの解凍とインストール
 PCがインターネットアクセスできる環境であることを確認し、解凍したフォルダの中の、install.bat をダブルクリックします。自動的にsdrsharpフォルダーが作成され、その中にSDR#の必要なファイル群がインターネット経由でダウンロードされます。ダウンロードが終了し たら、sdrsharpフォルダーを開き、中に、 zadig.exe と SDRSharp.exe が保存されていることを確認します。

3.RaspberryPiで次を実行

$ rtl_tcp -a 0.0.0.0

4.Windows側でSDRSharp.exe を起動すると、次のような画面が現れる
 Source のプルダウンメニューを RTL-SDR/TCP とし、歯車形のConfigure ボタンをクリック
サブウィンドウが現れるので、Hostに、RaspberryPiのIPアドレスを記入し、Port が1234を確認しクローズ
Radio のWFM ボタンを指定
一番上の大きな数字に、受信したい放送局の周波数を指定
3角のスタートボタンをクリック



 右側のスライダを適宜調整すると、このような画面があらわれます。またパソコンのスピーカから音声が聞こえます。
終了するには、RaspberryPi側でctr-C
Modesdeco2を導入
いよいよ、ADS-Bの受信設定です。ADS-Bの情報を受信しそれをデコードするフリーソフトには、いくつかあります。ここでは評判の良いModesdeco2を使います。上で説明したソフトラジオ用のデコーダソフトは使わず、これだけで動作するようです。こちらを参考にしました。
1.まずは、 RaspberryPi用の modesdeco2 のダウンロードです。
$ wget https://drive.google.com/open?id=1WhheW-I4_1sb3VUXa9bcs8XEkh9fn_Lh

2.ファイルを展開します
$ tar xfz modesdeco2_rpi2-3_deb9_20180729.tgz

3.これでソフトの準備が出来ました。たくさんのパラメータ指定があります。しらべるには
$ ./modesdeco2 --help

4. modesdeco2の起動
 設置されているサイトの、緯度経度を調べておきます。60進ではなく少数以下4桁まで指定します。そしてつぎのように起動します。
$ ./modesdeco2 --gain 49.6 --avrmlat 30002 --rbs --location 35.xxxx:139.xxxx --web 8080
2015-04-03 12:48:31.428 INFO ModeSDeco2 v.20150321
2015-04-03 12:48:31.482 INFO Magnetic declinations coefficient file wmm.cof load successful
2015-04-03 12:48:31.513 INFO Using device: 0 mnf: Realtek prod: RTL2838UHIDIR serial: 00000001
2015-04-03 12:48:32.034 INFO Supported Gains (dB): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7
32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
2015-04-03 12:48:32.036 INFO Sample Rate: 2.0 MHz
2015-04-03 12:48:32.038 INFO Freq: 1090.0 MHz
2015-04-03 12:48:32.039 INFO Freq Correction: 0 ppm
2015-04-03 12:48:32.093 INFO Gain: 49.6 dB
ADS-Bが正常に動き出しました。
--avrmlat 30002 はAVR format with MLAT style timestampsで、のちほどつかいます。

4.LANにつながっている、パソコンのブラウザからアドレスを
http://192.168.x.xxx:8080/

とすれば、このページのトップのような仮想レーダの画面が映し出されます。

RaspberryPiからFlightradar24へ情報をアップロードする(これをフィードといいます)プログラムをインストールします。最新の方法はこちらにあります。 またマニュアルがこちらです。(2019/07/28更新)

マニュアルによれば、デコードソフトdump1090が自動でインストールされ、以前に比べ格段に簡単になっています。私の場合はうえで構成したModesdeco2(アドレスは192.168.x.xxx)はそのまま生かして、Flightradar24へのフィードだけを、LAN接続された別のRaspberryPi(アドレスは192.168.x.yyy)から行うこととしました。

別のRaspberryPiからつぎのコマンドを実行し、fr24feedをインストールします。
$ sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"

事前準備
1.ADS-B受信機をこのコンピュータに接続するかLAN経由でアクセスできるようにしておくこと
2.アンテナの緯度 アンテナの経度 アンテナの海抜の正確な値を準備(MLATの場合)
3.ただしいメールアドレス
4.このコンピュータですでに fr24feed が動いているならば、停止しておく : sudo systemctl stop fr24feed

次のコマンドで設定していく
$ fr24feed --signup
(一部省略 すでにシェアリングキーを持っている場合の例)


Welcome to the FR24 Decoder/Feeder sign up wizard!

Before you continue please make sure that:

1 - Your ADS-B receiver is connected to this computer or is accessible over network
2 - You know your antenna's latitude/longitude up to 4 decimal points and the altitude in feet
3 - You have a working email address that will be used to contact you
4 - fr24feed service is stopped. If not, please run: sudo systemctl stop fr24feed

To terminate - press Ctrl+C at any point ( Ctrl+C で途中放棄できる)


Step 1.1 - Enter your email address (username@domain.tld)
$username@domain.tld (自分のアドレス)

Step 1.2 - If you used to feed FR24 with ADS-B data before enter your sharing key.
If you don't remember your sharing key, pelase use the retrival form:
https://feed.flightradar24.com/forgotten_key.php

Otherwise leave this field empty and continue.
$:シェアリングキー (すでにシェアリングキーを持っている場合)

Verifying sharing key...OK



Step 1.3 - Would you like to participate in MLAT calculations? (yes/no)$:yes

IMPORTANT: For MLAT calculations the antenna's location should be entered very precise!

Step 3.A - Enter antenna's latitude (DD.DDDD)
$:北緯

Step 3.B - Enter antenna's longitude (DDD.DDDD)
$:東経

Step 3.C - Enter antenna's altitude above the sea level (in feet)
$:海抜

Using latitude: DD.DDDD, longitude: DDD.DDDD, altitude: xxxft above sea level

Step 4.1 - Receiver selection (in order to run MLAT please use DVB-T stick with dump1090 utility bundled with fr24feed):

1 - DVBT Stick (USB)
-----------------------------------------------------
2 - SBS1/SBS1er (USB/Network)
3 - SBS3 (USB/Network)
4 - ModeS Beast (USB/Network)
5 - AVR Compatible (DVBT over network, etc) (今回はこれ)
6 - microADSB (USB/Network)
7 - SBSx via Basestation (localhost:30006)


Enter your receiver type (1-7)$:5

Step 4.2 - Please select connection type:

1 - Network connection
2 - USB directly to this computer

Enter your connection type (1-2)$:1

Step 4.3A - Please enter your receiver's IP address/hostname
$:192.168.x.xxx (modesdeco2 のアドレス)

Step 4.3B - Please enter your receiver's data port number
$:30002 (avrmlatのポート番号)

Step 5.1 - Would you like to enable RAW data feed on port 30334 (yes/no)$:no

Step 5.2 - Would you like to enable Basestation data feed on port 30003 (yes/no)$:no

Step 6A - Please select desired logfile mode:
0 - Disabled
1 - 48 hour, 24h rotation
2 - 72 hour, 24h rotation
Select logfile mode (0-2)$:1

Step 6B - Please enter desired logfile path (/var/log/fr24feed):
$:

Submitting form data...OK

Congratulations! You are now registered and ready to share ADS-D data with Flightradar24.
+ Your radar id is T-RJTY44, please include it in all email communication with us.
+ Please make sure to start sharing data within one month from now as otherwise your ID/KEY will be deleted.

Thank you for supporting Flightradar24! We hope that you will enjoy our Premium services that will be available to you when you become an active feeder.

To start sending data now please execute:
sudo systemctl start fr24feed

Saving settings to /etc/fr24feed.ini...OK
Settings saved, please run "sudo systemctl restart fr24feed" to use new configuration.

modesdeco2のAVR出力を、fr24feedに食わせるため、Step4では「5 - AVR Compatible」 を選択し、modesdeco2の動いているRaspberryPiのIPアドレス192.168.x.xxx、ポート番号30002を入力しています。

フィードを開始するには
$ sudo systemctl start fr24feed

RaspberryPiをスタートさせると、常にfr24feedは動いています。
$ sudo service fr24feed status
により、Active: active (running)が表示されれば、正常にフィードされています。
さらに
$ fr24feed --status で動作状態を表示できます。

また、LAN接続されたほかのPCのブラウザからは次のアドレスで、状態を見ることができます。
http://192.168.x.yyy:8754

設定ファイルは/etc/fr24feed.iniにあります。

fr24feedを停止させる場合は
sudo systemctl stop fr24feed


そのほかのよく使うコマンド
fr24feed --help ヘルプ
fr24feed --fr24key=0123456789ABCDEF 手動でフィード開始
fr24feed --signup サインアップと構成
fr24feed --reconfigure
 構成変更

fr24feed --version version 番号


つぎに、Flightradar24のWebにアクセスして、フィードのサインアップに使用したメールアドレスで、アカウントを作っておきます。アカウントの作成はフィードのサインアップとは別に行う必要があります。同じメールアドレスを使う必要があります。
 Flightradar24にログインすると、自分のフィードの情報を確認することができます。数時間動作させた後であれば、受信した航空機やメッセージ数、距離や方向などの統計情報を確認することができます。
 フィードが動作しているならFlightradar24のプレミアムサービスが無料で利用可能です。表示時間の制限が無くなり、その他全画面表示や、レーダービューなどを見ることができます。さらにスマホから、FR24Premium が無料で使えるようになります。
ひととおりうまく設定できたので、本番に移ります。なにより重要なのは、アンテナです。とりあえず付属のアンテナを室内に置いていただけですので、これでは不十分です。
 いろいろな製作例を参考にしながら、簡単で性能の良さそうなグランド・プレーンアンテナを作ります。
アンテナの基礎から応用までによる固い電力コードの芯線を使いました。
気象観測用のポールの先端に設置。地上高約7m 海抜100m

 グランド・プレーンアンテナは図のように、1/4波長の放射素子に、地面を模したラジアルを配置したもので、無指向アンテナです。ADS-Bは1060MHzですから、放射素子、ラジアルとも、
エレメント長 = 300/1090MHz x 1/4 x 0.95 = 65mm
となり、適当な銅線を切断し、BNCコネクタのセンタと、アース側に4本配置しました。それを水道用の塩ビパイプのふたに穴をあけ取り付け、気象観測用のポールの先端に設置しました。


 つぎにドングルですが、アマゾンで本番用にあたらしい改良版を購入しました。これは チューナLSIに新型のR820T2を実装し、周波数偏差/周波数温度特性とも±10PPM以下の日本製高精度水晶発振子に国内で交換作業したものです。
 予備実験でわかったことですが、主要部品のRTL2832U と R820TのLSIは、運用中に手で触れないほど高温になります。そのため図のようにヒートシンクを用い、かつメタルのケースに熱を逃すようにしました。かなり効果があります。
 ドングルとアンテナの配線長は短い方がよいので、ドングルは金属ケースにいれ、軒下に設置。RaspberryPiとはUSB接続

裏側に大きめのヒートシンク2個を熱伝導テープで貼り付け
改良版ドングル(上) 赤丸は表面実装水晶発振子
金属ケースにドングルをねじ止め。こちら側にもLSIにヒートシンク
BNCコネクタに変換ケーブルで出力
ドングルは軒下に(ふたをはずしてある)。左は2A、5Vの電源と共にケースに入れたRaspberryPi。雷センサ用の基板がついている。

Flightradar24ではさまざまなフィードされたデータの中から、選択し、一つの画面を構成しています。自分のPC上では20数機とらえていますが、東京ようにたくさんの情報提供者がいる地域では、なかなか激戦で採用されません。どのようなアルゴリズムで多数の情報から選択しているのか不明ですが、少なくとも受信レベルを報告しているので、これによっているものと思われます。
 下は、当方のデータが使われた例です。 これで皆さんに仲間入りできました。


 数週間運用後、Flightradar24の自分のアカウントをみると、下のような統計データが表示されます。西側が開けた地形のため、200ノーチカルマイル(1ノーチカルマイル=1.852km)、名古屋上空まで見えています。1GHzの電波は直進性が強く障害物(山、樹木)を回り込まないため、南東の特に高度の低い航空機はとらえられず、残念ながら羽田や成田の発着は見えません。


参考:Flightradar24における最近の事故例(動画で見えます 2019/03/18追記)
2014/03/08 マレーシア航空370便 クアラルンプール発北京行 行方不明
2014/07/17 マレーシア航空17便 アムステルダム発クアラルンプール行 ウクライナ上空で撃墜
2015/03/24 ジャーマンウィングズ9525便 バルセロナ発デュッセルドルフ行 フランスアルプスに激突
2016/05/12 エジプト航空804便 パリからカイロへ向かっている途中に、レーダーから機影が消えた
2018/10/29 インドネシアのライオン・エアJT610便 ジャカルタ発パンカルピナン行きのボーイング737 MAX 8が墜落
2019/03/10 エチオピア航空ET302便 アディスアベバ発ナイロビ行きのボーイング737 MAX 8型機墜落

2019年6月30日日曜日



ISE Design Suite14.7がWindows8でファイルを参照すると終了する

ISE Design Suite 14.7をインストールしました。しかしファイルの参照を行うときにファイルダイアログを開くと強制終了します。どうにかして動かせるようにしたいなーと探してると解決方法が見つかりました。
C:\Xilinx\14.5\ISE_DS\ISE\lib\nt64 C:\Xilinx\14.5\ISE_DS\common\lib\nt64
上記のディレクトリにある"libPortabilityNOSH.dll"を"libPortability.dll"に名前を変えて置き換えます。そのときに元ファイル"libPortability.dll"のバックアップをしておきます。
この手順を行うとLoad LicenseやOpen Projectでファイルダイアログが呼び出されても強制終了起こらなくなります。



R# 62380: ISE インストール - Windows 8.1 または Windows 10 マシンに ISE 10.1 または 14.7 をインストールして実行する方法

2021/09/23•Knowledge

タイトル
AR# 62380: ISE インストール - Windows 8.1 または Windows 10 マシンに ISE 10.1 または 14.7 をインストールして実行する方法
DESCRIPTION

Windows 8.1 または Windows 10 マシンに ISE をインストールして実行すると、次のような問題が発生することがあります。

 

  • ISE 10.1 - インストール中に次のような _setup.exe エラー メッセージが表示され、ISE 64 ビット インストーラーがクラッシュします。
  • ISE 14.7 64 ビット - ファイル ダイアログを開くと、ツールがデスクトップにクラッシュします。 これは、ライセンスを読み込んだり、プロジェクトを開いたり (下のスクリーンショットを参照)、ファイル ダイアログ ボックスが表示されるその他のプロセスを試みると発生することがあります。
  • PlanAhead 14.7 64 ビット - 64 ビットの PlanAhead を開くと、Java ランタイム環境に関する致命的エラーが発生します。

****** PlanAhead v14.7 (64-bit)   **** Build 321239 by xbuild on Fri Sep 27 19:29:51 MDT 2013     ** Copyright 1986-1999, 2001-2013 Xilinx, Inc. All Rights Reserved. INFO: [Common 17-78] Attempting to get a license: PlanAhead INFO: [Common 17-290] Got license for PlanAhead INFO: [Common 17-86] Your PlanAhead license expires in 19 day(s) INFO: [Device 21-36] Loading parts and site information from C:/Xilinx/14.7/ISE_DS/PlanAhead/data/parts/arch.xml Parsing RTL primitives file [C:/Xilinx/14.7/ISE_DS/PlanAhead/data/parts/xilinx/rtl/prims/rtl_prims.xml] Finished parsing RTL primitives file [C:/Xilinx/14.7/ISE_DS/PlanAhead/data/parts/xilinx/rtl/prims/rtl_prims.xml] start_gui # # A fatal error has been detected by the Java Runtime Environment: # #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000360000, pid=30740, tid=31220 # # JRE version: 7.0_17-b02 # Java VM: Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode windows-amd64 compressed oops) # Problematic frame: # C  0x0000000000360000 # # Failed to write core dump.Minidumps are not enabled by default on client versions of Windows # # An error report file with more information is saved as: # hs_err_pidXXXXX.log # # If you would like to submit a bug report, please visit: #   http://bugreport.sun.com/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. #See problematic frame for where to report the bug. #

SOLUTION

次のソリューションは、Windows 10 ユーザーを対象としています: ISE 14.7 VM for Windows 10 注記: 次に示す手順は、現状のままで提供されており、ザイリンクスが公式にサポートするものではありません。

 

Windows 8.1 および Windows 10 を使用している場合に発生する上記の問題を解決する次のような回避策があります。

ISE 10.1 - 32 ビット インストールを使用する:

1) 32 ビット インストールの bin ディレクトリである \bin\nt に移動します。

2) . setup.exe 実行ファイルを右クリックし、[管理者として実行] をクリックします。

  

3) インストールの残りを通常どおりに実行します。

4) ISE 10.1 32 ビット Design Suite が問題なく機能し、64 ビット バージョンの代わりとして 64 ビット マシン上でも使用できるようになります。

ISE 14.7 64 ビット - SmartHeap をオフにする:

1) ISE インストール ディレクトリである \Xilinx\14.7\ISE_DS\ISE\lib\nt64\ に移動します。

2) . libPortability.dll ファイルの名前を libPortability.dll.orig に変更します。

3) libPortabilityNOSH.dll ファイルのコピーを同じフォルダー内に作成し、libPortability.dll に名前変更します。

  

4) \Xilinx\14.7\ISE_DS\common\lib\nt64\ フォルダーで手順 1 ~ 3 を繰り返します。

上記の手順により、元の libPortability.dll は、SmartHeap が無効になっている NOSmartHeap (NOSH) バージョンの libPortability.dll ファイルに置き換えられます。

これにより、ツールの動作に悪影響を及ぼさずに、上記の ISE 14.7 クラッシュを回避できるようになります。

PlanAhead 14.7 64 ビット - 32 ビットで実行する:

1) デスクトップまたは [スタート] メニューで、PlanAhead ショートカットを右クリックします。

2. [プロパティ] をクリックします。

3) 下のスクリーンショットに示すように、[ショートカット] タブで、[ターゲット] フィールドの内容の最後に「-m32」を追加します (スペースを含む)。

 

サポートされている OS を使用して仮想マシンをインストールして実行する

(Answer 18419) を参照してください。

  • Hyper-V、VirtualBox、VMware Player のような無償の仮想化ソフトウェアにより、サポートされている OS を使用して仮想マシンを実行することもできます。
  • 上記の仮想化ソフトウェア自体は無償ですが、必要な OS ソフトウェアは含まれていないことに注意してください。
URL 名
62380
記事番号
000020930
PUBLICATION DATE
2020/12/09

2019年6月16日日曜日

旧 ISE i sim エラーで動かない件

windows7、 windows10 共通に処置できる方法と思われる。


(エラー表示)
ERROR:Simulator:861 - Failed to link the design

(回避策)
ISEをインストールしたときに入るcollect2を使わないようにリネームする

具体的には、C:\Xilinx\14.4\ISE_DS\ISE\gnu\MinGW\5.0.0\nt\libexec\gcc\mingw32\3.4.2\にインストールされているcollect2.exeを適当な名前(collect2_.exeとか)にリネームしておきます。

fuseは、collect2が必要だから呼び出すものだと思うんですが、なぜかリネームして呼び出せないようにするとコンパイルが通ります。とりあえず、これでISimが起動して、波形の確認ができるようになったのでヨシとします。


次の記事もあるが。。。

どうもWindows8で動かすとこのような現象になるらしい。

原因はISEで使っているMinGWのバージョンが古いためのようです。
対策方法としては、ここからMinGWの新しいバージョンを拾ってきて差し替えるだけ。
http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version3/

MinGWの場所は、ここです。
C:\Xilinx\13.2\ISE_DS\ISE\gnu\MinGW\5.0.0\nt\libexec\gcc\mingw32\3.4.2

ここにある、collect2.exeとcc1.exeをMinGW 3.4.5のものに差し替えたら動くようになりました~

{https://www.haljion.net/index.php/2019-11-13-03-27-18/2019-11-13-11-33-14/120-fpga/2019-11-18-02-29-10/188-windows8-os-ise-webpack}

Xilinx社製のISE WebPACKは,Spartan6などの6シリーズより以前のFPGAに回路を構築するためのIDEです.2015年現在,Vertex7のように7シリーズに回路を構築するにはVivadoというIDEを使うことになり,おそらく今後,Vivadoで6シリーズ以前のFPGAには対応しないと思われます.つまり,6シリーズ以前のデバイスを使うには引き続きISE WebPACKを使用しなければならないということです.しかし困ったことに,ISE WebPACKはWindows8以降のOSではまともの動作しません.この文書ではこの問題の回避方法について述べています.


環境

まず,動作環境を示しておきます.

  • OS : Windows8以降(Windows8.1を含む), 64ビット
  • ISE WebPACK : 14.7(ISE WebPACKの最後のバージョン)

インストール

インストール方法についてはこちらで説明していますが,ライセンスの設定のみ行えませんので,後述の「Windows8以降で動作させるための設定」を行った後,ライセンスの設定を行ってください.ライセンスの設定方法はこちらに書いておきます.


 Windows8以降で動作させるための設定

Windows8以降のOSでISE WebPACKを動作させようとして問題となることは大きく分けて2種類あります.一つはファイルセレクタが動作しないこと,もう一つは64ビット版の外部アプリケーションであるPinAheadが起動しないことです.これらの問題を解決するため,2個の設定を行いましょう.

libPortability.dllの修正

libPortability.dllはファイルセレクタのためのダイナミックリンクライブラリです.これが悪さをしているため,ライセンスの設定やISE WebPACKのファイルを開くことができません.次に示す2個のディレクトリにあるlibPortability.dllをバックアップ(例えばファイル名に「_orig」を付ける)してください.

C:¥Xilinx¥14.7¥ISE_DS¥ISE¥lib¥nt64
C:¥Xilinx¥14.7¥ISE_DS¥common¥lib¥nt64

次に,C:¥Xilinx¥14.7¥ISE_DS¥ISE¥lib¥nt64にある「libPortabilityNOSH.dll」をコピーし,名前を「libPortability.dll」にしてください.同様に,C:¥Xilinx¥14.7¥ISE_DS¥common¥lib¥nt64へも「libPortabilityNOSH.dll」をコピーし,名前を「libPortability.dll」にしてください.

32ビット版PlanAheadを起動するように変更

PlanAheadは独立したアプリケーションで,64ビット版をWindows8以降のOSで動作させようとしても動きません.そこで,ISE WebPACKから32ビット版のPlanAheadを動作させるように変更します.ISE WebPACKからPlanAheadを呼び出すとき,下記のバッチファイルを用いています.

C:¥Xilinx¥14.7¥ISE_DS¥PlanAhead¥bin¥rdiArgs.bat

このバッチファイル内で,32ビット版PlanAheadを動作させるように変更します.このファイルをrdiArgs.bat.orig等のようなファイルとしてコピーしておいた上で,下記の変更をしてください.

  • 16,17,18,20行目の各行のはじめに「rem #」を付けてください.これにより,16~18と20行目はコメントアウトされます.
  • 32行目にある「win64」を「win32」に変更してください.

ライセンスの設定方法

通常,インストール時にライセンスを設定できるのですが,ファイルセレクタが動かないため,インストール時には設定できません.そこで,インストール時にはライセンスの設定をせずに終了したのち,ISE WebPACKを起動し,メニュー[Help]⇒[Manage License...]を選んでください.この手順ではライセンスを設定できない場合があります.具体的にはライセンスを設定するアプリケーション(xlcm.exe)が立ち上がってこない現象が見られました.その場合にはこちらにある方法で対応してください.