SafeG64:Toppersの更新方法につきまして #128
Replies: 2 comments 10 replies
-
実施したことはありませんが,技術的にはおそらく可能だと思います. そうすると,①で実現する必要があります.新しいバイナリへのジャンプは,target_exit()に新しくロードしたToppersのエントリへのジャンプ処理を入れれば実現可能です. |
Beta Was this translation helpful? Give feedback.
-
ご回答ありがとうございます。 |
Beta Was this translation helpful? Give feedback.
-
ご担当者様
お世話になっております。
株式会社エクスプローラの加藤と申します。
お忙しいところ、申し訳ございませんがご教示お願いいたします。
[求められている動作]
・SafeG64でLinuxがToppers上で動作するプログラムを更新し
Linuxを止めることなくToppersのみを再起動し、更新したプログラムで動作させる。
[方針案]
①Linux/Toppers両方でアクセス可能な領域にToppers全体を書き込み
再起動時に一度Toppersを終了させるときに、その領域にジャンプするようにして
そこから改めてToppersを動作させる。
②Toppersのカーネルとアプリのデータとプログラムの配置位置を分割し
更新前にToppersをカーネル領域に退避させる。
アプリの領域に更新したアプリのデータを更新し、再度アプリのプログラムを実行する。
[仕様パッケージ]
SafeG64:safeg64_1.2.0 Toppers:fmp3_3.1
[質問内容]
・そもそも求められている動作は実現可能でしょうか?
その場合①、②のどちらが容易でしょうか?
・①の案の場合、現状SafeG64のサンプル動作中にToppers側のアプリを’Q’コマンドで終了させるとLinuxも停止いたしますが、
更新前のToppers停止処理でLinuxを止めずにマルチプロセッサのToppersが再起動できるようにするための終了処理をご教示いただけないでしょうか?
・②の案の場合、アプリ用のプログラム、データ領域を定義して配置する必要があると思いますが
セクションの追加方法についてご教示いただけないでしょうか?
現状imx8mm_evk.ldの編集をしても生成されたelfファイルに追加したセクション情報は無く
ATT_SECは使用不可という解釈でおります。可能でしたら実例をご教示いただけますと幸いです。
よろしくお願いいたします。
Beta Was this translation helpful? Give feedback.
All reactions