De petits utilitaires utiles pour travailler avec des vidages Flash et CPU OTP obtenus pour la réparation TE OP-1.
ADSP_ECC.PY - Script avec implémentation du calcul ECC pour Flash qui est implémenté dans OP-1
write_data_without_ecc.py - Extraire les données de Dump sans ECC
add_ecc_to_data.py - insérer ECC dans les données de Dump (après les modifications des données du script précédent)
check_fw.py - vérifie l'ECC dans le vidage
FIX_FW_ECC.PY - Correction de l'ECC dans Dump après les modifications
find_files_offset_in_dump.py - à la recherche de l'entrée des fichiers du micrologiciel dans le vidage
MT29F4G08 OP-1 Flash.BT - 010 Fichier de modèle d'éditeur pour le vidage flash
Te-op1-board-usepins.jpg - Photo du bas de la planche avec les jambes CPU associées signées
TE-OP-1-BF524-OTP-DUMP.TXT - OTP Little-Endan Dump devrait être écrit dans le processeur Blackfin BF524 vide pour restaurer le démarrage de l'appareil.
TE-OP-1-FLASH-DUMP-FW241-Boot-OK-Formated-FW-MT29F4G08ABBDA@BGA63_2131.bin.zip - Flash Bump avec démarrage travaillé V2.27 et firmware formaté V2.41
Voici le fichier TE-Boot corrigé pour lire et écrire une page sur une mémoire OTP OP-1: te-boot-otp-ops-2.28-10.ldr . Utilisez OP1Repacker pour créer un package de firmware OP1 pour écrire à partir de TE-Boot. Ensuite, entrez sur TE-Boot (appuyez sur le bouton COM pendant le démarrage) et appuyez sur 7 pour lire la mémoire OTP (c'est très rapide, utilisez une caméra au ralenti pour la lire) ou connectez 7V à VPPOTP et appuyez sur 2 pour l'écrire. Appuyez plusieurs fois sur le bouton 2 jusqu'à ce que le menu soit redessiné (il ne s'aggravera pas). Vous devez écrire page par page (environ 12 pages au total) en apportant des modifications à ce fichier aux adresses suivantes:
0x2d4d0-0x2d4df - contient des données OTP à écrire (Little-Endian)
0xa642 - Contient une page OTP à écrire
Notez que le système utilise Little Endian, vous devez donc réorganiser les octets en conséquence.
Par exemple, voici une page lue sur OTP:
0xdf 20 45 47 41 4e 45 45 54 52 45 45 4e 49 47 4e 45
Ici, il y a dans la mémoire de l'appareil (adresse IDA LDR):
DATA1:FF8059D0 db 0x54 # T
DATA1:FF8059D1 db 0x45 # E
DATA1:FF8059D2 db 0x45 # E
DATA1:FF8059D3 db 0x4E # N
DATA1:FF8059D4 db 0x41 # A
DATA1:FF8059D5 db 0x47 # G
DATA1:FF8059D6 db 0x45 # E
DATA1:FF8059D7 db 0x20
DATA1:FF8059D8 db 0x45 # E
DATA1:FF8059D9 db 0x4E # N
DATA1:FF8059DA db 0x47 # G
DATA1:FF8059DB db 0x49 # I
DATA1:FF8059DC db 0x4E # N
DATA1:FF8059DD db 0x45 # E
DATA1:FF8059DE db 0x45 # E
DATA1:FF8059DF db 0x52 # R
Notez que cela nécessite que 6.9-7V soit appliqué à la broche CPU VPPOTP pendant une courte période (il est amené à la carte, vérifiez l'image de la carte), la puce ne peut pas résister à une telle tension pendant plus de 15 minutes au total. Débranchez la broche d'alimentation avant de débrancher la puissance de la carte ou de continuer à fonctionner avec le menu de démarrage pour éviter les interférences et les dommages à la carte.
Assurez-vous de lire la documentation de votre processeur avant de le faire. Une données enregistrées une fois ne peut pas être modifiée dans la zone OTP!
Notez que pour que TE-Boot soit mis à jour avec succès avec le micrologiciel, il doit avoir une version différente de la version actuelle (+/- 0.01 sera suffisante). Changer cela est facile avec un éditeur hexadécimal - il suffit de changer 4 occurrences de la version actuelle dans TE-Boot. N'essayez pas cela avec <2 version de Te-boot, vous obtiendrez une brique! Seul le programmeur flash restaurera votre appareil après cela.
Pour le démarrage correct, ces pages doivent être écrites en OTP dans l'ordre recommandé: 0x10-0x12, 0xd0-0xd3, 0xdf, 0xd8.
Ils sont marqués d'une marque d'exclamation dans la décharge.
Après avoir écrit 0xd8, l'appareil démarrera dans le firmware (et cela nécessite toutes les entrées précédentes), pour entrer à nouveau TE-Boot, vous devrez maintenir le bouton COM. Vraisemblablement, 0x10-0x12 contient le code de démarrage du firmware et 0xd0-0xd3 pour démarrer le périphérique au firmware. 0xdf est vérifié pour valider l'enregistrement OTP. Le reste des données des pages OTP est les données d'usine sur le processeur.
Si vous voulez mes projets OP-1 IDA Pro pour vos recherches - demandez-le.
Nanak0n aka viktor89 pour d'innombrables puces à refroidissement sur l'analyse du genou et de la carte
Tabascoeye pour obtenir de l'aide et des expériences précédentes avec l'appareil et la construction d'outils noirs, la lecture du vidage OTP
Igor et Sergey - Guys avec le programmeur pour BGA63
Contient beaucoup de données sur le matériel CPU: OTP et autres.
Contient les détails de BlackFin ASM.
Fiche technique Flash OP-1 - Micron 2, 4, 8 Go: X8 / X16 Flash Memory Flash Memory Fonctionnalités
Micron TN-29-08: Hamming Codes for Nand Flash Memory Devices
Micron TN-29-63: Code de correction d'erreur (ECC) dans SLC NAND Introduction
Fiche technique OP-RAM - ISSI 42-45SM-RM-VM16320E
OP1Repacker
Plugin BlackFin Ida Pro