課題が一つ解決した
今手掛けているProjectの目指す所は『PICの学習環境であり、プログラムの開発環境であり、アプリケーションの実行環境』です。<==大風呂敷 (^_^;)
『PICの学習環境』として提供するのは、レジスタやメモリをREAD/WRITEしたり、小さなテスト・プログラムを走らせてその結果をモニタする機能です。
『プログラムを1行も書かずに、TRISAレジスタとLATAレジスタをコンソール画面から操作するだけで、Lチカが出来る』というのが一番の売りです。
『プログラムの開発環境』として提供するのは、関数を呼び出して処理結果を確認したり、プログラムの実行にBreakを掛けたりする機能です。プログラム実行中にもGlobal変数をモニタしたり、書き換えたり出来るのが自慢です。
(PICkit3では出来ません。<==やらないだけ?)
最後の『アプリケーションの実行環境』として、PIC側でユーザ・プログラムのcinitを呼び出す機能の提供は当然のこととして、ホスト側のユーザ・アプリケーションをどうやって起動するか?その方針が決まっていませんでした。
構想としては、ユーザが作成したjarファイルをライブラリ登録して、コンソール・プログラムからそれを呼び出すというものなのですが、果たして上手くいくものか?
試してみました・・・
中央水色がユーザが定義したウィンドウで、User_Frame.jarをライブラリ・フォルダに配置して、呼び出すことが出来ました。ここまでならライブラリを組み込んでそれを呼び出しただけなので、出来て当然です。
気になっていたのは、コンソール・プログラムをコンパイルした時と異なるUser_Frame.jarでも問題なく呼び出せるのか?という点です。パネルを表示するだけのUser_Frame.jarでコンパイルした後、1秒ごとにボタンを貼り替える動作を組み込んだUser_Frame.jarに置き換えても、問題なく動きました。
どうやら、コンソール・プログラムとのインターフェース部分に変更がなければ、ユーザ・アプリケーションをUser_Fram.jarとして呼び出すことが出来そうです。
ホスト側のユーザ・アプリケーションの起動方針が固まりました。
(パチパチパチ~)