![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_13.png?5a7ff87)
16f877のpicマイコンでプログラミング作業を行っています
もともとPC上でのソフト開発がメインだったので
マイコンプログラムはいろいろ制約があり大変です
現在C言語によってプログラムを書いているんですが
ccscでコンパイルすると容量不足でエラーがでます
not enough ram for valiaホニャララ
等がよく出ます。
マニュアルを読むと変数を減らせとかいろいろ書いてありますが
減らしても改善できません。
知人に聞くとアセンブラで書くといいよと言われましたが
アセンブラはわからないのでCじゃないとだめです
なにか容量をあまり取らないコーディングやその他のテクニックをご存知の方
教えてください、お願いします。
また、参考になる書籍やURL等がありましたら教えてください
No.1ベストアンサー
- 回答日時:
PICでRAM利用領域を減らそうとするなら、
1.グローバル変数をできるだけ利用しない
2.ローカル変数も最小限に
3.不必要な関数コールをやめる
4.ネストの多いループは極力減らす。
5.変数である必要のない内容はCONST定義を行ってフラッシュ内に移動する
6.正否判定のためのintはshortを利用して圧縮する
という感じでしょうか。
他のマイコンと異なり、汎用レジスタが1つしかなくスタックも7段が最大という特徴をうまくごまかすために
CCSでは究極の最適化を行っています。
ただ、このため不必要なバンクの切り替えやRAM利用も増えるわけで、思った以上に消費されているのが実情です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ Windows10ProがインストールされているタブレットPCの、ハードディスクが64GBしかないた 5 2023/03/07 21:08
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- 大学・短大 大学の講義内容について。 大学の教授へ講義内容に関しての抗議メールを送ろうと考えています。 抗議の内 8 2022/04/12 19:17
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ライン数とステップ数の違いは?
-
[C言語→アセンブリ言語]はどう...
-
アセンブラからC言語に変換する...
-
実行ファイルからソースはみれる?
-
GCCの.cfi_系について
-
本気でマシン語を覚えたい
-
MPLAB IDE v8.92アセンブラにつ...
-
計算機科学 計算機科学に詳しい...
-
アセンブラ、AVRマイコンのおす...
-
エンディアンについて。
-
MIPSアセンブラ言語について
-
ニーモニックコードを使って割...
-
組み込みソフトのわかりやすい...
-
アセンブラのコマンドについて
-
SHの命令の意味について
-
nasmとgccのコマンドで得られる...
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
レジストってなんですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ライン数とステップ数の違いは?
-
アセンブラからC言語に変換する...
-
PICに書き込むプログラムや変数...
-
[C言語→アセンブリ言語]はどう...
-
実行ファイルからソースはみれる?
-
【H8マイコン】HEWで埋め込みア...
-
素数を求めるプログラム(アセン...
-
アセンブラエディタ
-
アセンブラ言語がわかりません。
-
アセンブラで割り算
-
MPLAB IDE v8.92アセンブラにつ...
-
PICはアセンブラとC言語のどち...
-
PICのアセンブラからC言語へ変...
-
アセンブラ言語で質問です。
-
アセンブラのLA
-
データコピー
-
void __cdeclなど_
-
バイナリの実行ファイルをgccを...
-
PDP-11のアセンブラ課題
-
PC-9801 MS-DOSでの実行ファイ...
おすすめ情報