
スマホの上でGo言語を学んでいる筈が、だんだんカオスとかフラクタルな図形と戯れるシリーズになってしまっております。今回は完全に羊頭狗肉、Goを走らせているのはWSL1上のUbuntu 20.04LTS環境です。どうせスマホの上でも無変更で実行可能だから良いのだ、と言い訳。
デバイス作る人>>デバイス使う人>>デバイスおたく
前々回、デフォルトでインストール済であったlldb (LLVM系?のデバッガ)を使ってみましたが、アセンブラレベルの表示がちょいと思うような感じと違っておりました。gdbとほぼほぼ互換とはいいつつも違うところはあるみたいです。そこで本家gdbをインストールし、TUIモードで動作させてみました。この感じかね。
スマホの上でGo言語を勉強しております。前回タートルグラフィクスを実装?したので、早速その応用ということで定番?「コッホ」曲線を描いてみましたぞ。フォン・コッホ先生ご考案による有限の面積の中に納まる無限の長さの線であります。フラクタル次元は 1.26186…
前回、R言語所蔵のTitanicデータセットを処理。事故のデータなのであまり気色の良いものではないな、などと思っていたら、痛ましい海難事故発生。人間はそういうことに「因果関係」を感じてしまうものであり、私も例外ではないです。が、因果は無いのであります。そうしたら別口でTitanicデータをまた発見。何かあるのか?
前回は正弦波を計算で生成するためにミニマックス近似を使ったFastSin関数を使わせていただきました。12ビットの精度なら十分使えて「速い」と三上先生の御本にはあるのです。しかしどのくらい速いのだか気になります。今回は実機(Arm Cortex-M4F)上でどのくらい速いのだか測定してみたいと思います。
スマホの上でGo言語を勉強しております。前回、どうにかファイルシステム上にローカルなモジュールを配置できるようになりました。今回はモジュール内のパッケージに別ファイルで機能追加をしてみます。斜め線が描ける単なる Draw Line コマンドなのですが、最近はそういうプリミティブな関数を作ったりしないので苦戦。
前回Mutex(2つあるうちのRTOS Mutexと呼ばれている方)を使ってみました。スレッド間の同期には有効なAPIですが、残念ながらISR(割り込みサービスルーチン)との間では使用できません。そこで今回はSemaphoreを使って、ISRとThreadの間で排他制御を行ってみます。
前回スマホ上でアセンブラとデバッガを動かし、ARM64(AArch64)のレジスタなど眺めてみました。ARM64はARM32と大分様子が違うので主要なレジスタだけでも一覧しておくべしと図を作り始めてハマリました。調べて図を描いているだけで時間がたちます。レジスタ多すぎ?