カテゴリ:PCとか( 141 )

Arty で kozos Step4

昨日はシリアル開通までできました。今日は XMODEM を開通します。
とにかく何が起きているのかわからないので、dump コマンドは有無を言わさず256Byte出すようにしました。128Byte(1ブロック)転送できているようです。でもこれじゃやっぱり何もわかりません。
TeraTerm で XMODEM のログを取る方法が出てたので見てみると、1回目の転送で NACK を返しています。これはいろいろと待ち時間が足りないに違いない(って、結果だけ言うと簡単だけどね)。なわけで、main.c の wait を 10倍に、xmodem.c の xmodem_wait を 20倍にしたらちゃんと動いてるっぽいです。
最終目標は Step6 です。そこから先は読むだけで挫折しましたし。
f0054075_17180626.png
ちなみに UART の実現は、Xilinx というか Arty の場合はボード上に USB-UART が載っていて、プログラム用の USB-JTAG と USB を共用しています。USB 1本でつながって便利です。UART を自分で作りたくなければ、UART Lite なんてのを使えば良いのかな?Altera は JTAG UARTコアとか言う特殊な通信 IP と PC 上の nios2-terminal で通信できます。もちろん USB は1本です。こっちの方が初期デバッグには良いかもしれませんが、やっぱり移植性が悪いです。今回のように XMODEM を使いたい場合は外付け USB-UART が必要になり、USB も 2本必要なので格好悪いです。

[PR]
by tom01h | 2016-11-13 17:18 | PCとか | Trackback | Comments(0)

Arty で kozos

面倒くさいし汚くなるけどバイトライトに対応しました。4個のRAMを横に並べただけです。初期化ファイルも4分割 (i-i)。あとデバッグ中に気付いたんだけど、CS ネゲートで出力保持する機能もちゃんと追加しました。
PC に USB-UART ドライバ入れて GO! メモリの初期化がうまくいってなかったり、上の機能(CSネゲート)が足りなかったり、やっぱり TXD と RXD のクロスを忘れたりしていたけど、やっとの思いでシリアル接続できました。
組み込みOS自作入門って本の Step4 を実行中なんだけど、まだ、XMODEM の転送は出来ません。TeraTerm の場合はオプションにチェックサムを選べって書いてあるけど、そんなオプションないんだけど…
f0054075_16485456.png
ちなみに Xilinx の場合は、かなり制約あるけど普通に Verilog で RAM を書くとブロック RAM を推定してくれます。バイトライトに対応していないので、横に分割は自分でしなくてはならないんですが。初期化も readmemh で出来ます。Altera の場合は Altera の準備した RAM ライブラリを使います。初期化の方法も独自仕様。そんなわけでとっても便利だけど、移植性が悪そうです。どっちが良いのかは分かりません。

[PR]
by tom01h | 2016-11-12 13:51 | PCとか | Trackback | Comments(0)

Arty 三度

Arty に自作 SH2 もどき CPU を乗っけてみた。実は Arty再び に続いて2回目。
続きをやるつもりだったのに、再びの時の成果がなくなっている。このときは、結局 UART 動かなかったんだよねぇ。でも、単に PC に USB-UART のドライバを入れてなかっただけ疑惑があるんだよね。
今日もまた、LEDが点滅するところまでは出来ました。今回は UART 動くかな?論理は Altera で実証済みだし。
f0054075_20595195.jpg
しかし、バイトライトの SRAM は推定できないのかしら?今はバイトライト使わなそうだから殺しちゃっているけど、対策考えないと駄目か。分割するしかないんだろうけど、初期化がめんどくさくなるなぁ。もしかして前回 UART が動かなかったのは、ここで手を抜いたからってのもあるのかな?IO 以外にバイトライトなんか使っているのかな?

[PR]
by tom01h | 2016-11-11 21:05 | PCとか | Trackback | Comments(0)

V-scale

