Fabrika ayarlarına sıfırlama nasıl çalışır?


18

Tüm katıştırılmış aygıtlarda, kullanıcının bir şeylerin yanlış olması durumunda aygıtını sıfırlamasını sağlayan "Fabrika ayarlarına sıfırla" seçeneği bulunur.

STM32 kartında bir Bellenim geliştiriyorum. Ürün yazılımı, uygulamayı UART (yeni görüntüyü içeren bir ikili dosya göndererek) aracılığıyla yükseltmeye izin veren bir önyükleme yükleyicisi içerir ve başka bir özellik eklemek istiyorum: Fabrika ayarlarına sıfırlama. Kullanıcı bu seçeneği belirlediğinde, pano orijinal görüntüyü yükleyecektir.

Fabrika ayarlarına sıfırlama nedir? İkili dosyanın tamamını tekrar belleğe yüklemek mi yoksa sadece son kullanıcı tarafından değiştirilen değişkenleri yeniden başlatan bir fonksiyon mu çağırıyor?

Bunu yapmak için en iyi uygulamalar nelerdir?

Orijinal FW nerede saklanır? dahili veya harici flaşta mı?

Yanıtlar:


20

Genelde bahsettiğiniz fabrika ayarlarına sıfırlama işlevi, kaydedilen değişken veri bilgilerini varsayılan değerlerine geri yükleyecektir. Tüm yerleşik cihazların bu özelliğe sahip olduğu doğru değildir. Bazıları hepsi değil ama hepsi.

Cihazınızın fabrika varsayılan belleniminin kendisine geri dönmesini desteklemesini istiyorsanız, tasarımınızın bu görüntüyü saklamak için devreye bir bellek eklemesi gerekir. Bunun ortak bir bileşeni bir SPI flaş yongasıdır. Ardından, önyükleme yükleyicinizin, görüntüyü seri bağlantı noktasından almak yerine SPI flash çipinden bir donanım yazılımı görüntüsü alma modunu desteklemek için değiştirilmesi gerekir. Cihazınız kullanıcı tarafından değiştirilebilen bellenimi desteklemiyorsa, fabrika varsayılan bellenimine geri yükleme için bir yol sağlamak genellikle gerekli değildir.


1
Gerçekten bir cevap değil, bu yüzden bir yorum olarak bırakacağım: bazı cihaz ayarları varsayılanlara geri döndürür, bu kolaydır (örneğin, sadece kullanıcı ayarlarını silin). Diğerleri (daha az, sanırım) bellenimi fabrika ayarlarına sıfırlar. Mevcut bellenimi daha eski bellenimle değiştirmek için bir yola ihtiyacınız olduğu için bu daha zordur.
Dithermaster

11

Fabrika varsayılanlarının en yaygın örneğini alırsanız, bu PC'nizin UEFI'sidir (BIOS).

Bir flash çip ve uçucu bir pil yedekleme SRAM bellek yongası ile yapılır. Flaş yongası programı ve SRAM ayarları içerir.

Açık fabrika sıfırlama , uçucu SRAM içeriği silinir. Bir sonraki önyüklemede, ayarların sağlama toplamının geçersiz olduğunu algılar ve programda bulunan varsayılanları geri yükler.

Bu, pil yedekleme SRAM ile sınırlı değildir, aynı FLASH veya EEPROM ile yapılabilir. Ancak pil yedekleme SRAM, makineyi açmadan silinebilir.


Başka bir terim fabrika kurtarma , bu sadece ana programı iki kez içerdiği anlamına gelir. Ancak kullanıcı tarafından yalnızca bir kopya yükseltilebilir.
Çift BIOS buna bir örnektir.

Telefonlar ve bilgisayarlar gibi daha üst düzey sistemlerde, işletim sistemini fabrika koşullarına geri yüklemek için kurulum dosyalarını kullandığı anlamına gelir.


10

Fabrika sıfırlama odur Eğer bunu istiyorum. Uygulamaya ve cihaz türüne bağlıdır.

Genellikle iki şey yaparım:

  1. Kısmi / yanlış bir bellenim güncellemesinin bile cihazı engelleyememesi için önyükleyiciye her zaman güvenilir bir yol olduğundan emin olun .
  2. Kullanıcının bir şeyi değiştirmesi durumunda ürün yazılımı ayarlarını sıfırlamanın bir yolu var , belirli bir ayar kombinasyonu uygulamayı bozar vb.

Her ikisi de düğmelerle (uzun basışlar, kısa basışlar), DIP anahtarları veya diğer iletişim araçlarıyla (örn. UART, USB) yapılabilir.

Örneğin, tek bir düğme için bir GPIO kullanıyorsanız aşağıdaki şekilde kullanabilirsiniz:

  1. Açılış + düğmesine basıldı = önyükleyiciyi çağır
  2. Güç açık, düğmeye basılmamış = 3 saniye bekleyin, bir led yanıp söner, bir düğmeye basılırsa (pencerenin içinde) ve 5 saniye basılı tutulursa ürün yazılımı ayarlarını sıfırlayın

2

Dediğiniz gibi, fabrika ayarlarına sıfırlama ilk fabrika görüntüsünü aygıta yeniden yükler. Bu, kullanıcının ne yaptığını bilmediği veya sadece ilk yapılandırmaya geri dönmek istediği bir yanlış yapılandırma durumunda gerekli olabilir. Sizinki gibi bir yazılım güncellemesi yapılmışsa, güncelleme sırasında bazı arıza senaryolarını kapsamak isteyebilirsiniz. Bu durumda, fabrika varsayılan yapılandırmasını geri yüklemek için bir atlama teli kullanılarak seçilebilen orijinal fabrika görüntüsünün depolandığı özel bir flash belleğiniz bile olabilir. Bu, örneğin bir güncellemenin başarısız olması ve ana görüntünün bozulması durumunda orijinal BIOS yapılandırmasını geri yükleyebileceğiniz bilgisayar anakartlarında yapılır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.