2016-10-22
/diary/20161022112418
todo
- おかえしのあれ
- 楽器に触る
- 新し方の音色が少しぶちぶちする
- エンベロープがおかしかった。暫定対策した。
- LINE Botやってみる?
- CloudAtCostでKubernetes?
- DNSが必要な気がする
- nanoseq?
- 手書きのあれ お絵かき帳に特化するのは?
- RSS一覧する何かを作ってみる
- 電子工作
- 少し大きめの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に書いてそこにジャンプしてる?いやそんなことないだろう・・