大きな配列を取ると怒られるぅ~~~ [ESP32]
またもやM5Stackである。
uint16_t bitMap[ (80 * 3 * 60 * 3) ];
こんな風に配列を取ると、リンカーに「オーバーフローだクソ野郎」って怒られるようになってしまった。
、、、region `dram0_0_seg' overflowed by 2744 bytes、、、
色々試すと、配列のサイズが40000を超えたあたりでエラーになっている。人によって違うだろうけれど。
リンカースクリプトのdram0_0_segのサイズ設定がしょぼいからだろうけれど、どこを直すと良いのか判らん。
とりあえずHEAP領域から確保すれば怒られない。まだ動かしていないけれど。
uint16_t *bitMap;
bitMap = new uint16_t[ 80 * 3 * 60 * 3 ];
大きな配列を取れないのは、320×240ピクセルで16bitカラーのLCDを持つ装置としては、「どうなんだそれ?」って感じだが。
無理矢理「解決」にされていて、草!
https://www.esp32.com/viewtopic.php?t=1831
どうでもイイが、Arduinoの環境設定のボードマネージャーに、
http://www.M5Stack.com/download/package_m5stack_index.json
は、もう書かなくてもイイらしい。どうせ書いても変なファイルを引っ張ってくるだけだし。
uint16_t bitMap[ (80 * 3 * 60 * 3) ];
こんな風に配列を取ると、リンカーに「オーバーフローだクソ野郎」って怒られるようになってしまった。
、、、region `dram0_0_seg' overflowed by 2744 bytes、、、
色々試すと、配列のサイズが40000を超えたあたりでエラーになっている。人によって違うだろうけれど。
リンカースクリプトのdram0_0_segのサイズ設定がしょぼいからだろうけれど、どこを直すと良いのか判らん。
とりあえずHEAP領域から確保すれば怒られない。まだ動かしていないけれど。
uint16_t *bitMap;
bitMap = new uint16_t[ 80 * 3 * 60 * 3 ];
大きな配列を取れないのは、320×240ピクセルで16bitカラーのLCDを持つ装置としては、「どうなんだそれ?」って感じだが。
無理矢理「解決」にされていて、草!
https://www.esp32.com/viewtopic.php?t=1831
どうでもイイが、Arduinoの環境設定のボードマネージャーに、
http://www.M5Stack.com/download/package_m5stack_index.json
は、もう書かなくてもイイらしい。どうせ書いても変なファイルを引っ張ってくるだけだし。
2018-07-09 11:02
nice!(0)
コメント(0)
コメント 0