V-scale を落としてきてみた。RISC-V のマイコン級インプリの Z-scale を Verilog で書いたものです。Z-scale は見てないし、自動生成なのか、手で最適化したのかも知りません。とにかく、実行してみた。VCS と Verilator の実行環境が入っている。もちろん VCS なんて持っていないので Verilator で試してみると、大量の .vcd ファイルが出た。別の PC に gtkwave が入っているので見ることはできるけど、これ、波形確認しか手はないのかな?最近は ModelSim の波形 Viewer に慣れているので ModelSim でも流れるようにしてみたんだけど、イベントループでも起きてるの?
# ** Error (suppressible): (vsim-3601) Iteration limit 5000 reached at time 255 ps.
入力は .hex ファイルしかない。tests から作ったようにも見えるけど、アドレスが結構違う。どこで問題が起きているのかさっぱりわからん。
仕方ないので、Verilator の波形と比べてみると、マシンモードからユーザモードに移る手前で落ちているように見えます。これ、まじめに追うかどうか、悩みどころだなぁ。

[追記
csrw mepc で mepc をセット
csrr で何かをリード (待ち合わせかなにかと思う)
eret でユーザモードに移行しつつ mepc にジャンプ (eret は古いらしい 今は mret であるべき)

の命令列の scrr で止まっているみたい。
なので、この命令を無害な命令に書き換えてみたら最後の方まで進んだ。
でも、最後にマシンモードに戻ってから tohost 番地への書き込みあたりでやっぱりイベントループの模様。]
[追記2 とりあえず illegal_csr_access をぶった切ってみたら最後まで行きました。]

[PR]
by tom01h | 2016-11-03 17:06 | PCとか | Trackback | Comments(0)

WiFi ルータ

TP-LINK の Archer C5 というルータに買い替えた。
うちは WAN がとっても遅い契約なのでルータなんて何でもよいと思っていたけど、LAN にいろいろ繋がるようになってきたのでちょっと速いのを選んでみた。
あと、今までは nasne ファイルサーバをバックアップディスクにしていたんだけど、 FAT の制限か 4GB 以上のファイルが作れない。新しいルータは NTFS が使える模様。
で、繋いでみた。あれ?ネットワークに TP-LINK 見えないよ?1枚ぺらの取説見ると、ネットを見ろと書いてある。↓に接続するといいんだと。毎回だと面倒なので、ネットワークドライブに割り当てておいた。
\\tplinklogin.net
ファイルサーバはたいして速くならないなぁ。そもそも HDD が遅いのかもしれない。有線よか無線のほうが速いや。これはケーブルがギガじゃないんか。
HDD 自体は USB2.0 の限界まで出てた。Vostro -(有線)- ルータ -(無線)- XPS だと 400Mbps 以上は出てた。ルータのファイルサーバ機能が遅いのかな。
f0054075_11253337.jpg
とりあえず NTFS でフォーマットし直したので、最初のバックアップを USB 接続で実行中………
あれ?VOYO って 5GHz 対応してないじゃん。

[PR]
by tom01h | 2016-11-02 21:04 | PCとか | Trackback | Comments(0)

RISC-V

RISC-V をいろいろダウンロードしてきた。
とりあえず、GNU Compiler ToolchainFrontend ServerISA Simulatorpktests があればお試しくらいはできるのかな?RISC-V tools をがっつり持ってくるべきだったかな?
基本はリンク先を見ながらインストールすればよいんだけど、Toolchain は make でインストールまでしようとするので、sudo を付けた。んで、あまりに時間かかるので、Linux multilib はまた後日ってことにする。
他も sudo 必要なところあるね。
で、spike で hello を実行してみると…
$ spike pk hello
warning: only got 2139095040 bytes of target mem (wanted 4026531840)
Hello world!
これだけ?つまんない。次は tests 。
普通に make すると、ただコンパイル(アセンブル?)してるだけみたい。
isa/ に移って、 make run すると、spike を実行する模様。大量のファイルができてるけど… 落ちたらどうなるのかわからん。

