アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
ふつーROMがあるのでは? (スコア:1)
// そもそもSVCで動いていると想定した時点でやりたい放題じゃんとも思うID
from もなか
Re:ふつーROMがあるのでは? (スコア:2, 参考になる)
2. ページ単位のアクセスだけでメモリマップできない Flash ROM (NAND Flash にはできないのが多い)の場合はRAMに展開するしかありません。
Re:ふつーROMがあるのでは? (スコア:1)
それって,ARM/XScale/PPCの0番地付近で一般的に見かけるケースですか?
DigiのNS93xxのように,0番地にRAMを置く気満々なアーキテクチャも無くはないですけれど,
ああいうのはARMの中でも極めて少数派だと思うのですよ.そうでもないのかなぁ.
from もなか
Re:ふつーROMがあるのでは? (スコア:1)
ブート時だけ外部バス領域が0番地にかぶさります。
SamsungのS3C2410 (ARM9系) は、0番地にNOR Flash を置くこともできますが、NAND Flash を使う場合は
リセット時に内蔵SRAMが0番地にマッピングされます。(Flashの最初のページが内蔵SRAMにコピーされる)
多数派ではないかもしれませんが、0番地にROMが無いシステム構成は、それほどめずらしくないのではないかと思います。
Re:ふつーROMがあるのでは? (スコア:1)
> それほどめずらしくない
それでもやはり,ARM/XScaleを俯瞰すると,珍しい部類ではないかしら.(←主観です.)
でも,ARM7系のremapの利用率次第では,様相はがらりと変わってきますね.
私は,使わないと思っているけれども,定量評価をしたわけでもないし.
from もなか
Re:ふつーROMがあるのでは? (スコア:1)
ブートコードでROM→RAMコピーをした後にROMを切り離すという実装はよくある実装じゃない?
volatile long *ptr;
for( ptr = ( volatile long *)0; ptr < ROM_SIZE; ptr++){
*ptr = *ptr;
}
// ここでROM切り離し。
最近はROMもマイコンに内蔵だからこういう実装は少ないのかな。
Re:ふつーROMがあるのでは? (スコア:1)
特に省ピン品のARM7系では,外部メモリが実質使えなかったりしますし.
#1180635 で示唆した通り,ARM/XScale系ではremap(or HIVECS)を使うのが定石でしょうね.
しかし,ARM/XScaleのいずれも,割り込みや例外の要因毎にダラダラとベクタが並ぶタイプではありません.
ベクタをRAMに置きたがる積極的な理由はないはずなのですよ.
間接ジャンプ1個追加しても占有メモリへの影響は誤差範囲なのです.
from もなか
間接ジャンプを嫌う理由 (スコア:0)
OSにハンドリングさせたらそんなん無視できると思うんですが…
Re:ふつーROMがあるのでは? (スコア:0)
Re:ふつーROMがあるのでは? (スコア:1)
まあ,CPU例外ハンドラを実行時にユーザ定義できるようなRTOSでは,ベクタをRAMにremapするなんていう実装も,考えられなくもないですけれどねぇ.
そういう実装なら,実行時にNULL-pointer脆弱性を持つかもしれないですねぇ.
(ふつうRAMエリアへの間接ジャンプにするとは思いますけれど.身近な例だとGame Boy Advanceとかね)
from もなか