!todo
- おかえしのあれ
- 楽器に触る
-- 新し方の音色が少しぶちぶちする
-- エンベロープがおかしかった。暫定対策した。
- LINE Botやってみる?
- CloudAtCostでKubernetes?
-- DNSが必要な気がする
- nanoseq?
- 手書きのあれ お絵かき帳に特化するのは?
- RSS一覧する何かを作ってみる


- 電子工作
-- [x] カラー液晶(TFT SPI)動作確認
-- [ ] 少し大きめのOLED 動作確認
-- [x] arduinoでどこまでできるかやってみる
-- stm32でどこまでできるかやってみる
-- [ ] espでどこまでできるかやってみる
-- PIC32MXでどこまでできるかやってみる?
-- LM386とコンデンサマイクで実験

!stm32
- stm32flashってなんで使ってたのか覚えてない platformioでは書き込めないのだっけ?
-- うまいこと設定したらplatformioでstm32duinoが動くっぽい
-- 結局できない が、stm32flashをダウンロードはしてくれるので、手で書き込む

- ブートローダーと呼ばれるものを調査
-- サンプルがほしいな・・

- hardwareSPIとsoftwareSPIを混ぜて使うときは、毎回ピンの設定をしてやらないとおかしくなる模様。
-- それだけでも動いていないよかん・・
- hardwareの場合も同じなのかも・・
- どうもこの液晶がわがままな仕様な気がしてきた。独立ピンとして扱うか・・

!platformio for stm32duino
普通にstm32flashを使うしかなさそう?

!もみじボードリーディング
もみじボードの仕組みでも32kのプログラムならSDカードから読み込める。
しかもこの仕組みは起動中でも作れる

- main.c
-- setup_SDMMC
--- stm32はハーバードアーキテクチャではないのでSRAMに普通に実行可能コードを書き出せばよいということのように見える。
-- MMCSD_LOAD_TOPから書き始める。 先頭4byteは「なんとかベクタ」のようだ。ここにジャンプ先を書くのかな? 容量が大きいとkは0埋めしている。0埋めされてるとどうなるのかな?
-- power_offというのはSPIをオフにするだけっぽい

Flashに書いているのはどこかな?
それはそれで気になる

flashWriteWordという命令があるのでこれを呼べばよさそう。
このファームウェアだとDFUなる仕組みで得たバイナリを書き込んでいるが、これは別にSDカードでもよいはずだ

あれ?stm32、というかARMはノイマン型アーキテクチャだから、SRAMに命令を書き込んでそこにジャンプすることができるのか。
メモリのどこかがFlashにもマッピングされてて、そっちはそっちで動くのかな?それとも Flashを読み取ってSRAMに書いてそこにジャンプしてる?いやそんなことないだろう・・
5643382
wiki
1477580316