找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

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

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

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

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

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

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

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

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

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

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

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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