Skip to content

Latest commit

 

History

History

baremetal

TangNanoDCJ11MEM (baremetal)

  • クロス環境で作成したプログラムを実行します.
  • HDLは小規模なので,いろいろ試すベースラインに最適です.

PDP-11用プログラム開発環境

クロス環境の構築

下記リンクにある情報が大変参考になりました.

これに従ってVMwareのubuntu上にクロス環境を構築し、実機で動くプログラムのバイナリを作成できました。 バージョンが古かったり,いくつか誤りもあったので下記のように修正しています。

  • pkginst.shの先頭を/bin/shから/bin/bashに変更.(pushd でエラーになったので)
  • ツール類のバージョンを最新か新しめの値に修正.
    • binutils-2.42
    • gmp-6.3.0
    • mpfr-4.2.1
    • mpc-1.3.1
    • gcc-11.4.0
  • start.Sの"mov $0x1000, sp"はおそらく"$01000"の間違いなので修正.

サンプルプログラム

マンデルブロ集合表示プログラム samples/asciiart

  • クロス環境でコンパイルできます.
  • a.outからrom.vへの変換はtools/out2rom.pl を使用.かなり適当に変換してます.
  • makeしてできるrom.asciiart.v をrom.vにリネームしてTangNano用プロジェクトに持って行ってビルドします。
  • console ODTから,1000g で実行.UART関連がまだ不安定なので文字化けすることがあります. (sys_clkに同期化したら安定しました.)
  • 起動時にconsole ODTを起動するか,ユーザプログラムを起動するかは,top.vのPUP_CONFで設定可能です.

シミュレータ

実機で動かす前の動作確認に使えます.後から気がついたのですが,ubuntuだと古いバージョンならapt install simhでインストールできるようでした.

  • SimH (History Simulator)
  • simhv312-4.zipをとってきてmake
  • PDP11/pdp11_defs.hの「uint32 uc15_memsize;」 がリンク時にmultiple definitionのエラーになるのでextern uint32に変更したらコンパイルできました.

GUI開発環境

シリアルポート経由でconsole ODTをGUI操作できるようになるツールです.こんなものがあるとは驚きました.

更新履歴

  • 2024/06/24: 初版公開(20240624)
  • 2024/07/07: UART安定化(20240707)