Pequenos utilitários úteis para trabalhar com os dumps Flash e CPU OTP obtidos para reparo de TE Op-1.
Adsp_ecc.py - script com implementação do cálculo do ECC para flash, que é implementado no OP -1
write_data_without_ecc.py - extraia dados do despejo sem ECC
add_ecc_to_data.py - Insira o ECC em dados do despejo (após alterações de dados do script anterior)
check_fw.py - verifica o ECC no despejo
FIX_FW_ECC.PY - Corrija o ECC no despejo após alterações
Find_files_offset_in_dump.py - Procurando a entrada de arquivos do firmware no despejo
Mt29f4g08 op -1 flash.bt - 010 Arquivo de modelo do editor para o flash dump
Te-Op1-Board-Useful-Pins.jpg-Foto da parte inferior da placa com as pernas da CPU associadas assinadas
Te-OP-1-BF524-Otp-dump.txt-Otp Little-Endian Dump deve ser gravado no processador vazio Blackfin BF524 para restaurar a inicialização do dispositivo.
Te-Op-1-Flash-DUMP-FW241-BOOT-OK-FORMATED-FW-MT29F4G08ABBDA@BGA63_2131.BIN.ZIP-Flash Bump com Boot v2.27 e Firmware Formatted Empty V2.41
Aqui está o arquivo te-boot corrigido para ler e gravar uma página para o OP-1 OTP Memory: te-boot-otp-ops-2.28-10.ldr . Use o Op1Repacker para criar um pacote de firmware OP1 para escrever no TE-Boot. Em seguida, digite o TE-boot (pressione o botão COM durante a inicialização) e pressione 7 para ler a memória OTP (é muito rápido, use uma câmera de câmera lenta para lê-la) ou conecte 7V ao VPPOTP e pressione 2 para escrevê-lo. Pressione o botão 2 várias vezes até que o menu seja redesenhado (não ficará pior). Você deve escrever página por página (cerca de 12 páginas no total) fazendo alterações nesse arquivo nos seguintes endereços:
0x2d4d0-0x2d4df -contém dados OTP para escrever (Little-Endian)
0xa642 - Contém a página OTP para escrever
Observe que o sistema usa Little Endian, então você precisa reorganizar os bytes de acordo.
Por exemplo, aqui está uma página lida da OTP:
0xdf 20 45 47 41 4e 45 45 54 52 45 45 4e 49 47 4e 45
Aqui está na memória do dispositivo (endereço 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
Observe que isso exige que 6.9-7V seja aplicado ao pino CPU VPPOTP por um curto período de tempo (ele é levado ao quadro, verifique a imagem da placa), o chip não pode suportar essa tensão por mais de 15 minutos no total. Desconecte o pino de energia antes de desconectar o poder da placa ou continuar trabalhando com o menu de inicialização para evitar interferências e danos à placa.
Leia a documentação para o seu processador antes de fazer isso. Um dados registrado uma vez não pode ser alterado na área de OTP!
Observe que, para que o TE-Boot seja atualizado com sucesso com o firmware, ele deve ter uma versão diferente da atual (+/- 0,01 será suficiente). Alterar isso é fácil com um editor hexadecimente - basta alterar 4 ocorrências da versão atual no Te -Boot. Não tente isso com <2 versão do Te-Boot, você receberá um tijolo! Somente o programador flash restaurará seu dispositivo depois disso.
Para a inicialização correta, essas páginas devem ser gravadas no OTP na ordem recomendada: 0x10-0x12, 0xd0-0xd3, 0xdf, 0xd8.
Eles são marcados com um ponto de exclamação no depósito.
Depois de escrever 0xd8, o dispositivo inicializará no firmware (e isso requer todas as entradas anteriores), para entrar novamente no TE-Boot, você precisará segurar o botão COM. Presumivelmente, 0x10-0x12 contém o código para iniciar o firmware e 0xd0-0xd3 para inicializar o dispositivo no firmware. 0xdf é verificado para validar o registro OTP. O restante dos dados das páginas OTP são os dados da fábrica sobre o processador.
Se você deseja meus projetos OP -1 IDA Pro para sua pesquisa - basta perguntar.
Nanak0n também conhecido
Tabascoeye para obter ajuda e experimentos anteriores com o dispositivo e a construção de ferramentas de Blackfin, lendo o OTP Dump
Igor e Sergey - Caras com o programador para BGA63
Contém muitos dados sobre o hardware da CPU: OTP e outros.
Contém detalhes do Blackfin ASM.
Op -1 Flash Dat folha de dados - Micron 2, 4, 8 GB: X8/X16 PROPUTOS MULTIMENTOS DE MEMÓRIA FLASH MEMÓRIA
Micron TN-29-08: Códigos de Hamming para NAND Flash Memory Dispositivos Visão geral
Micron TN-29-63: Código de correção de erro (ECC) na Introdução SLC Nand
Op-1 Ram Dataheet-ISSI 42-45SM-RM-VM16320E
Op1Repacker
Blackfin Ida Pro Plugin