おいふぉりーのぶろぐ

きっと趣味のブログに違いないです!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

[PIC]あいかわらず、試行錯誤。解決!!

さて、昨日は、RAMがちゃんと配置されないというか、どうもコンパイラがバンク0とバンク1にしか変数を配置してくれなくて、試行錯誤してたわけですが、原因究明しました。
とりあえず、結果を言うと、下の参考ページを見てもらえば分かるように、
#device *=16
というオプションを付けてやると問題は解決します。このオプションは、ポインタ変数を16ビットとして扱うということをコンパイラに指定します。
上のオプションを指定しないデフォルトの場合ですが、ポインタ変数は8ビットとして扱われているため、PICは1バンク当たり128バイトであることを考えると、2バンク以上を扱おうとしようとするとすると不都合が生じます。そのため、この場合はコンパイラの扱えるRAMの領域自体がバンク0とバンク1に制限されてしまいます。
以上のことを回避するには、ポインタ変数を16ビットとして扱い、バンク2とバンク3も扱えるようにすることです。正直、ポインタ変数に16ビット用意しても実際には9ビット分しか意味を成さないのでもったいない気がしますが、フルにRAMを使うためには仕方ないのでしょう。

参考
http://www.datadynamics.co.jp/ccs/faq/8.htm
  1. 2006/03/12(日) 05:02:05|
  2. ハードウェア開発
  3. | トラックバック:0
  4. | コメント:0
<<トラ技4月号、買ってきた!! | ホーム | [PIC]あいかわらず、試行錯誤。>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://tm86eublog.blog42.fc2.com/tb.php/51-69b8547e
この記事にトラックバックする(FC2ブログユーザー)

来客数

プロフィール

Euphorie

Author:Euphorie
"おいふぉりー"って呼んでくださいな☆
ハードウェアとかソフトウェアとかの開発に興味があったり。。。
連絡先は上の画像。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。