我可以将一个程序或草图上载多少次到Arduino Uno克隆板上?


12

我将使用arduino进行我的第一个项目(下周我将要购买),一位教授说我们只能在Arduino Uno板上上传程序或草图大约8次。 。他还补充说,如果我们使用的是克隆版本,则只能持续2次上传草图。这是真的还是他在虚张声势?先感谢您。


2
在构建和测试过程中,我每小时将草图多次刷新到一个特定的Nano上,而在过去的几天里,我一直对此感到很好奇。我知道至少要有100多次,但不确定是多少次。感谢您的询问。
raddevus

9
是时候质疑那个教授的可信度了。该程序将被闪存到ATMega328P的内部闪存中,闪存将保留数千个写周期。EEPROM甚至更多。意法半导体引号“10K到100K循环”(st.com/resource/en/application_note/cd00165693.pdf
马西米兰Gerhardt的

相关信息:SPIFFS在8266耗损级别上,因此,如果要节省3KB并提供3MB可用空间,则可以在第一次覆盖之前保存1024X(理论上,没有块重叠的平均512X),这意味着可以节省数百万
dandavis

4
@jsotola,除非Google向您显示SE上已经回答了这个问题,否则请不要告诉用户Google (消息来源:FAQ)
Cephalopod

1
这相当于ASE的假新闻。
Copper.hat

Answers:


24

他说的很完整,很乱。引用ATMega328P数据表

  • 高耐用性非易失性内存段
    • 系统内32KBytes自可编程Flash程序存储器
    • 1KB EEPROM
    • 2KB内部SRAM
    • 写/擦除周期:10,000 Flash / 100,000 EEPROM
    • 数据保留:85°C 20年/ 100°C 25年(1)
    • 具有独立锁定位的可选引导代码部分
      • 通过片上启动程序进行系统内编程
      • 真正的读-写-写操作
    • 用于软件安全性的编程锁

因此,在它开始燃烧之前,您至少有10,000次使用。


3
我会说他至少有1万次使用。
Edgar Bonet

3
闪存的工作方式随着时间的流逝需要更长的时间才能被擦除。10,000是在擦除时间开始超过预定义(指定制造商)的阈值之前,页面上擦除操作的最小预期数量。因此,是的,您希望获得的数量超过该数量(这是保证的最低数量),或者擦除页面只需要更长的时间。
Majenko

2
在实践中,我重用了Arduino Uno,并不断对代码进行细微调整。再次上传需要足够长的时间,因此甚至不必担心。如果您要焊接或弯曲电线,则很有可能以其他方式使电路板破损。另外,在做Arduino ...时,这些板是如此便宜(尤其是如果您可以降到MiniPro 5V),以至于您需要担心的主要事情是在焊接传感器/ IO时要小心。该板极为可靠,如果对板有任何疑问,可以廉价更换。
罗布(Rob)

1
每当您谈论存储“用完”时,请记住通常是这样的:1)您必须“紧张地”爆破充满零的整个区域,然后在其上写入零。2)固态存储通常具有复杂的耗损均衡算法,以最大程度地减少这种影响。3)这是便宜的Arduino。4)该语言是C ++的子集,因此您可以模拟出一个测试框架,以便在其到达硬件之前进行全面测试;限制不必要地将未经测试的代码压入硬件。
罗布(Rob)

1
这是一个模拟电路板的简单示例,因此您可以在Linux(与GCC编译)下本地对它进行单元测试,而不必不断地进行硬件测试。其基本思想是让一个框架,看起来尽可能多的Arduino的电话,你实际上是从你的代码做这样的: github.com/rfielding/octaveRounder/tree/master/test
罗布
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.