Bạn có thể flash lại firmware Marlin bao nhiêu lần vào bo mạch RAMPS 1.4 trước khi nó làm giảm ROM?


9

Trước hết tôi đang làm việc với bộ Folger Tech Prusa i3, nếu điều đó tạo ra sự khác biệt. Ngoài ra tôi tin rằng Arduino là một Mega 2560.

Tôi biết đâu đó ở phía sau đầu của tôi rằng ROM có thể lập trình bằng điện như những gì phải có trên bo mạch Arduino lưu trữ phần sụn xuống cấp một chút, mỗi lần bạn ghi vào nó. Ngay bây giờ tôi đang cố gắng hiệu chỉnh một vấn đề in khác và tôi nghĩ rằng tôi cần phải sửa đổi phần sụn một lần nữa, điều mà tôi đã thực hiện nhiều lần. Vì vậy, tôi bắt đầu lo lắng về việc tôi có thể làm điều đó bao nhiêu lần.

Chà, một khi tôi nhớ từ viết tắt "EEPROM", và sau một chút googling, tôi đã bắt gặp cái này, Arduino - EEPROM , nói rằng nó có thể xử lý 100k chu kỳ, vì vậy tôi nghĩ rằng tôi đang trả lời, nhưng vấn đề là tôi Tôi không chắc chắn nếu một chu kỳ là toàn bộ tệp đang được tải lên? Nó sẽ không phải là một đốm dữ liệu? Và nếu vậy thì tập tin Marlin trung bình sẽ tiêu thụ bao nhiêu chu kỳ?

Tôi cũng tìm thấy điều này:

nhưng tôi sẽ rất ngạc nhiên nếu tôi đã tải nó lên hơn 2000 lần

trên Mega2560 bị gạch? không được phát hiện, DFU thất bại , chỉ ra rằng câu trả lời có thể thấp đến năm 2000.

Ngoài ra, đây:

Chế độ thất bại

Có hai hạn chế của thông tin được lưu trữ; độ bền và lưu giữ dữ liệu

Trong quá trình viết lại, oxit cổng trong các bóng bán dẫn cổng nổi dần dần tích lũy các electron bị bẫy. Điện trường của các electron bị bẫy thêm vào các electron trong cổng nổi, hạ thấp cửa sổ giữa các điện áp ngưỡng cho các số không so với số không. Sau khi đủ số chu kỳ viết lại, sự khác biệt trở nên quá nhỏ để có thể nhận ra, tế bào bị kẹt trong trạng thái được lập trình và xảy ra lỗi độ bền. Các nhà sản xuất thường chỉ định số lần viết lại tối đa là 1 triệu trở lên. [5]

Trong quá trình lưu trữ, các electron được đưa vào cổng nổi có thể trôi qua chất cách điện, đặc biệt là ở nhiệt độ tăng và gây mất điện tích, đưa tế bào trở về trạng thái bị xóa. Các nhà sản xuất thường đảm bảo lưu giữ dữ liệu từ 10 năm trở lên. [6]

từ Wikipedia: EEPROM - Các chế độ thất bại , cho thấy câu trả lời có thể có trong hàng triệu.

Tại thời điểm này, tôi chỉ tự hỏi liệu một chuyên gia có thể nhìn thấy điều này và làm giảm cơn giận dữ của tôi ...


AT Mega2560 có bộ lưu trữ flash bên trong, nhưng nó giúp xem xét các thiết bị flash bên ngoài để biết thông tin. Có một số loại khác nhau của các thiết bị flash bên ngoài. Một số có thể được flash chỉ một số lần rất nhỏ, và từ những phần này, số 2000 có thể đến. Các bộ phận cao cấp khác có thể được phản xạ một triệu lần. Trong công việc của tôi, chúng ta thường thấy xếp hạng 10.000 cho các bộ phận chi phí thấp và 100.000 cho các bộ phận chi phí cao hơn. Đối với đèn flash tích hợp, có thể không có phạm vi giá và tuổi thọ như vậy, vì nó sẽ làm phức tạp kênh thử nghiệm và phân phối của nhà sản xuất.
cmm

Câu trả lời:


14

EEPROM không phải là nơi chương trình được lưu trữ, những gì liên quan đến câu hỏi của bạn là đèn flash. Đèn flash trong ATmega2560 được đánh giá trong 10.000 chu kỳ (tức là bạn có thể lập trình lại ít nhất 10.000 lần).


Một "chu trình" cho lưu trữ flash không phải là văn bản mà là xóa. Khi Flash được viết, trước tiên nó phải bị xóa. Quá trình xóa làm căng thẳng thiết bị và qua nhiều chu kỳ dẫn đến một số chế độ thất bại. Viết dữ liệu vào phần bị xóa là lành tính hơn. Vì vậy, nó không quan trọng chương trình lớn như thế nào. "Nhấp nháy lại" bắt đầu bằng một chu trình xóa, sau đó là càng nhiều chu trình lập trình càng cần thiết.
cmm

1

AVR có SRAM cho các biến (thường được gọi là RAM), nó có EEPROM cho các biến không biến động và nó có flash cho mã thực thi. (Kiến trúc Harvard!)

Để flash lại firmware, cả tốc độ ghi SRAM và EEPROM đều không quan trọng, nhưng tốc độ Flash là. Tốc độ ghi flash nằm trong khu vực từ 100 nghìn đến một triệu vì vậy đó không phải là vấn đề.

Bài báo bạn liên kết cũng nói rằng anh ấy đã viết không quá 2000 và do đó sẽ ổn. Tôi chỉ có thể đồng ý. Một vài ngàn lần nhấp nháy lại không có vấn đề gì. Một khi bạn đến gần hơn 100 nghìn, bạn có thể bắt đầu lo lắng.

Các bit flash chỉ có thể được ghi từ 1 đến 0. Xóa flash ghi tất cả các bit thành 1. Việc xóa chỉ có thể được thực hiện trên một trang flash (kích thước phụ thuộc vào thiết bị nhưng thường là bội số của 512).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.