2016.06.02 Thursday
CS+ RXマイコン開発でいきなり躓いたこと
この間、RXマイコンではまったので共有したいと思います。
現象は ポートの設定しても、LEDチカチカできないとか、クロックを外部20MHzにしたのに、水晶振動子の両端を観測してもクロックが観測できないなど、とにかく、マイコンボードがうまく動かない。
かといって、IOポートとか、デバッガのペリフェラルの設定を見ても正しく設定されるし、読み書きできる。
しかしながらLEDは点灯しないし、スイッチのポートをみてもスイッチに連動しないという症状ですね。
で、これはデバッグツールがシミュレータになっていないか確認します。
最近はシミュレータも出来がいいので、ステップ実行してもシミュレータ上であると気づかなかったりします。
でデバッグツールを E1 などに変えて、クロックの設定をすればリアルでも動きます。
最近はあらかじめ動作しているプロジェクトをそのまま動かすことも多い。
新規プロジェクトで開発する場合、Rxシミュレータになっていると動かないということで、こういう問題は意外と気づきにくく、マイコンのハードウェアマニュアルとか熟読したりする方向にがんばってしまいがちで、さんざん考えた後に「なーんだ」となって一件落着。
とても、悔しいし、時間の無駄なので、注意したいところです。
現象は ポートの設定しても、LEDチカチカできないとか、クロックを外部20MHzにしたのに、水晶振動子の両端を観測してもクロックが観測できないなど、とにかく、マイコンボードがうまく動かない。
かといって、IOポートとか、デバッガのペリフェラルの設定を見ても正しく設定されるし、読み書きできる。
しかしながらLEDは点灯しないし、スイッチのポートをみてもスイッチに連動しないという症状ですね。
で、これはデバッグツールがシミュレータになっていないか確認します。
最近はシミュレータも出来がいいので、ステップ実行してもシミュレータ上であると気づかなかったりします。
でデバッグツールを E1 などに変えて、クロックの設定をすればリアルでも動きます。
最近はあらかじめ動作しているプロジェクトをそのまま動かすことも多い。
新規プロジェクトで開発する場合、Rxシミュレータになっていると動かないということで、こういう問題は意外と気づきにくく、マイコンのハードウェアマニュアルとか熟読したりする方向にがんばってしまいがちで、さんざん考えた後に「なーんだ」となって一件落着。
とても、悔しいし、時間の無駄なので、注意したいところです。