TE OP-1 수리를 위해 얻은 플래시 및 CPU OTP 덤프와 함께 작동하는 소규모 유용한 유틸리티.
adsp_ecc.py- OP -1에서 구현 된 플래시에 대한 ECC 계산 구현이있는 스크립트
write_data_without_ecc.py- ECC없이 덤프에서 데이터를 추출합니다
add_ecc_to_data.py- 덤프에서 데이터에 ECC를 삽입 (이전 스크립트에서 데이터를 변경 한 후)
Check_fw.py- 덤프에서 ECC를 점검합니다
fix_fw_ecc.py- 변경 후 덤프에서 ECC를 수정하십시오
find_files_offset_in_dump.py- 펌웨어에서 덤프에 파일의 입력을 찾고 있습니다.
MT29F4G08 OP -1 FLASH.BT -010 플래시 덤프 용 편집기 템플릿 파일
te-op1-board-useful-pins.jpg- 서명 된 관련 CPU 다리가있는 보드 바닥의 사진
TE-OP-1-BF524-OTP-DUMP.TXT- OTP Little-Endian 덤프는 Device Boot를 복원하려면 빈 블랙 핀 BF524 프로세서에 작성해야합니다.
TE-OP-1- 플래시 덤프 -FW241- 부트 -OK- 형식 FW-MT29F4G08ABBDA@BGA63_2131.BIN.ZIP- 작업 부팅 v2.27 및 빈 형식 펌웨어 v2.41이있는 플래시 범프
다음은 OP-1 OTP 메모리에 페이지를 읽고 쓸 수있는 패치 된 te-boot-otp-ops-2.28-10.ldr -Boot 파일입니다. op1repacker를 사용하여 TE-Boot에서 쓸 OP1 펌웨어 패키지를 만듭니다. 그런 다음 TE-Boot (부팅 중에 COM 버튼을 누르면)를 입력하고 7을 눌러 OTP 메모리를 읽거나 (매우 빠르고, 슬로우 모션 카메라를 사용하여 읽거나) 7V를 VPPOTP에 연결하고 2를 눌러 쓰십시오. 메뉴가 다시 그려 질 때까지 버튼 2를 여러 번 누릅니다 (더 나쁘지 않음). 다음 주소 로이 파일을 변경하여 페이지별로 페이지별로 작성해야합니다.
0x2d4d0-0x2d4df 쓰기 할 OTP 데이터가 포함되어 있습니다 (Little-Endian)
0xa642 쓸 OTP 페이지가 포함되어 있습니다
시스템은 Little Endian을 사용하므로 바이트를 그에 따라 재 배열해야합니다.
예를 들어 다음은 OTP에서 읽은 페이지입니다.
0xdf 20 45 47 41 4e 45 45 54 52 45 45 4e 49 47 4e 45
여기에는 장치 메모리 (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
이를 위해서는 6.9-7V가 VPPOTP CPU 핀에 짧은 시간 동안 적용되어야합니다 (보드로 가져오고 보드 이미지를 확인) 칩은 총 15 분 이상 이러한 전압을 견딜 수 없습니다. 보드의 전원을 뽑기 전에 전원 핀을 분리하거나 보드의 간섭 및 손상을 피하기 위해 부팅 메뉴와 계속 작동합니다.
이 작업을 수행하기 전에 프로세서의 문서를 읽으십시오. 한 번 기록 된 데이터는 OTP 영역에서 변경할 수 없습니다!
TE-Boot가 펌웨어로 성공적으로 업데이트 되려면 현재 버전과 다른 버전이 있어야합니다 (+/- 0.01은 충분합니다). HEX 편집기에서는 쉽게 변경합니다. TE -Boot에서 현재 버전의 4 가지 발생 만 변경하십시오. <2 버전의 te-boot로 이것을 시도하지 마십시오. 벽돌을 얻을 수 있습니다! 그 후 플래시 프로그래머 만 장치를 복원합니다.
올바른 부팅의 경우이 페이지는 권장 순서로 OTP로 작성해야합니다 : 0x10-0x12, 0xd0-0xd3, 0xdf, 0xd8.
그들은 덤프에 느낌표가 표시됩니다.
0xD8을 작성한 후 장치가 펌웨어로 부팅되고 (이전의 모든 항목이 필요합니다) 다시 TE-Boot를 입력하려면 COM 버튼을 누른 상태로 유지해야합니다. 아마도 0x10-0x12에는 펌웨어를위한 코드가 포함되어 있으며 펌웨어로 장치를 부팅하려면 0xD0-0XD3이 포함되어 있습니다. 0xDF는 OTP 레코드를 검증하기 위해 확인되었습니다. 나머지 OTP 페이지 데이터는 프로세서에 대한 공장 데이터입니다.
연구를 위해 내 OP -1 IDA Pro 프로젝트를 원한다면 문의하십시오.
무릎 및 보드 분석에서 수많은 칩을 다시 해결하기위한 Nanak0n aka viktor89
기기 및 BlackFin 도구 건물에 대한 도움말 및 이전 실험, OTP 덤프 읽기를위한 Tabascoeye
Igor and Sergey- BGA63의 프로그래머와 함께
CPU 하드웨어에 대한 많은 데이터가 포함되어 있습니다 : OTP 및 기타.
Blackfin ASM 세부 사항이 포함되어 있습니다.
OP -1 플래시 데이터 시트 -Micron 2, 4, 8GB : X8/X16 멀티 플렉스 NAND 플래시 메모리 기능
Micron TN-29-08 : NAND 플래시 메모리 장치의 해밍 코드 개요
Micron TN-29-63 : SLC NAND 소개의 오류 수정 코드 (ECC)
OP-1 RAM 데이터 시트 -ISSI 42-45SM-RM-VM16320E
op1repacker
Blackfin Ida Pro 플러그인