2011-02-01 38 views
1

我目前正在研究一系列嵌入式產品,這些嵌入式產品將通過電話交換信息。目前,家庭中的不同成員以不同的方式存儲和交換信息,但是任何特定類型的單元將僅以單一格式存儲和交換信息。 PC能夠爲任何遠程設備提供新的固件,下次遠程設備重新啓動時(PC可以請求重新啓動),該固件將被加載。它會報告一個單位類型(字符串),版本號(每個版本增加)和建立日期; PC將查找數據庫中的設備類型,並檢查數據庫固件是否比設備中的新固件更新。如果是這樣,它會將數據庫固件加載到設備中,並要求它重新啓動並回撥(重新啓動將會斷開連接)。處理可遠程升級的嵌入式系統的版本號

這個方案的工作,但它似乎有點hokey。在某些錯誤修復之前禁止使用固件版本可能是可取的,但我不確定如何最好地編碼。每個應用程序版本是否應該爲每種硬件類型提供硬編碼的最低可接受固件版本列表?如果較新的固件版本添加了新的內存字段或通信數據包,最好如何處理互操作性?如果FirmwareRev> 1.23458然後是Mem(29)= BeeperFrequency Else Mem(29)= 0「似乎相當粗糙。

我的一個想法是固件版本描述中包含各種功能的位掩碼,但我不知道如何合理地分配這些位,以避免使用太多的位來指定最終總是結束的功能一起走(因此耗盡比特)或使用一個比特來控制最終被分離的特徵。

有沒有其他人處理過這樣的問題?他們如何最好地解決?

+2

我不確定你想解決什麼問題 - 你想讓現場的單位能夠繼續運行舊版本的軟件,同時仍然能夠與後端通信而不是被迫升級? – 2011-02-01 17:16:26

+0

我也很困惑 - 前兩段只談固件,但後來在第三段中突然想到如何處理「應用程序」。這個應用程序是什麼?它是如何得到更新的?爲什麼它與固件不同? – 2011-02-01 20:17:52

回答

1

我只想讓這些設備報告他們的MAC地址,這些MAC地址與您的其他信息一起保證是唯一的,然後在服務器上保留一個小型數據庫並讓其管理升級決策。您可能希望降級以及升級,以便保持服務器上的智能。