สร้าง firmware  

เอก เลาหะวัฒนะ , Add comments

ขั้นตอนที่ 1 แยกส่วน GUPDATE.GCD ออกเป้น 2 ส่วน boot.bin และ fw_all.bin

ไฟล์ GUPDATE.GCD ข้างในมี 2 ส่วน boot กับ fw

ใช้โปรแกรม unp2.exe แตกทีละส่วน ด้วยคำสั่ง

unp2 offset check fileIn fileOut

วิธีหา offset ของ boot ใช้ hex editor หาค่า hex ของ 08 00 00 FF จากต้นไฟล์ (เน้นนะ จากต้นไฟล์) ของ GUPDATE.GCD จะพบว่าทุกไฟล์จะอยู่ที่ตำแหน่ง 1021 (hex) เสมอ คำสั่งจึงเป็น
C:>unp2.exe 1021 0008 GUPDATE.GCD boot.bin

วิธีหา offset ของ fw ใช้ hex editor หาค่า hex ของ BD 02 00 FF จากต้นไฟล์ (เน้นนะ จากต้นไฟล์) ของ GUPDATE.GCD แล้วเอาตำแหน่งที่ค้นได้ใส่ลงไป จาก GUPDATE.GCD ของ Nuvi 255W TWN v2.70

จะได้ค่าเป็น 8726B (ดูรูปที่แนบ) คำสั่งจึงเป็น
C:>unp2.exe 8726B 02BD GUPDATE.GCD fw_all.bin

ขั้นตอนที่ 2 แก้ไข boot.bin และ/หรือ fw_all.bin (ถ้าไม่มีการแก้ไข ก็ให้ข้ามขั้นตอนนี้)

ในกรณีที่ทำภาษาไทย หรือ จะสร้าง Service firmware จะต้องมีการแก้ไขบางส่วนใน boot.bin และ/หรือ fw_all.bin
ถ้ามีการแก้ไข fw_all.bin จะต้องมีการแก้ใข checksum ด้วย (byte สุดท้ายของไฟล์)

ขั้นตอนที่ 3 รวม boot.bin และ fw_all.bin เป็น out.RGN

ใช้โปรแกรม merge105.exe ด้วยคำสั่ง
C:>merge105.exe boot.bin fw_all.bin out.rgn

ท่านก็จะได้ out.RGN ตามต้องการ

0 ความคิดเห็น

Post a Comment