PDA

View Full Version : Giữ lại nội dung EEPROM khi nạp chương trình mới


leduy173
21-02-2007, 09:57 PM
cho mình hỏi là : mình dùng winpic800 để nạp chương trình cho pic 16f877a. trong chương trình mình có xài eeprom. khi nạp lại chương trình mới thì nó xóa luôn cái eeprom cũ mà minh lưu trong lần trong lần nạp trước, vậy có cách nào nạp lại chương trình mà ko bị mất eeprom ko?
Mình thấy có 1 cáh là đọc lại eeprom cũ rồi viết ra giấy giá trị đó sau đó tải chương trình mới rồi ghi lại giá trị eeprom, làm vậy thấy mất công wá có cáh nào khác là nạp chương trình mới mà vẫn ko xóa eeprom cũ ko!
Thân!

namqn
23-02-2007, 07:04 PM
cho mình hỏi là : mình dùng winpic800 để nạp chương trình cho pic 16f877a. trong chương trình mình có xài eeprom. khi nạp lại chương trình mới thì nó xóa luôn cái eeprom cũ mà minh lưu trong lần trong lần nạp trước, vậy có cách nào nạp lại chương trình mà ko bị mất eeprom ko?
Mình thấy có 1 cáh là đọc lại eeprom cũ rồi viết ra giấy giá trị đó sau đó tải chương trình mới rồi ghi lại giá trị eeprom, làm vậy thấy mất công wá có cáh nào khác là nạp chương trình mới mà vẫn ko xóa eeprom cũ ko!
Thân!
Tôi đã thử nghiệm một số phần mềm khác nhau với cả JDM (Mod) lẫn Schaer+ (Mod), kết quả là chỉ có PICPgm và Schaer+ (Mod) là có khả năng thực hiện yêu cầu của bạn.

Những phần mềm khác như WinPic800 hay WinPic thực sự không làm việc ghi đè lên Data EEPROM khi được cấu hình như vậy, nhưng nó không giữ được nội dung EEPROM vì trước khi nạp chip các phần mềm này đều xóa chip, nên về mặt hiệu ứng thì nội dung cũ của EEPROM vẫn bị mất.

PICPgm và Schaer+ đã được tôi giới thiệu trong luồng "Thông tin về các mạch nạp và phần mềm".

Thân,

namqn
27-02-2007, 12:25 AM
Việc ghi nội dung của EEPROM ra giấy rồi nhập lại vào EEPROM khi ghi chương trình mới là một việc làm quá thủ công. Cách tốt hơn là xuất nội dung của chip ra tập tin hex, sau đó copy đoạn code cho EEPROM sang tập tin hex của chương trình mới, như vậy sẽ nhanh và chính xác hơn.

Thân,

ntc
27-02-2007, 01:24 PM
Nếu dùng Tiny bootloader thì sao anh Nam nhẩy?

Theo em hiểu thì Tiny bootloader không can thiệp đến nội dung của EEPROM.

namqn
27-02-2007, 07:14 PM
Nếu dùng Tiny bootloader thì sao anh Nam nhẩy?

Theo em hiểu thì Tiny bootloader không can thiệp đến nội dung của EEPROM.
Tiny bootloader dùng cho PIC16 và PIC18 có thể ghi vào Flash và EEPROM cũng như các từ cấu hình. Với dsPIC thì nó chỉ ghi vào Flash. Dùng bootloader như Tiny thì việc ghi vào vùng nhớ nào tùy thuộc vào chương trình trên host, vì thằng firmware chỉ cắm đầu làm những gì được bảo phải làm.

Thân,