Odpovedi

Jak flashovat REFORMAT na Ford Sync3 · GitHub

Uložte si bigunclemax/7117d6f506200224156e093f7d5a16be do svého počítače a použijte jej na GitHub Desktop.

# Jak flashovat REFORMAT na Ford Sync3

Anglická verze ➡️

Úvodní znělka

Tato metoda umožňuje flashovat Sync3 přes USB, i když byl zcela zazděný. Není potřeba pájet čtečku karet ani žádné jiné vodiče. Jediné, co musíte udělat, je rozebrat desku a zkratovat dva kontakty.

<strong>TL, DR</strong> ➡️

technické vybavení

Blok Ford Sync3 se skládá ze dvou desek:

  • Základní deska – IPC s TI Omap5432 SoC jako hlavním procesorem, RAM, eMMC flash.
  • Druhá deska – VMCU. Obsahuje CPLD a mikrokontrolér. Tato část je přímo zodpovědná za rozhraní CAN (protože Omap5432 jej nemá) a tato deska také funguje jako externí hlídací pes pro hlavní CPU.

IPC a VMCU spolu komunikují přes rozhraní UART, rychlost 500kbps, pro přenos paketů je použito kódování COBS. Ale o tom více někdy jindy

Režim spouštění OMAP5432

Podle veřejného datasheetu OMAP5432 Multimedia Deviced můžeme získat informace o způsobech a pořadí stahování Omap5432.

Je uveden v sekci 2.6 Konfigurace SYSBOOT.
Zde je štítek z tohoto datového listu.

Všechny oči upřené sys_boot3. Je to on, kdo změní prioritu spouštění z USB. Tedy pokud stisknete sys_boot3 k zemi, pak SOC začne bootovat nejprve z USB.

Ale jak najít sys_boot3?

K tomu nám pomůže další datasheet OMAP5432Multimedia Device Engineering Samples 2.0, který obsahuje popis pinů (kuliček, chcete-li) procesoru a také schéma s jejich umístěním (obrázek 2-1. OMAP5432 AAN S-PBGA -N754 Balíček (pohled zdola)).

Nacházíme naše sys_boot3 a vidíme, že je umístěn na místě V31.

Protože míč je V31 umístěný pod procesorem, nelze se k němu dostat bez speciálních nástrojů.

Ale pak jsem přišel na pomoc Cusco. Zazvonil na konektory od Soc k četným testovacím bodům (TP) umístěným na desce.

A nakonec jsem to našel V31!

Nyní jsme připraveni nahrát do Sync3 přes USB.

USB boot

Je čas připojit Sync3 k počítači pomocí kabelu miniUSB. Poté začneme probouzet desku pakety přes CAN (toto umí perfektně i jakýkoli jilm). Sepneme dva zakroužkované kontakty a přivedeme napájení 12V.

Podíváme se na log (dmesg) a uvidíme:

kernel: [431083.350475] usb 1-3: new high-speed USB device number 114 using xhci_hcd kernel: [431083.499541] usb 1-3: New USB device found, idVendor=0451, idProduct=d011, bcdDevice= 0.00 kernel: [431083.499555] usb 1-3: New USB device strings: Mfr=33, Product=37, SerialNumber=0 kernel: [431083.499561] usb 1-3: Product: OMAP5430 kernel: [431083.499566] usb 1-3: Manufacturer: Texas Instruments 

Super, SoC bylo vidět přes USB a čeká na nahrání kódu do něj.

Zde je třeba učinit malou poznámku. USB boot v Omap5432 není úplně stejný jako bootování z eMMC nebo SD karty. Nemůžeme jednoduše naformátovat USB flash disk určitým způsobem a spustit z něj, jak se to dělá v PC. Místo toho musíme přenést náš spustitelný kód (bootloader) do Soc přes USB a poté implementovat přístup k eMMC v tomto bootloaderu.

Přečtěte si více
Slunovrat 21. června: Co se smí a co ne?

Po několika dnech googlování se mi podařilo najít odkazy na články o vývojové desce TI OMAP5 5432 uEVM ES2.0 (Panda5) vedoucí na http://omapedia.org. Snažíme se jít dál a. jsme přesměrováni na www.ti.com.
Místo bylo vykáceno. kurva!

Web.archive.org si však pamatuje všechno, nebo alespoň mnohé

  • Obecný popis
  • Podrobný popis procesu spouštění USB

Kupodivu byly odkazy na zdroje živé. Nás zajímá především užitečnost UsbBoot (Omapboot).
Vytáhneme zdrojové kódy git clone git://git.omapzoom.org/repo/omapboot.git usbboot && git checkout 33af7cb409b603cf7988306ab2ea70f052a9a02b a pokusíme se zkompilovat.

K sestavení pro Omap potřebujete toolchain pro Armv7. Můžete si vzít ten v článku z wiki, ale k tomu si budete muset stáhnout celé úložiště Android. Proto to uděláme jednodušeji a vezmeme si sestavený toolchain odtud.

Super, teď máme co nahrát do SoC. Načítání.

