Open6
1500行OS(Try Kernel)をM1 Macでやってみる
環境構築
- The xPack GNU Arm Embedded GCC
- →入手先にMac用の手順があったのでそれを実施
- The xPack Windows Build Tools
- →デフォルトで
make
使えたので不要
- →デフォルトで
- Eclipse
- →入手先にMac用のものがあったのでそれを利用
買ったもの
- ラズパイPico本体
- デバッグ・プローブ
- USBケーブル
繋ぎ方
Pico本体とProbeの繋ぎ方。とりあえず写真のとおりでうまくいった。見様見真似なので、どのピンが何なのかは全く分かっていない。
ターミナル接続
誌内で説明されているTera Termは使えないので、Mac標準の端末からコマンドで繋ぐ。
screen /dev/tty.usbmodem1302 115200
とりあえずこんなことが発生している。仕組みが分かっていないので後で調べる:
- ProbeをMacに繋いだ初回しか
screen
コマンドが成功しない。2回目以降はscreen
コマンドが失敗する。USBケーブルを抜いて、刺し直すと成功する。 -
115200
を指定することによって文字化けが発生しなくなる。何も指定しないと化ける。
参考にしたページ: 【シリアル接続】Mac でシリアルコンソールを利用してみた
改行コード
-
¥n
が改行コードとして認識されずそのまま表示され困っていたが、¥
と\
をちゃんと使い分けないといけなかった。\n
で指定したら直った。 - LF(
\n
)指定だと改行が以下の通り妙になった。-
hello,world hello,world hello,world
- CRLF(
\r\n
)にしたらちゃんとした挙動になった。よって第2部第4章のmain.c
の書き方は以下が良さそう。-
tm_putstring("hello,world\r\n");
-
-
アセンブラ関連の参考ページ
アセンブラ全く分からないので、分かりやすそうなものをまとめておく。