[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00288] Re: LSI-CforWitch の関数ポインタ




Akira Kawamata wrote:
> 
>  川俣です。
> 
> <39936D2D.E4C84D74@aomori-ths.gr.jp> の、
>    "[WitchTech 00273] Re: LSI-CforWitch の関数ポインタ" において、
>    "よこやえりな <yoko@aomori-ths.gr.jp>"さんは書きました:
> 
> > ウィッチでセグメントリロケーションを解決することは技術的に不可能です。
> >
> > 理由1  フラッシュROMに置かれ、そこから直接実行される。
>  実は前のメッセージを書いた後で私も気付きました^^;
>  昔、Z-80(PC-8001)の時代には、自分の中の絶対アドレスを書き換えてどこで
> も実行できるコードも書いたことがあるので、OSがリロケーションしてくれなき
> ゃ自分で書き換えてやろうかと思った瞬間に、フラッシュメモリだから書き換え
> られないじゃん、と気付いた次第で……^^;
> 
> > 不可能ではありませんが、実行時にリロケーション解決していたらあっという間に
> > ROM書き換え寿命が来てしまいます(^^;
>  そうでもないかも。
>  コードが実行されるときのアドレスは、フラッシュメモリ中の位置が移動しな
> ければ変化しない、という可能性があります。(要検証)
>  そうすると、リロケーション情報の書き換えが必要になるのは、実行開始時で
> はなく、ファイル生成時と「せいとん」実行時だけになります。
>  それなら頻度も多くないし、どちらにしても、フラッシュメモリの書き換えが
> 起こります。

それなら、OSのファイルシステムを改良すれば、実装可能かもしれませんね。
ROMに書き込む直前にリロケーション解決をすれば、書き換え回数は同じになるので、
寿命を気にする必要がなくなりますね。
# 実行ファイルフォーマットを新たに設計する必要があるけど(^^;


ML Archives