user@pc:~/$ sudo ./out/omap5uevm/usbboot -f reading ASIC ID CHIP: 5430 rom minor version: 02 IDEN: 0000000000000000000000000000000000000000 MPKH: 0000000000000000000000000000000000000000000000000000000000000000 CRC0: 071a9a31 CRC1: 00000000 device is GP using built-in GP iboot of size 23-KB sending 2ndstage to target. waiting for 2ndstage response. received 2ndstage response. 

Po načtení a přijetí odpovědi přes USB z našeho čerstvě sestaveného bootloaderu se můžeme připojit k Omap pomocí utility fastboot (ano, ano, stejná pro Android) a zkusit provést pár příkazů.

Shrňme mezivýsledek

  • Naučili jsme se, jak změnit pořadí spouštění z USB.
  • Naučili jsme se, jak spustit vlastní bootloader.
  • Máme funkční USB kanál pro interakci mezi PC a Sync procesorem.

Je čas naučit se flashovat eMMC Sync s vašimi vlastními obrázky přenesenými přes USB z PC.

Reformat

Reformátovací balíček je určen pro tovární (čistou) instalaci OS Sync3. Skládá se ze 2 částí:

  1. MLO – Nakladač
  2. QNX-IFS-REFORMAT – Obraz OS, který provádí tovární instalaci Sync3.

Právě tyto soubory potřebujeme zapsat do eMMC. Zbývá pochopit, kde přesně v eMMC by měly být umístěny.

Chcete-li to provést, podívejme se na původní instalační skript přeformátování. Vidíme tam následující řádek update_boot -t -i /tmp/QNX-IFS-REFORMAT -m /tmp/MLO

Jo, to znamená, že existuje určitý nástroj update_boot, který provede celou instalaci v Sync. No, pojďme si to vybrat.

Nejprve strings update_boot :

Usage: %s [-i] [-m] raw partition -i Path of IFS image file -m Path of MLO image file -t Toggle active IFS partition -r replace current IFS with new one raw partition Path of raw partition to write IFS and MLO image files, default value is /dev/hd0. 

Parametry jsou víceméně jasné; zbývá jen pochopit, co přesně tento software dělá. Vezmeme Hydru a dáme tam náš update_boot. Proces dekompilace je nad rámec tohoto článku. Pro zájemce je zde odkaz na úložiště s posraným pseudokódem získaným v důsledku dekompilace.

Výsledkem je tento obrázek označení eMMC pro Sync3.

Přečtěte si více
Schéma zapojení elektrického zvonku v bytě s kabelovým připojením | N-kabel

Rozvržení Sync3 eMMC

blokovat ofset název
0x0000 MBR
0x0002 0x0000400 (1024) informace o spouštěcí bance
0x0100 0x0020000 (131072) MLO
0x0184 0x0030800 (198656) První banka IFS
0x7cd2 0x0F9A400 (16360448) Druhá banka IFS

Sync3flash

Bootloader, který jsme sestavili dříve, již má funkce pro čtení a zápis na flash disk. Dostali jsme adresy, na které potřebujeme napsat obrázek reformovaných v předchozím odstavci.

Pojďme trochu přepsat původní usbboot tím, že vyhodíme vše nepotřebné a přidáme firmware MLO a QNX-IFS-REFORMAT s offsety, které potřebujeme. Výsledný software je sync3flash.

Firmware eMMC Sync3

Pro firmware potřebujete PC s Linuxem (virtuální stroj nebude fungovat, ale můžete použít flash disk livecd, například puppy linux)

sync3flash

Vyžaduje se také přeformátování souborů (MLO a QNX-IFS-REFORMAT)

Nyní tedy máme vše, co potřebujeme pro firmware. Začněme:

  1. Sync3 připojíme k PC přímo pomocí microUSB kabelu. (připojení přes rozbočovač nebude fungovat)
  2. Začneme odesílat zprávy CAN, které probudí synchronizaci.
  3. Spusťte sudo ./sync3flash -i QNX-IFS-REFORMAT -m MLO
  4. Uzavřeme kontakty zakroužkované červeně
  5. Dodáváme energii do Sync.

Pokud je vše úspěšné, měli byste vidět výstup jako:

user@user-PC:/tmp$ sudo ./sync3flash -m MLO -i QNX-IFS-REFORMAT waiting for device. reading ASIC ID CHIP: 5430 rom minor version: 02 IDEN: 0000000000000000000000000000000000000000 MPKH: 0000000000000000000000000000000000000000000000000000000000000000 CRC0: 071a9a31 CRC1: 00000000 device is GP sending 2ndstage to target. waiting for 2ndstage response. sending image to target. size (22696-B/22-KB/0-MB) sending image to target. size (9279956-B/9062-KB/8-MB) 

Po 30 sekundách se Sync 3 restartuje a načte se přeformátování. To je vše.

PS:

Tento příběh slouží pouze pro zábavní a vzdělávací účely a nikoho nenabádá k žádné akci. Všechny postavy jsou fiktivní a podobnosti jsou náhodné.

PPS:

Děkuju mnohokrát Cusco za pomoc s hardwarem, ideové inspirátory Sanek2033 и AuoNa Rys za nápad.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Back to top button