حل مشكلة Boundary Check Failed في برنامج SP Flash Tool

مرحبا بكم, في هذا الشرح المختصر سأتحدث عن كيفية حل مشكلة رسالة الخطأ "Boundary Check Failed" التي يمكن أن تظهر في برنامج SP Flash Tool عند اختيار ملف Scatter.
قمت بأخذ Backup لتابلت Vega Tab 4G باستخدام Miracle Box وعندما قمت بتجربة الفلاشة على SP Flash Tool ظهرت لي رسالة الخطأ التالية:
ملف الscatter يحتوي على أسماء التقسيمات الموجودة في الهاتف بداية من الPreloader ووصولا الى أخر تقسيمة. جميع التقسيمات تمتلك عناوين بداية (Physical Start Address) تتابُعية ان صح التعبير حيث يكون عنوان نهاية ( Physical End Address) تقسيمة ما هو نفسه عنوان بداية التقيسمة التالية وهكذا دواليك بحيث تحتل كل تقيسمة مساحة فريدة ومحددة من الذاكرة.
 كما هو الحال مع أي ذاكرة, تخزين البيانات يحتاج الى نمط معين. في أجهزة mtk يتم تحديد النمط حسب اصدار المعالج فملا نجد أنّ أي جهاز يعمل بمعالج MT6582 يستخدم نمط MBR (اختصار لMaster Boot Record) لتخزين البايانات ويمكن التأكد من ذلك عن طريق ملف الscatter والذي يحتوي على تقيسمة تسمى MBR.
ملاحظة: بالنسبة للمعالجات القديمة يتم الاعتماد على Linear Start Address لتحديد عنوان البداية الخاص بالتقسيمة.
أما بالنسبة للأجهزة التي تعمل بمعالجات أحدث مثل MT6735 نجد أنها تستخدم نمط GPT (اختصار لGuid Partition Table) لتخزين البيانات. يمكنك أن تلاحظ وجود تقسيمة PGPT في ملف الscatter.
ملاحظة: في المعالجات الأحدث نُلاحظ أن كل من Linear Start Address و Physical Start Address تمتلكان نفس القيمة.
ما هو سبب ظهور رسالة الخطأ في برنامج SP Flash Tool؟
في الأجهزة التي تستخدم نمط MBR, أول تقسيمة  يجب أن تكون الpreloader وأن تمتلك عنوان البداية الأتي 0x0, وتقسيمة MBR يجب أن تبدأ من نفس عنوان نهاية التقسيمة الأولى وبهذا كل تقسيمة تحتل مساحة محددة من الذاكرة وهذا ما قمت بذكره في أول الشرح.
اما في الأجهزة التي تستخدم نمط GPT يجب أن تكون PGPT (اختصار لpartition GPT وهي تقسيمة تحتوي على المعلومات والخصائص المتعلقة بGPT) تمتلك نفس عنوان البداية 0x0 الخاص بالpreloader.
قامت شركة Mediatek بانشاء اصدارين مختلفين من الscatter :
-الاصدار القديم > config_version:1.1.1 وهو خاص بالأجهزة القديمة التي تستخدم نمط MBR.
-الاصدار الحديث > config_version:1.1.2 وهو خاص بالجهزة الحديثة التي تستخدم نمط GPT.
لذلك يجب أن يحتوي ملف الscatter على الconfig_version المناسبة والا فلن يقبل الSP Flash Tool الفلاشة وسيظهر لنا خطأ Boundary Check failed. وهذا ما حدث مع الmiracle box, فبالرغم من أن الجهاز يستخدم نمط GPT الا أنه تم تحديد الconfig_version على أنها اصدار 1.1.1.
فالحل هنا هو التعديل على ملف الscatter بتغيير الconfig_version من 1.1.1 الى 1.1.2. يمكنك استخدام برنامج ++Notepad.
وستجد الأن أن الSP Flash Tool يتعرف على الفلاشة بصفة عادية ولا يُظهر أي خطأ.
بهذا أصل الى نهاية الشرح, أرجو أن تكونوا قد حققتم الافادة.
ألتقي بكم في شرح أخر ان شاء الله.

التعليقات ()

سياسة التعليق:
  • الرجاء الالتزام بالتعليق على كل موضوع في قسم التعليقات الخاص به.
  • لن تظهر التعليقات التي تحتوي على روابط خارجية الا بعد أن تتمّ الموافقة عليها من قبل ادارة الموقع.