• ベストアンサー
  • 暇なときにでも

PICに書き込むプログラムや変数の容量を少なくする方法

  • 質問No.1890883
  • 閲覧数1608
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 57% (57/99)

16f877のpicマイコンでプログラミング作業を行っています
もともとPC上でのソフト開発がメインだったので
マイコンプログラムはいろいろ制約があり大変です

現在C言語によってプログラムを書いているんですが
ccscでコンパイルすると容量不足でエラーがでます
not enough ram for valiaホニャララ

等がよく出ます。

マニュアルを読むと変数を減らせとかいろいろ書いてありますが
減らしても改善できません。
知人に聞くとアセンブラで書くといいよと言われましたが
アセンブラはわからないのでCじゃないとだめです

なにか容量をあまり取らないコーディングやその他のテクニックをご存知の方
教えてください、お願いします。

また、参考になる書籍やURL等がありましたら教えてください

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 60% (41/68)

PICでRAM利用領域を減らそうとするなら、
1.グローバル変数をできるだけ利用しない
2.ローカル変数も最小限に
3.不必要な関数コールをやめる
4.ネストの多いループは極力減らす。
5.変数である必要のない内容はCONST定義を行ってフラッシュ内に移動する
6.正否判定のためのintはshortを利用して圧縮する

という感じでしょうか。
他のマイコンと異なり、汎用レジスタが1つしかなくスタックも7段が最大という特徴をうまくごまかすために
CCSでは究極の最適化を行っています。
ただ、このため不必要なバンクの切り替えやRAM利用も増えるわけで、思った以上に消費されているのが実情です。
お礼コメント
kiyumoto

お礼率 57% (57/99)

ありがとうございます、参考にします
投稿日時:2006/01/13 13:36
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

ピックアップ

ページ先頭へ