Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years ago.
Mbed(LPC1768)の配列の大きさ制限(sbtns)
以下のプログラムはLEDチカチカに配列を追加した 例でNUMが32257以上になるとプログラムがハングアップ(?)してしまいます。 Mbedでは配列の大きさの制限等はあるのでしょうか?
- include "mbed.h"
- 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
10 years 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を使用すれば解決策になるでしょう。