9 years, 8 months ago.

Mbed(LPC1768)の配列の大きさ制限(sbtns)

以下のプログラムはLEDチカチカに配列を追加した 例でNUMが32257以上になるとプログラムがハングアップ(?)してしまいます。 Mbedでは配列の大きさの制限等はあるのでしょうか?

  1. include "mbed.h"
  2. define NUM 32257 DigitalOut myled(LED1);

int main() { unsigned int n=0,i=0; char buf[NUM]; while(1) { myled = 1; wait(0.2); myled = 0; wait(0.2); while(n<NUM-1){ buf[n++]='1';

}

} }

1 Answer

9 years, 8 months ago.

LPC1768はRAMを64KB内蔵していますが、残念ながら連続した空間に配置されていません。
32KBのSRAMとEthernet/USB/DMAなどに使用する16KBの2つのブロック を持っています(32+16+16=64KB)。
mbedが配列を置くSRAMは0x1000000-0x10007fffまでの32KBでスタック領域などにも使われるので、32257バイト以上は無理でしょう。
mbedの制限ではなくLPC1768の制限ですので、RAM容量の大きなmbedを使用すれば解決策になるでしょう。

Accepted Answer

ありがとうございます。RAMは意外と少ないんですね。

posted by king tar 01 Nov 2014