[Armadillo:03387] [Armadillo-500] 外部拡張バスについて
Hiroki Sugano
email@hidden
2008年 9月 14日 (日) 22:16:10 JST
菅野と申します.
Armadillo-500の外部拡張バスを使おうと思い,まずは /dev/mem 経由で
データの読み書きをしようしたのですが,どうも上手くいきません.
添付のプログラムをビルドし,実行すると
$ sudo ./test_mem 0xb8002000 0x60
mmap: start=B8002000 len=00000060 page_offset=00000000
mapped address = 0x40016000
zsh: bus error sudo ./test_mem 0xb8002000 0x60
$ dmesg|tail -1
Unhandled fault: external abort on non-linefetch (0x008) at 0x40016000
というエラーメッセージが出てプログラムが終了します.
プログラム自体の動作は 0xb8002000 を始点として 0x60 Byte 読み出し,
それを printf するというだけです.
;; 0xb8002000 は WEIM の Control Register
試しに SDRAM 領域を dump してみると
$ sudo ./test_mem 0x80000000 0x60
mmap: start=80000000 len=00000060 page_offset=00000000
mapped address = 0x40016000
80000000 : c0000000
80000004 : c0000000
80000008 : c0000008
8000000c : c0000008
80000010 : c0000010
80000014 : c0000010
80000018 : c0000018
8000001c : c0000018
80000020 : c0000020
80000024 : c0000020
80000028 : c0000028
8000002c : c0000028
80000030 : c0000030
80000034 : c0000030
80000038 : c0000038
8000003c : c0000038
80000040 : c0000040
80000044 : c0000040
80000048 : c0000048
8000004c : c0000048
80000050 : c0000050
80000054 : c0000050
80000058 : c0000058
8000005c : c0000058
となり,正しく動作します.
いくつかのアドレスを試してみたところ,拡張バスの領域 (CS0-5) とその設定レジ
スタにアクセスしようとしたときに Bus error として落ちるようです.
開発環境は
http://armadillo.atmark-techno.com/filebrowser/armadillo-500/debian
からダウンロードした Debian を使っています.
原因とその解決策をご存知の方がおられましたら,
ご教授おねがい致します.
--
京都大学 情報学研究科
通信情報システム専攻 情報回路方式研究室 博士後期課程
菅野 裕揮 <email@hidden>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: test_mem.c
型: application/octet-stream
サイズ: 1106 バイト
説明: 無し
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20080914/beb20b36/attachment.obj>
armadillo メーリングリストの案内