Arduino Uno Clone Boardにプログラムやスケッチをアップロードできる回数は?


12

私はarduinoを使用して最初のプロジェクトに取り組んでいます(来週1つを購入しようとしています)、教授の一人はArduino Uno Boardにプログラムまたはスケッチを約8回しかアップロードできないと言います。また、クローンバージョンを使用している場合、スケッチのアップロードは2回までしか行えないと付け加えました。これは本当ですか、それともブラフですか?前もって感謝します。


2
ビルドとテストをしながら、1時間に複数回、特定のNanoにスケッチをフラッシュしてきましたが、過去数日間、このことに興味がありました。私はそれが少なくとも数百回であると知っていましたが、いくつあるのか分かりませんでした。質問してくれてありがとう。
-raddevus

9
その教授の信頼性に疑問を投げかける時です。プログラムはATMega328Pの内部フラッシュメモリにフラッシュされ、フラッシュは数千の書き込みサイクルを生き延びます。EEPROMについてはさらに。STMicro社の引用"10K 100Kサイクル"(st.com/resource/en/application_note/cd00165693.pdf
マキシミリアンゲルハルト

関連:8266ウェアレベルのSPIFFS。したがって、3MBを3MBの空き容量で保存する場合、最初の上書きの前に1024X(理論的には、ブロックオーバーラップなしで平均512X)を保存できます。これは、何百万もの保存を意味します。
ダンダビス

4
@jsotolaは、この質問が既にSEで回答されていることをGoogleが示していない限り、ユーザーにGoogleに伝えないでください(情報源:FAQ)
Cephalopod

1
これは、偽ニュースに相当するASEです。
copper.hat

回答:


24

彼は完全な、まったくばかげた話をしている。ATMega328Pデータシートから引用するには:

  • 高耐久性不揮発性メモリセグメント
    • 32Kバイトのインシステムセルフプログラム可能なフラッシュプログラムメモリ
    • 1KバイトのEEPROM
    • 2Kバイトの内蔵SRAM
    • 書き込み/消去サイクル:10,000フラッシュ / 100,000 EEPROM
    • データ保持:85°Cで20年/ 25°Cで100年(1)
    • 独立したロックビットを備えたオプションのブートコードセクション
      • オンチップブートプログラムによるインシステムプログラミング
      • 真の読み取り/書き込み/書き込み操作
    • ソフトウェアセキュリティのプログラミングロック

だから、あなたはそれが不安定になり始める前に、少なくとも10,000回使用しています。


3
彼には少なくとも 10Kの使用があると思います。
エドガーボネット

3
ページが消去されるのに時間がかかるため、フラッシュメモリの動作方法。10,000は、消去にかかる時間が事前に定義された(メーカー指定の)しきい値を超え始める前に、ページ上で予想される消去操作の最小数です。そのため、はい、その数以上を保証することを保証します(最低保証)、またはページを消去するのに少し時間がかかります。
マジェンコ

2
実際には、Arduino Unoを再利用し、コードを常に微調整していました。もう一度アップロードするのに十分な時間がかかるので、心配する必要はありません。ワイヤーをはんだ付けしたり曲げたりしている場合、他の方法でボードを上に移動する可能性がはるかに高くなります。また、Arduinoを実行する場合、ボードは非常に安価なので(特にMiniPro 5Vに移行できる場合)、心配する必要がある主なことは、センサー/ IOのものをはんだ付けするときに注意することです。このボードは非常に信頼性が高く、ボードに疑問がある場合は安価に交換することができます。
ロブ

1
ストレージの「消耗」について話すときはいつでも、それは一般的にこれだということを念頭に置いてください。2)通常、ソリッドステートストレージには、この影響を最小限に抑えるための複雑なウェアレベリングアルゴリズムがあります。3)安いArduinoです。4)言語はC ++のサブセットなので、テストフレームワークをモックアウトして、ハードウェアにヒットする前に完全にテストできます。テストされていないコードがハードウェアに不必要にプッシュされるのを制限します。
ロブ

1
これは、ボードをモックアウトする簡単な例です。これにより、テストするためにハードウェアに常時プッシュするのではなく、Linux(GCCでコンパイルされた)でローカルに単体テストできます。基本的な考え方は、コードから実際に行うのと同じくらい多くのArduino呼び出しのように見えるフレームワークを作成することです: github.com/rfielding/octaveRounder/tree/master/test
Rob
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.