[Suzaku:00745] アプリ上から使用するRAMについて

HLDC 上村 email@hidden
2007年 1月 22日 (月) 10:22:01 JST


いつもお世話になっております。HLDCの上村です。
早速ですが、Suzaku上のアプリから使用するRAMについて質問です。

ただいま使用している、Suzaku(SZ-030)の環境で、
freeを実行すると以下のような結果が返ってきます。

# free
        total:    used:    free:  shared: buffers:  cached:
Mem:  14196736  4042752 10153984        0   651264   696320
Swap:        0        0        0

これを見ると、RAMの空き容量が10MB弱あるように見えるのですが、
実際に大きいRAMを確保しようとすると、エラーが発生してしまいます。
以下は、HelloWorldプログラムに1MBのグローバルRAMを追加して
実行した結果です。
--Source Code---------------------------------------------
#include <stdio.h>
unsigned char RamArea[1048576];
int main(void)
{
    printf("Hello,World!\n");
    return(0);
}
----------------------------------------------------------
# bin/Hello
Allocation of length 1084812 from process 42 failed
Free pages:        9908kB (     0kB HighMem)
Zone:DMA freepages:  9908kB
Zone:Normal freepages:     0kB
Zone:HighMem freepages:     0kB
( Active: 261, inactive: 70, free: 2477 )
1*4kB 0*8kB 1*16kB 1*32kB 0*64kB 1*128kB 0*256kB 1*512kB 1*1024kB 4*2048kB = 99)= 0kB)
= 0kB)
Unable to allocate RAM for process text/data, errno 12
bin/Hello: memory exhausted

このエラーを発生させずに、RAMを大きく確保するには、
どのように記述したらいいのでしょうか?

以上です。よろしくお願いいたします。

-- 
────────────────────────────────────┐
  ─ HLDC Information ────────────────────────
    たけのこ通信Vol.14アップデートしました!(07/01/13)
    今回は「大掃除+忘年会」特集です。
  ──────────────────────────────────
    「エンジニアのパートナー、次世代通信モニター」
                                           ─ D.C. Next 今春発売決定!
   D.C.NEXTは、Data Catcher DC2000の高速ハイエンドモデルです。
    最大入力Clock周波数は50MHzに対応したほか、
    データピッチ機能、BIT単位のデータ長指定が可能です。

   詳しくはこちら:
      http://www.hldc.co.jp/products/datacatcher/outline.htm
  ──────────────────────────────────
  Heartland・Data Co., システム設計部
  上村真人 [Masato Kamimura]
  栃木県足利市富士見町24-1
  TEL:0284-41-1159 / FAX:0284-41-3491
└────────────────────── http://www.hldc.co.jp/


suzaku メーリングリストの案内