う~~ん、遅いな。ディスクが遅いのかな?そもそも VOYO のディスクが遅いのか、WSL だから遅いのか、WSL なのに Windows 側のディレクトリで作業しているから遅いのか… 最後が原因なら、WSL 管理下のディレクトリと使い分けるのが賢いのかな?いつか試してみるか?しかしどうやって?

[PR]
by tom01h | 2016-10-31 23:34 | PCとか | Trackback | Comments(0)

Wifi と Windows Update

Wifi 接続なら Windows Update のダウンロードを待たせることが出来るかもしれない。
設定 - ネットワークとインターネット - Wi-Fi から接続している Wifi を選んで、従量課金接続をオンにする。
これで、手動チェック、手動ダウンロードが出来るかも。
f0054075_10051354.png

[PR]
by tom01h | 2016-10-28 22:04 | PCとか | Trackback | Comments(0)

WSL に開発環境

Windows 側に Emacs とか ModelSim とか入れて、Cygwin から開発環境を移植してみた。
.bat ファイルを bash スクリプトに移植したり、.exe を追加したりして、一応動くようになった(25日の追記を参照)。あれ?もともとは Cygwin 必要だったのか?いや、なくても動くように仕立てたんだったか。
ただ、全環境移植するためには VOYO に EXCEL が無いという越えられない壁がある。かといってメインの環境を InsiderPreview にするわけにもいかん。来年の3月とか4月とか言われている RS2 が来るまでは試行ってことで。
でも、日本語と改行コードはちゃんと考えないといかんなぁ。
ちなみに、Emacs の為に Windows 側の環境変数 HOME を設定しないと $HOME/.emacs を読まないみたい。

[PR]
by tom01h | 2016-10-27 20:24 | PCとか | Trackback | Comments(0)

VOYO で TV

VOYO に PIX-DT300 をつないで TV を観れるようにしたい。
が、”コンテンツ保護エラー… 音声デバイスを確認してください。” とか言って止まっちゃいます。音声出力をヘッドフォン出力にすると観れます。う~~ん。なんか音ずれしているようにも感じるが…
熱に関しては、熱くなるけどダレる事はないみたい。チェリトレえらい。でもちょっとカクカクしている感もあります。4K が無理なのかもしれない。
ただ、そもそも TV なんか観るのか?って疑問はあります。
ん?DVD は観れるぞ。著作権保護のやり方にもいろいろあるって事かな?めんどくさいなぁ。
して、今日は Build 14955 が降りてきてネットが重い。

[PR]
by tom01h | 2016-10-26 20:07 | PCとか | Trackback | Comments(0)

WSL

InsiderPreview のインストールは済んだのですが、何やらダウンロードしてます。とりあえず Windows Update の配信の最適化は無効にしておいたほうが良さそうです。あと、Preview は微妙に英語が残るのですね。
で、WSL をここを見ながらインストール。"ホスト名の明記"はやらなくてもよくなったみたい?とりあえず、GCCは入れといた(sudo apt install build-essential)。
[追記 Cygwin と違って、Windows の PATH を引き継がないみたいですね。あと、Windows コマンド実行時は、拡張子の .exe を省略できない模様。それと、カレントにある .bat ファイルが実行できない模様。]
ここにホームディレクトリのありかが書いてありました。Windowsのホームにショートカット作っておくと便利かな?
[追記 Windows 側で WSL のディレクトリをいじってもすぐに反映されないみたい。危険なのでここは使うのやめて、/etc/passwd 書き換えて HOME を Windows のホームに設定するのが良いかな?]
あと、Bash on Ubuntu on Windows ってアイコンできたし、Cmder 無くてもいけるのかな?あったほうが便利かな?
f0054075_21142879.jpg
ちなみに指紋と映り込みがひどくて、写真を撮るのは大変なんです。
[PR]
by tom01h | 2016-10-25 14:28 | PCとか | Trackback | Comments(0)