找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2008|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

怎樣在PIC單片機程序升級過程中保留eeprom中的數(shù)據(jù)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:552978 發(fā)表于 2024-7-10 09:59 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
50黑幣
怎樣在PIC程序升級過程中保留eeprom中的數(shù)據(jù)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:401564 發(fā)表于 2024-7-11 21:55 | 只看該作者
看一下下載器的配置,或者是配置字
很久沒有玩PIC了,忘記了,但好像記得是有這個選項的
回復(fù)

使用道具 舉報

板凳
ID:808676 發(fā)表于 2024-7-13 06:34 | 只看該作者
如果錄音機是pickit3,只需禁用eeprom錄音選項
回復(fù)

使用道具 舉報

地板
ID:1116913 發(fā)表于 2024-7-13 09:12 | 只看該作者
在程序升級之前,首先讀取并備份EEPROM中的所有數(shù)據(jù)。在備份了EEPROM數(shù)據(jù)之后,可以安全地執(zhí)行PIC的程序升級。程序升級完成后,將之前備份的EEPROM數(shù)據(jù)寫回EEPROM。這一步是確保升級后所有重要數(shù)據(jù)都得以保留的關(guān)鍵。在編寫升級程序時,確保升級過程不會意外地覆蓋或修改EEPROM中的數(shù)據(jù)。這通常要求精確控制寫入Flash存儲器的地址范圍。
回復(fù)

使用道具 舉報

5#
ID:982617 發(fā)表于 2024-8-7 17:18 | 只看該作者
在使用微控制器(例如PIC)進(jìn)行程序升級的過程中,保留EEPROM中的數(shù)據(jù)是一個關(guān)鍵點,因為EEPROM中的數(shù)據(jù)在斷電后不會丟失。以下是在升級過程中保留EEPROM數(shù)據(jù)的方法:

### 1. **備份數(shù)據(jù)**
在升級程序前,先備份EEPROM中的關(guān)鍵數(shù)據(jù)。這可以通過專門的編程軟件或使用帶有EEPROM讀取功能的編程器來實現(xiàn)。這樣在升級失敗或其他問題導(dǎo)致數(shù)據(jù)丟失時,可以恢復(fù)數(shù)據(jù)。

### 2. **程序設(shè)計考慮**
在程序設(shè)計階段,應(yīng)考慮數(shù)據(jù)在EEPROM中的存儲方式和結(jié)構(gòu)。使用結(jié)構(gòu)化的方式存儲數(shù)據(jù),確保數(shù)據(jù)在程序升級后仍然可以正確讀取和使用。避免在EEPROM中隨意存儲數(shù)據(jù),這可能使得更新程序時容易覆蓋數(shù)據(jù)。

### 3. **升級策略**
在升級過程中,避免直接覆蓋EEPROM中的數(shù)據(jù)。如果升級失敗或在升級過程中需要中斷,確保程序設(shè)計有機制可以跳過或重新加載EEPROM中的數(shù)據(jù)。這可能涉及讀取EEPROM中的版本信息,然后根據(jù)版本信息判斷是否需要重新加載EEPROM數(shù)據(jù)。

### 4. **動態(tài)更新EEPROM**
考慮使用一個進(jìn)程或狀態(tài)機,用于在升級程序后動態(tài)更新EEPROM中的數(shù)據(jù)。這可以確保程序在運行時可以訪問新的程序代碼,同時保留原有的EEPROM數(shù)據(jù)。在程序初始化階段,檢查EEPROM中的狀態(tài),然后根據(jù)需要加載新數(shù)據(jù)或保留原有數(shù)據(jù)。

### 5. **使用FLASH編程**
對于需要頻繁升級的情況,考慮使用能夠在不重新編程的情況下更新數(shù)據(jù)的機制。例如,部分微控制器允許在運行時通過特定的命令對部分EEPROM區(qū)域進(jìn)行讀寫,而無需中斷程序執(zhí)行。這種特性在設(shè)計時應(yīng)充分利用。

### 6. **升級前后的備份**
在升級前和升級后立即備份EEPROM中的數(shù)據(jù),以防止意外丟失數(shù)據(jù)。這可以使用外部存儲設(shè)備或網(wǎng)絡(luò)存儲進(jìn)行。

### 7. **錯誤處理和恢復(fù)**
設(shè)計程序時包括錯誤處理策略,比如在升級失敗時能自動回到上一次的正常狀態(tài),并嘗試或強制加載備份數(shù)據(jù)。

### 實例和工具
使用專門的微控制器編程軟件(如 MikroC PIC,Proteus,或者使用像 avr-gcc 這樣的開發(fā)工具),可以更輕松地管理EEPROM數(shù)據(jù)的訪問和保護(hù)。這些工具通常提供針對EEPROM操作的庫函數(shù),便于編程時使用。

### 總結(jié)
在進(jìn)行PIC程序升級時,保留EEPROM數(shù)據(jù)的關(guān)鍵在于周密的程序設(shè)計、有效的數(shù)據(jù)備份策略、和適當(dāng)?shù)纳夁^程控制。確保在升級過程中數(shù)據(jù)不被意外覆蓋或丟失,通常是通過避免直接覆蓋數(shù)據(jù)、使用備份和恢復(fù)機制,以及錯誤處理策略實現(xiàn)的。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表