khiraoka5です
いままで、RX65N,RX651を中心に仕事をしておりましたが、
都合で、RX210を使うことになりました。
同じようなものかなと思っていたら、
FITの対応や、コード生成が未対応などかなり違うことが判りました。
SCIや、PWMなどは、FITで何とかなったのですが、
I2CはFITが無く、RX65Nの時のFITを見ても、RX210は対応していないようです。
カフェるねでも、2013年ごろにアプリケーションノートで苦労して作成されている方の
過去ログを拝見しましたが、このように作るしかないのかと悩んでおります。
皆さんどうされてますか?
khiraoka5さん、こんにちは。NoMaYです。別スレッド(Amazon FreeRTOS)でRX631+FIT+PDG2+諸々をやって(ここしばらく(2ヶ月ほど)他のことに気を取られて中断中ですが)いて感じていることですが、やはり複雑だと思います。記憶を手繰ると、以下のようなことがありました。(GNURXやC++に特有な件は除いても) (特定のモジュールだけの為だけでなく汎用的にやろうとして余計にややこしくしてしまった面もありますが)(1) bool型のサイズが違う:PDG2のバイナリ形式ライブラリは4byte、FITはデフォルトのC99の設定では1byte(2) iodefine.hが2重持ちになる&内容が違う:PDG2ではiodefine_RPDL.h、FITはiodefine.h、内容が違うのは時期のせい?(3) レジスタライトプロテクトの解除/再設定のルーチンが重複する&各ルーチンの処理も違う(4) 関数や関数形式マクロの名前で同じものがある(同じ名前でも違う内容です)(5) リセットベクタ、例外ベクタテーブル、割り込みベクタテーブルが重複する&リセットや例外の処理も違う(6) グループ割り込み(RX210には無いです)ルーチンが重複する&各ルーチンの処理も違う(7) さらにグループ割り込みでRSPIとSCIの2つのモジュールの処理が同一グループに属している(8) PDG2では端子割り込み処理コードが割り込み処理共通ソースに含まれてしまっている(9) PDG2のBRK割り込み処理がFITのそれと異なる何か独特なものになっている(割り込み禁止で実行する共通ルーチン的な?)[追記]まだ他にもありました。(10) double型のサイズ設定が違う:PDG2は8バイト長が必要、FIT(というかCC-RX)のデフォルトは4バイト長(11) PDG2に含まれるライブラリソースでヘッダファイル名に間違いがあってコンパイル出来ないものがある