2005年1月21日

[linux-users:104283] Re: 実アドレスのアクセス方法について(結果報告)

青木です。

下記サイトの/dev/memをopenして、seek、readする方法でうまくいきました。
助かりました、ありがとうございます。

>上原と申します。
>
>もう解決されたかも知れませんが、単純な read であれば、
>dd if=/dev/mem bs=1 skip=1040577 count=44 | hexdump -C
>

>などで、特定のメモリアドレスを表示できます。(1040577 = 0x0FE0C1)
>
>C で作りたいなら以下が参考になると思います。
> http://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/drivers/nodriver.html#BabjNFIqB


"伸夫 青木" <nobuo_aoki@xxxxx> wrote:
>> こんにちは、青木と申します。
>>
>> F000:E0C1番地(BIOSアドレス)に格納されているボードの識別情報をリードしたいのですが、
>> 単純にポインタにアドレスをセットしてリードすると、「Segmentation fault」のエラーにて
>> プログラムが異常終了してしまいます。
>>
>>    char *p = 0x0FE0C1;
>>    char work[44];
>>    memcpy(work,p,43);  //おそらくここでエラーになっていると思われます
>>    work[43] = '\0';
>>    printf("String=%s\n",work);
>>
>> linuxのアプリから直接 実アドレスをリードする事は出来ない様なのですが、
>> 何か方法は無いでしょうか?

投稿者 xml-rpc : 2005年1月21日 11:04
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/9497
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。