
Go言語をスマホ上で勉強し始めて約2週間、いまだfmt.Printに頼っております。前回、画像ファイルに直線を引けるようになったので、今回はその上に懐かしい、最近あまり聞かない、タートルグラフィクス命令を「被せて」みます。タートルグラフィクスといえば再帰的(あるいは頭山的)なやつですな。描いてみました。
デバイス作る人>>デバイス使う人>>デバイスおたく

前回は正弦波を計算で生成するためにミニマックス近似を使ったFastSin関数を使わせていただきました。12ビットの精度なら十分使えて「速い」と三上先生の御本にはあるのです。しかしどのくらい速いのだか気になります。今回は実機(Arm Cortex-M4F)上でどのくらい速いのだか測定してみたいと思います。

スマホの上でGo言語を勉強しております。前回、どうにかファイルシステム上にローカルなモジュールを配置できるようになりました。今回はモジュール内のパッケージに別ファイルで機能追加をしてみます。斜め線が描ける単なる Draw Line コマンドなのですが、最近はそういうプリミティブな関数を作ったりしないので苦戦。

前回Mutex(2つあるうちのRTOS Mutexと呼ばれている方)を使ってみました。スレッド間の同期には有効なAPIですが、残念ながらISR(割り込みサービスルーチン)との間では使用できません。そこで今回はSemaphoreを使って、ISRとThreadの間で排他制御を行ってみます。

前回スマホ上でアセンブラとデバッガを動かし、ARM64(AArch64)のレジスタなど眺めてみました。ARM64はARM32と大分様子が違うので主要なレジスタだけでも一覧しておくべしと図を作り始めてハマリました。調べて図を描いているだけで時間がたちます。レジスタ多すぎ?

前回、スマホ上のGo言語でフルカラー画像出力ができるようになったので、今回はその応用?としてマンデルブロ集合を描いてみたいと思います。昔、カオスとかフラクタルとか流行った?時期にはよく見たですが、正直この頃は影が薄い?Go言語のプログラムの下敷きにしたのは10年以上前にEXCELのVBAで自作したコードです。