みねっちょのマイコン関係ブログ

組込開発系フリーソフトやハードの情報発信ブログ

WSL

ARM シミュレータ内蔵 GDB の使い方

GDB 内蔵の ARM CPU 用シミュレータを TUI モードで使用してベアメタル用ソースコードのデバッグを行う手順を紹介します。C/C++ ソースとアセンブリやレジスタを同時に表示出来ます。本 GDB を WSL でビルドする手順は別記事で紹介しています。

ARM シミュレータ内蔵 GDB のビルド手順

GDB にはターゲット CPU 用のシミュレータが内蔵可能です。ホスト上でクロスコンパイルしたバイナリを GDB 単体で実行可能です。WSL の Ubuntu-20.04 上で GDB 10.2 を ARM 用内蔵シミュレータ付きでビルドする手順を紹介します。

WSL の起動時デフォルト ユーザ変更

WSL

WSL で起動時ユーザの変更が必要な理由と手順を解説します。Linux を tar から wsl.exe でインポートした場合には wsl.conf を変更します。MSストアからの場合にはコマンドが付属します。対応レジストリも紹介します。

WSL 上 ArchLinux の Windows Terminal への登録

WSL

別記事にて WSL 上に Windows の標準コマンドのみを使用してインストールした ArchLinux を、マイクロソフト 製の 新しい Windows Terminal から利用可能にする手順を紹介します。尚、起動時デフォルトユーザの設定は事前に済ませておくべきです。(別記事参…

WSL 上 ArchLinux の post install を行う

別記事で WSL にインストール済の ArchLinux の post install 処理手順です。sudo ユーザの追加、カーネルのアップデート禁止処理、リポジトリの更新を行います。操作は新 Windows Terminal 上の PowerShell から WSL を起動して行います。

WSL に ArchLinux を標準コマンドでインストールする

WSL への Linux ディストリビューションの追加は簡単です。ArchLinux を Ubuntu と PowerShell の標準コマンドだけで追加する手順を紹介します。公式シグネチャの有るパッケージのみを使用し、ArchWSL や wsldl は使用しません。

WSL の VSCode で 複数 C/C++ の make と GUI デバッグをする

WSL

VSCode には GDB の GUI 表示機能や、自作した Makefile の 実行機能が有ります。C/C++ 用デバッグ拡張機能と Makefile 拡張機能のインストール、及び複数ファイルのビルドから GUI でのシングルステップ実行によるソースコードデバッグまでの手順を紹介しま…

無償な Verilog シミュレータ Verilator のテストベンチを SystemC で作る

Verilator は Verilog HDL をサイクルベース方式で高速に動かす無償のシミュレータです。但、最上位モジュールは C++ または SystemC で記述する必用があります。本記事では、最上位のテストベンチを SystemC で記述する方法を、Verilog HDL の記述と1対1に…

WSL にインストール可能な Linux ディストリビューション

Windows 10 の WSL (1 と 2) には、実は様々な Linux ディストリビューションを無償でインストール可能です。wsldl プロジェクトにより汎用化インストーラが用意されています。Arch Linux、CentOS、Fedra、RHEL 等は有名な物は既に対応済です。

VSCode のターミナル内 bash のキーバインドを Emacs に戻す

VSCode のターミナルで WSL を起動すると、bash の Emacs モードのキーバインドが上書きされて VSCode のキーバインドになっています。これを VSCode の機能で再度上書きし、Emacs モードに戻す方法を紹介します。

WSL で /tmp を RAM に配置する

WSL の /tmp ディレクトリを RAM に配置する方法を紹介します。/tmp には、コンパイルの中間ファイル等が展開される為、/tmp を RAM に配置するとビルド時間を短縮可能です。また、スクラッチの頻度を下げられるので、SSD の寿命を延ばせます。

WSL で 無償の Verilog な サイクルベースシミュレータ Verilator を使う

Verilator は、Verilog HDL をサイクルベースで論理シミュレーションする無償の設計ツールです。一般的なイベント ドリブン方式と比べ高速ですが、特有の制約事項もあります。Verilog と C++ 記述のテストベンチの具体例を WSL 上で実行して解説し、結果を I…

WSL から WSL2 への移行でX サーバの設定変更が必要になる

WSL1 と WSL2 での X Window サーバー (X Server) の設定の違いについてまとめました。WSL1 から WSL2 への移行では設定変更が必要になります。記事後半に VcXsrv での設定の仕方を記載しています。

WSL2 用に C: ドライブ直下やデスクトップ上にショートカットを作る

WSL

WSL2 のファイルシステムは、仮想化された ext4 フォーマットの単一ファイルです。ネットワークとしてアクセスが必要で、Windows 側とのファイル受け渡しが面倒なので、C: ドライブ直下やデスクトップ上に Sandbox を作ります。

WSL から WSL2 への変換手順

WSL

WSL1から2への変換備忘録。Windows Update で WSL のバージョンが自動で上がる訳では無い。実質的には PowerShell で次の1行を実行するだけ。事前のカーネルパッチは必須。

WSL 標準パッケージで RISC-V 32ビット版 RV32E のコンパイルをする

WSL 上で Ubuntu 標準パッケージを使った RISC-V 32ビット用のOS無しベアメタル向けコンパイル手順:

WSL に標準添付の ARM 用クロスコンパイラで OS 無しベアメタルのビルドをする

WSL 上 Ubuntu 標準パッケージの ARM 用クロスコンパイラを使って OS 無しベアメタルのビルド手順を解説します。ヘキサファイル (インテル HEX、 MOT) 、素のバイナリ、 Verilog 用 ROM ファイルも出力します。

WSL1 用に C: ドライブ直下にリンクを張る

WSL

WSL1 で導入される Linux は Windows の非常に深いディレクトリに置かれ、特別なプロパティが付与されます。そこで、C: ドライブ直下にファイル受け渡し用 Sandbox を作ります。

WSL に標準添付の ARM 用クロスコンパイラを使う

Windows 10 の WSL 上 Ubuntu-20.04 での ARM 用クロスコンパイラの導入と動作確認をします。この Ubuntu には標準パッケージとして ARM-64/EL/HF 用の3種類があり、Linux カーネルのビルドに最適です。

WSL のホームを C: 直下に移動したらファイル属性を変更出来なくなった

WSL

WSL1配下のディレクトリ属性は Windows の標準とは異なる。ホームディレクトリをエクスプローラで移動すると、新たに作成したファイルの属性が 777 になる。その原因解明と復旧、対策の備忘録。

MinGW, Cygwin, WSL での C: ドライブ直下の見え方

MinGW、Cygwin、WSL での Windows の C ドライブの参照の仕方はそれぞれ次の通りです。MinGW: /c/、Cygwin:/cygdrive/c/、WSL:/mnt/c/

【大失敗】WSL のホームディレクトリを C ドライブの直下に移動してリンクを張る

WSL

大問題発生: 下記の通り WSL のホームを Windows のエクスプローラーで移動したところ、WSL 上で作成した全てのファイルやディレクトリの属性が 777、つまり rwxrwxrwx となってしまう事が分かりました。恐らく、WSL で使用しているディレクトリでは、「プ…

WSL の Windows Terminal からの起動方法とカスタマイズ

WSL

WSL 標準添付のターミナルには ls コマンドの表示が乱れる等の問題が有ります。そこで、マイクロソフトの The new Windows Terminal からの起動方法と、フォントやカーソルやタブ内表示のカスタマイズの方法を紹介します。