ワークショップで使用したArduinoライクなサンプルプロジェクトを公開します。
以前に公開したプロジェクトの修正版です。
サンプルコードとして利用ください。
SHCのコンパイルオプションの最適化を無しにすると、hardware_setupのinit_global_constructorsでエラーを出します。
こちらも
#ifdef __GNUC__
で処理しておいた方がいいのではないでしょうか?。
これが確かtextだけのサイズではなく、生成したすべてのサイズだったような気がします。つまりbssとかdataも含めて。fontを組むとfontだけで二百数十kbyteあんですよね。
> shc使用期限残り39日
japan.renesas.com/.../index.jsp
> 試用期限を過ぎるとリンクサイズが256Kバイト以内に制限されます。
とゆーことなので、大きなもの作らない限りは切れても大して困ることないじゃないですかね。
SHduino_SHC と SHduino_gcc の両方で、インクルードパス等を設定することで Release ビルドが通ることを確認しましたが、SHduino_gcc の Debug ビルドで sh-elf-wrapper.exe が異常終了する問題は依然謎のまゝです。
SHduino_SHC の Debug ビルドと Release ビルドでコンパイラの最適化の項目の内容が等しく「最適化あり」で「サイズ&スピード」に設定されているのであんま意味ない感じですね。
shc使用期限残り39日。まだなにも始まっていない orz
わぉ、gccの方もReleaseセッションはインクルードパスが不足していますね。
sh-elf-wrapper.exe のトラブルは、私のところでは出ていません。
うーん、この前やったときはAVASTが邪魔していて色々出ていた気がすると言えば気がする。
> SHduino_SHC で Debug はビルドできたものの、Release ではインクルードパスの設定が正しくないのかなんかそんなんでビルドできませんでした。
本当だ!、Debugのインクルードパスのコピーと、__RENESASのマクロの追加と、セクションC$INITとC$VTBLでDebugセッションと同じになりますね。まだ3つwarningが残っているけれど。
でもオレ、過去にhewでReleaseセッション使ったことが無い(笑)。
SHduino_SHC で Debug はビルドできたものの、Release ではインクルードパスの設定が正しくないのかなんかそんなんでビルドできませんでした。
SHduino_gcc では Debug でビルドすると途中で「sh-elf-wrapper.exe は動作を停止しました」というダイアログが表示され最後まで行きません。Release ビルドでインクルードパスの設定が正しくなさそうなのは SHduino_SHC と同様です。
digitalWrite() のポートアクセス、直ってないですね。
SHCのコンパイル、直りましたね。
SH7216_SHduino/SHduino/arduino/Debug/ の下にごっそりあるファイルは消されたほうがいい感じですね。