14.1.1.5. Önyükleyiciyi (bootloader) geri yükleme¶
Normal bir aygıt yazılımı (firmware) flash işlemi önyükleyiciye (bootloader) asla dokunmaz, bu nedenle kesintiye uğramış bir aygıt yazılımı güncellemesi neredeyse her zaman kurtarılabilir: Aygıt yazılımını flash’lama sayfasındaki aynı flash komutunu yeniden çalıştırın (dfu-util -w cihazı bekler) veya kamera hâlâ önyükleyicisindeyken Load Custom Firmware işlemini yeniden çalıştırın. Bu sayfa, önyükleyicinin kendisinin hasar gördüğü ve kameranın sıfırlamada artık bir DFU cihazı olarak görünmediği daha nadir durumu kapsar.
Önyükleyici (bootloader), aygıt yazılımı (firmware) ve dosya sisteminden ayrı bir flash bölgesinde bulunur ve her OpenMV markalı kameranın bir donanım kurtarma yolu vardır, bu nedenle bir kamerayı kalıcı olarak kurtarılamaz hale getirmek zordur. Arduino kartları tek istisnadır – önyükleyicileri sabittir ve kullanıcı tarafından geri yüklenemez.
OpenMV IDE tüm bu kurtarma prosedürlerini otomatikleştirir ve bu sırada donanım adımları (jumperlar, anahtarlar, düğmeler) konusunda size yol gösterir. Aşağıdaki bölümler, kurtarmayı kendiniz çalıştırmak istediğinizde her kamera ailesi için ne yaptığını belgeler.
14.1.1.5.1. STM32 kameraları (BOOT–RST jumper)¶
STM32 OpenMV kameraları için (M4, M7, H7, H7 Plus, Pure Thermal):
Kameranın bağlantısını kesin.
BOOT ve RST pinleri arasına bir jumper teli bağlayın.
Yeniden bağlayın. Kamera artık hasarlı aygıt yazılımından bağımsız olarak ST sistem DFU cihazı (
0483:df11) olarak görünür.Yalnızca önyükleyiciyi yeniden flash’layın – OpenMV IDE Load Custom Firmware ile
bootloader.binkullanarak veya:dfu-util -w -d ,0483:df11 -a 0 -s 0x08000000 -D bootloader.binJumper’ı çıkarın ve yeniden bağlayın.
Aygıt yazılımını normal şekilde flash’layın (bkz. Aygıt yazılımını flash’lama).
14.1.1.5.2. OpenMV Cam N6 (BOOT–VCC jumper)¶
Kameranın bağlantısını kesin.
BOOT ve VCC pinleri arasına bir jumper teli bağlayın.
Yeniden bağlayın. Kamera artık hasarlı önyükleyiciden (bootloader) bağımsız olarak ST sistem DFU cihazı (
0483:df11) olarak görünür.STM32CubeProgrammer (OpenMV SDK’ya dahildir) ile,
bootloader.binile birlikte gönderilen flash-yerleşim tanımlayıcısını kullanarak yeniden flash’layın – bu, birinci aşama önyükleyiciyi, harici flash yükleyiciyi ve önyükleyiciyi yeniden yazar:STM32_Programmer_CLI -c port=USB1 -d OPENMV_N6/FlashLayout.tsvJumper’ı çıkarın ve yeniden bağlayın.
Aygıt yazılımını normal şekilde flash’layın (bkz. Aygıt yazılımını flash’lama).
14.1.1.5.3. OpenMV Cam RT1062¶
RT1062 güvenli önyükleyicisini yeniden oluşturmak, bir jumper ile çipin ROM seri indirme (SDP) moduna girmeyi, bir RAM flashloader hazırlamayı, ardından flash yapılandırma bloğunu, SBL’yi ve aygıt yazılımını yeniden yazmayı gerektirir. Manuel sıra:
Kameranın bağlantısını kesin, SBL ve 3.3V pinlerini jumper’layın ve yeniden bağlayın. Çip SDP ROM modunda (
0x1FC9:0x0135) görünür.RAM flashloader’ı hazırlayın ve başlatın:
sdphost -u 0x1FC9,0x0135 -- write-file 0x20001C00 sdphost_flash_loader.bin sdphost -u 0x1FC9,0x0135 -- jump-address 0x20001C00
Kamera artık flashloader (
0x15A2:0x0073) olarak yanıt verir. Harici flash’ı yapılandırın, flash yapılandırma bloğunu yazın, ardından SBL’yi yazın:blhost -u 0x15A2,0x0073 -- fill-memory 0x2000 4 0xC0000008 word blhost -u 0x15A2,0x0073 -- configure-memory 9 0x2000 blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60000000 0x1000 blhost -u 0x15A2,0x0073 -- fill-memory 0x2000 4 0xF000000F word blhost -u 0x15A2,0x0073 -- configure-memory 9 0x2000 blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60001000 <sbl_size> blhost -u 0x15A2,0x0073 -- write-memory 0x60001000 blhost_flash_loader.bin
Aygıt yazılımını yazın ve çipin yeni SBL’yi harici flash’tan başlatması için boot-source sigortasını ayarlayın:
blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60040000 <firmware_size> blhost -u 0x15A2,0x0073 -- write-memory 0x60040000 firmware.bin blhost -u 0x15A2,0x0073 -- efuse-program-once 0x06 00000010 blhost -u 0x15A2,0x0073 -- reset
Jumper’ı çıkarın ve kameranın gücünü kapatıp açın.
Uyarı
efuse-program-once 0x06 00000010, cihazı harici flash’tan başlatacak şekilde ayarlayan tek seferlik, geri alınamaz bir sigorta yazma işlemidir. Bu, RT1062 önyükleyici kurtarmasını elle yapmak yerine OpenMV IDE’ye yaptırmak için bir başka nedendir.
14.1.1.5.4. OpenMV AE3¶
AE3’ün güvenli önyükleyicisi USB DFU üzerinden geri yüklenmez. Seri ISP bağlantısı üzerinden Alif Semiconductor’ın SE Tools (OpenMV IDE ile birlikte gelir) kullanılarak çipin MRAM’ine yeniden yazılır. Bu, etkileşimli, yalnızca kurtarmaya yönelik bir prosedürdür – rutin bir flash yöntemi değildir – ve elle yapıldığında hataya açıktır; bu sayfadaki her şey arasında OpenMV IDE’ye bırakılması gereken işlem budur.
Bağlantı. SE Tools, AE3 ile hata ayıklama adaptörünün seri ISP portu üzerinden konuşur – bir J-Link ile birlikte bir FTDI 0403:6015 veya bir CH340 1A86:55D3 arayüzü. Kurtarma, cihazı kurtarma moduna almayı gerektirir: kart üzerindeki kurtarma anahtarını etkinleştirin.
SE Tools. OpenMV IDE bu Alif çalıştırılabilir dosyalarını içerir. İlk bağlantıda maintenance tarafından oluşturulan iki yapılandırma dosyasını – isp_config_data.cfg ve global-cfg.db – paylaşırlar:
Araç |
Amaç |
|---|---|
|
Secure Enclave’i sorgular ( |
|
Secure Enclave sistem paketini, aygıt yazılımının gerektirdiği sürümden eski olduğunda günceller. |
|
İçindekiler tablosu (TOC) görüntüsünü oluşturur (yalnızca uygulama yazma işlemi için kullanılır). |
|
Görüntü(leri) MRAM’e yazar – önyükleyiciyi geri yükleyen adım. |
Prosedür:
maintenanceile AE3’e bağlanın; seri portu ve cihaz türünü sorar ve diğer araçlar içinisp_config_data.cfgileglobal-cfg.dbdosyalarını oluşturur.Secure Enclave sistem paketi güncel değilse,
updateSystemPackageonu günceller; istendiğinde gücü kapatıp açın.app-write-mram -i "bootloader.bin 0x80000000 firmware_pad.toc 0x8057E000"önyükleyiciyi ve TOC’u MRAM’e yazar.AE3 yeniden
37C5:96E3DFU cihazı olarak görünür. Uygulamayı yüklemek için OpenMV AE3: dfu-util sayfasındaki normal dört görüntülü flash işlemini çalıştırın.Kameranın gücünü kapatıp açın ve kurtarma anahtarını tekrar kapatın.
Not
OpenMV IDE bu sorunsuz yoldan çok daha fazlasını ele alır – bozuk bir Secure Enclave aygıt yazılımı, hatalı bir önyükleyici ve diğer arıza durumlarının her biri kendi kurtarma adımlarına ihtiyaç duyar ve bu süreçte birçok şey ters gidebilir. Yukarıdaki manuel adımlar kamerayı geri getirmezse, kurtarmak için OpenMV IDE’yi kullanın.