-PR-
解決済み

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

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

お礼率 57% (57/99)

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

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

等がよく出ます。

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

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

また、参考になる書籍やURL等がありましたら教えてください
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル9

ベストアンサー率 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:31
-PR-
-PR-
このQ&Aで解決しましたか?
AIエージェント「あい」

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

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

-PR-

ピックアップ

-PR-
ページ先頭へ