- スタックがあふれる → たぶんちがう
- コンパイラが悪い → 改善しなかった
- usb_control_msg() の型 → 改善しなかった
試しに program するための data のバッファを送り返すリクエストを追加したらデータが狂ってた。PC → AVR で送るときにデータが駄目になってるらしい。AVR のデータの受付はアセンブラダンプをみたがおかしいところは無かった。それ以上細かく調査するのは自分ではできなさそう。
なぜか REQUEST_CPU_FLASH_PROGRAM はロスしないが、REQUEST_PPU_FLASH_STATUS はロスする。2 つの REQUEST をまとめて使ってない引数の index でまとめるのが吉かもしれん。