STM8S103F3P6ボード(その10)

まだOLEDとSTM8Sで戦っている。

(でもときどきよそ事を始めたりもする)

引き続き、やってることをメモ。

 

github内のSduinoの様子を確認したら、つい先日I2C.cが更新されていた。

詳細は元のところを見た方が早い。

 https://github.com/tenbaht/sduino

数字が一つ変わっただけ。でもこれのおかげで状況がガラッと変わった。

 

さっそく自分のライブラリフォルダにあるI2C.cを書き込み直してコンパイルしたら、以前のエラーは出なくなった。

やれやれと思ったのもつかの間、出てきたのは以下のエラーメッセージ。

 最大8192バイトのフラッシュメモリのうち、スケッチが5646バイト(68%)を使っています。
 最大1024バイトのRAMのうち、グローバル変数が1141バイト(111%)を使っていて、ローカル変数で-117バイト使うことができます。
 スケッチが使用するメモリが足りません。メモリを節約する方法については、以下のURLのページを参照してください。 http://www.arduino.cc/en/Guide/Troubleshooting#size
 ボードSTM8S103F3 Breakout Boardに対するコンパイル時にエラーが発生しました。

 「ファイル」メニューの「環境設定」から「より詳細な情報を表示する:コンパイル」を有効にするとより詳しい情報が表示されます。

…という、今度は非常にわかりやすい内容。

わかりやすいけど、これには悩んだ。

 

STM8S103FはRAMの領域が1KBしかない。単にこれを超えたもんだから書き込めないという事。

一応、Arduino本家でスケッチのサイズを小さくする方法を確認してみた。

 https://www.arduino.cc/en/Guide/Troubleshooting#size

でもコードを浮動小数点から整数にするか、いらない#include文を削除するかと言われても、どうしたらいいんだか。

 

調べてみるとArduinoのメモリについては、いろんな人が検証している。

なかなか興味深かったのが以下のブログ。

 https://www.mgo-tec.com/blog-entry-arduino-esp8266-ram-size.html

とてもわかりやすくて参考になりました。上記内のリンク先も必読。

ただ、今戦ってるのがSTM8なんで、またこれとは別の問題があるんだな…。

自力じゃ解決は難しそうなんで、こうやってぐだぐだ悩んでる間にまたライブラリが更新されることを期待します。(結局他力本願)

Sponsered Link

コメント