ยูทิลิตี้ที่มีประโยชน์ขนาดเล็กเพื่อทำงานกับแฟลชและ CPU OTP ที่ได้รับสำหรับการซ่อมแซม TE OP-1
ADSP_ECC.PY - สคริปต์ที่มีการใช้งานการคำนวณ ECC สำหรับ FLASH ซึ่งนำไปใช้ใน OP -1
write_data_without_ecc.py - แยกข้อมูลจากการถ่ายโอนข้อมูลโดยไม่ต้องใช้ ECC
add_ecc_to_data.py - แทรก ECC ในข้อมูลจากการถ่ายโอนข้อมูล (หลังจากการเปลี่ยนแปลงข้อมูลจากสคริปต์ก่อนหน้า)
check_fw.py - ตรวจสอบ ECC ใน Dump
fix_fw_ecc.py - แก้ไข ECC ในการถ่ายโอนข้อมูลหลังจากการเปลี่ยนแปลง
find_files_offset_in_dump.py - มองหารายการไฟล์จากเฟิร์มแวร์ลงในการถ่ายโอนข้อมูล
MT29F4G08 OP -1 Flash.BT - 010 ไฟล์เทมเพลตตัวแก้ไขสำหรับการถ่ายโอนข้อมูลแฟลช
TE-OP1-board-board-pins.jpg-ภาพถ่ายด้านล่างของบอร์ดด้วยขา CPU ที่เกี่ยวข้อง
TE-OP-1-BF524-OTP-dump.txt-OTP Little-Endian Dump ควรเขียนลงในโปรเซสเซอร์ Blackfin BF524 ที่ว่างเปล่าเพื่อกู้คืนอุปกรณ์บูตอุปกรณ์
TE-OP-1-FLASH-DUMP-FW241- BOOT-OK-OK-FORMATED-FW-MT29F4G08ABBDA@BGA63_2131.BIN.ZIP-แฟลชกระแทกกับ BOOT V2.27
นี่คือไฟล์ TE-Boot ที่ได้รับการแก้ไขเพื่ออ่านและเขียนหน้าไปยังหน่วยความจำ OP-1 OTP: te-boot-otp-ops-2.28-10.ldr ใช้ OP1Repacker เพื่อสร้างแพ็คเกจเฟิร์มแวร์ OP1 เพื่อเขียนจาก TE-BOOT จากนั้นป้อนไปที่ TE-BOOT (กดปุ่ม COM ในระหว่างการบูต) และกด 7 เพื่ออ่านหน่วยความจำ OTP (เร็วมากใช้กล้องสโลว์โมชั่นเพื่ออ่าน) หรือเชื่อมต่อ 7V กับ VPPOTP และกด 2 เพื่อเขียน กดปุ่ม 2 หลายครั้งจนกว่าเมนูจะถูกวาดใหม่ (จะไม่เลวร้ายไปกว่านี้) คุณต้องเขียนหน้าทีละหน้า (รวมประมาณ 12 หน้า) โดยทำการเปลี่ยนแปลงไฟล์นี้ตามที่อยู่ต่อไปนี้:
0x2d4d0-0x2d4df มีข้อมูล OTP ที่จะเขียน (Little-Endian)
0xa642 - มีหน้า OTP ที่จะเขียน
โปรดทราบว่าระบบใช้ 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 - เพียงแค่เปลี่ยน 4 เหตุการณ์ที่เกิดขึ้นของเวอร์ชันปัจจุบันใน TE -Boot อย่าลองใช้กับ TE-Boot <2 เวอร์ชันคุณจะได้รับอิฐ! เฉพาะโปรแกรมเมอร์แฟลชเท่านั้นที่จะกู้คืนอุปกรณ์ของคุณหลังจากนั้น
สำหรับการบูตที่ถูกต้องหน้าเหล่านี้จะต้องเขียนใน 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 สำหรับชิปนับไม่ถ้วนอีกครั้งในการวิเคราะห์หัวเข่าและบอร์ด
Tabascoeye เพื่อขอความช่วยเหลือและการทดลองก่อนหน้านี้ด้วยอุปกรณ์และการสร้างเครื่องมือ Blackfin
Igor and Sergey - พวกกับโปรแกรมเมอร์สำหรับ BGA63
มีข้อมูลจำนวนมากเกี่ยวกับฮาร์ดแวร์ CPU: OTP และอื่น ๆ
มีรายละเอียด blackfin asm
OP -1 Flash Datasheet - Micron 2, 4, 8GB: X8/X16 Multiplexed Nand Flash Memory คุณสมบัติ
MICRON TN-29-08: รหัส HAMMING สำหรับภาพรวมอุปกรณ์หน่วยความจำ NAND Flash
Micron TN-29-63: รหัสแก้ไขข้อผิดพลาด (ECC) ในบทนำ SLC NAND
OP-1 RAM Datasheet-ISSI 42-45SM-RM-VM16320E
op1repacker
ปลั๊กอิน Blackfin IDA Pro