مصباح علاء الدين
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

لكل من يريد ان يصبح خبيرا و يعرف خبايا و اسرار الريسيفر...الجزأ الثاني

اذهب الى الأسفل

لكل من يريد ان يصبح خبيرا و يعرف خبايا و اسرار الريسيفر...الجزأ الثاني Empty لكل من يريد ان يصبح خبيرا و يعرف خبايا و اسرار الريسيفر...الجزأ الثاني

مُساهمة  المدير العام للمنتدى الثلاثاء يونيو 03, 2008 10:28 am

الى كل الأخوة الذين تابعوا الجزع الأول من الموضوع، ساحاول ان اشرح اليوم ماهو الفلاش ميموري، فقبل الخوض في التطبيق، يجب قبلا اخذ فكرة عن كيفية عمل هذا المكون المهم من اجهزة الريسيفر، و رغم ان الأمر يبدو صعبا في البداية ، الا انه مهم جدا و خاصة للذين لم يسمعوا من قبل عن برمجة الفلاشات..
•الفلاش ميموري عبارة عن وحدة تخوين دائمة ذات حجم محدد من مضاعفات الرقم 2 لها بداية عنوان وهو 000000h ينتهي بعنوان معين حسب الحجم فمثلا لدينا هذه الفلاشة M29W160ET كما ذكرنا مسبق هــــي عبارة عن 2 ميجا بايت أو 2097152 Bytesويكون النهاية هي 1FFFFF وهذا مهم جدا لأننا سوف نحتاج فيما بعد بتعديل ملف الـ Jkeys.def ووضع فلاشة جديدة لم تكن معرفة لدينا من قبل أو هي حديثة في أجهزة الريسيفر ويمتاز هذا البرنامج عن غير من برامج المبرمجات الخارجية التي تتطلب انتظار نسخة احدث مدعمة بهذه الفلاشة الجديدة ولكننا هنا يمكن إضافتها مباشرة ونتعامل معها بصورة عادية جدا.
•يدل الحرف M علي الشـــركــــة المصنعـــة وهي ST micro والرقم 29 علي سلسلة من الفلاش أما الرقم 160 يدل علي السعة والحرف E يدل علي إصدار معين من الفلاش أما الحرف T فيدل علي Top boot block أي أن منطقة البوت في أعلي الفلاش ميموري وهذا مهم جدا فمثلا لدينا أيضا من هذه الفلاشة M29W160EB نلاحظ التغيير الوحيد في الحرف B وهو يرمز إلى Bottom أي أن منطقة البوت في الجزء الأسفل من الفلاش ولا يجوز تركيب الفلاشة الثانية مكان الأولى أو العكس وإلا فلن يعمل الريسيفر بسبب عدم الوصول إلى منطقة البوت .
•لدينا الآن ملف datasheet لهذه الفلاشة وهذا كمثال عام يهمنا ان نستخلص منه الآتي:
1-لكل فلاش ميموري رقم يسمي Device code وفي هذه الحالة هو 22C4 للفلاشة الأولى ويوجد أيضا كود الشركة المصنعة وهو 20h وهذا يميز كل فلاشة عن أي فلاشة أخرى لدي البرنامج ويتم التعرف عليها بصورة صحيحة.
2-نلقي نظرة على الصورة المرفقة

وهي توضح تركيب الفلاش الداخلي وهو أشبه بمستطيل تم تقسيمه إلى عدة شرائح أو Blocks وهي عبارة عن 2×64 ك من الأسفل في حالة البوت العلوي أو الـ Top Boot ولاحظوا انه معكوس وهذا صحيح ففي العد يكون الصفر هو البداية أو الأعلى وتكون منطقة البوت عبارة عن 128 ك بايت ويكون مجموع البلوكات ذات السعة 64 هي 31 بلوك تبدأ من 00000 ولدينا بعد ذلك 1 بلوك بحجم 32 ك. بايت تبدأ من 1F0000 و 2 بلوك بحجم 8 ك. بايت يبدأ الأول منها عند 1F8000 والثاني يببدأ من 1FA000 وأخيراً 1 بلوك بحجم 16ك. بايت يبدأ من العنوان 1FC000.
3-ألان يمكن أن نتخيل الشكل الداخلي للفلاش ميموري ويمكن أيضا معرفة أي تنظيم لأي فلاشة مثل الفلاشة الحالية موضوع الشرح عن طريق النظر في ملف الـ Datasheet للفلاشة المراد معرفة التنظيم الداخلي لها ويمكنكم أن تجدوا ملفات الـ Datasheet علي الرابط التالي :
http://www.datasheetarchive.com/
يفيدنا ما سبق شرحة عن الفلاش ميموري معرفة أين يوضع البوت أو اللودر في الفلاش ميموري وكيفية تحديثه ويفيد بصورة مهمة في إضافة التعريف في ملف الـJkeys.DEF واليكم المثال التالي لإضافة الفلاشة موضوع الشرح :
1-قم بفتح الملف السابق بواسطة المفكرة واذهب الي الفلاش رقم 28ولاحظوا معي كيف تم إضافة هذه الفلاشة:
Flash, 28, "M29W160ET", 0x22C4, 0x200000, 1, 1, 0, 1, 35, 1
Sector, 28, 31,0x0 , 0x10000 // 64 KByte 31 sectors
Sector, 28, 1, 0x1F0000, 0x8000 // 32 KByte 1 sector
Sector, 28, 1, 0x1F8000, 0x2000 // 8 KByte 1 sector
Sector, 28, 1, 0x1FA000, 0x2000 // 8 KByte 1 sector
Sector, 28, 1, 0x1FC000, 0x4000 // 16 KByte 1 sector
واليكم الشرح:
تدل كلمة flash علي ان التعريف سيكون لفلاش ميموري والرقم 28 يدل علي ترتيب الفلاشة في الملف وتم كتابة رقم الفلاشة داخل علامة التنصيص " M29W160ET " وهذا سوف يظهر في البرنامج ثم بعد ذلك يكتب كود الفلاشة 0x22C4 وبعد ذلك نكتب سعة الفلاشة 0x200000 وكما ذكرنا من قبل فالرقم 200000 يدل علي حجم الفلاش وهو 2 ميجا ثم الرقم 1 يدل علي 8 بت في نقل البيانات والرقم التالي 1 يدل علي 16 بت في نقل البيانات أيضا والرقم 0 التالي يدل علي عدم إمكانية 32 بت في نقل البيانات والرقم 1 التالي يستخدم في حالة الفلاشات التي تبدأ بـ 29 أو 39 أو 49 وفي حالة الفلاشات التي تبدأ بـ 28 مثل INTEL يكتب الرقم 2 اما الرقم 35 فهو عدد البلوكات الموجودة في الفلاش ميموري وقد ذكرنا أهمية ذلك من قبل هذا موضح في الصورة السابقة أما الرقم 1 الأخير يحدد مسح الفلاش بلوك تلو الاخر ام لا .
ملحوظة:
معظم الارقام بعد الرقم 200000 ثابتة بخلاف الرقم الدال علي 29-39-49 في الفلاش ميموري والرقم الذي يدل علي عدد البلوكات أو بمسمي اخر القطاعات أو Sectors يتغير تبعا للتنظيم الداخلي للفلاش ميموري .
-بعد ذلك يكتب التنظيم الداخلي للفلاش ونبدأ من اسفل الي اعلي ونكتب عدد القطاعات أو البلوكات بالترتيب ثم نكتب فقط بداية العنوان Start Address وحجم القطاع اما الكتابة بعد العلامة // فهي غير مهمة في البرنامج وانما كتبتها لمعرفة الحجم الدال علي الرقم الاخير بالـ ك. بايت .
-واليكم مثال اضافة فلاشة جديدة للرقم M29w160EB:
Flash, 29, "M29W160EB", 0x2249, 0x200000, 1, 1, 0, 1, 35, 1
Sector, 29, 1, 0x0 , 0x4000 // 16 KByte 1 sector
Sector, 29, 1, 0x4000 , 0x2000 // 8 KByte 1 sector
Sector, 29, 1, 0x6000 , 0x2000 // 8 KByte 1 sector
Sector, 29, 1, 0x8000 , 0x8000 // 32 KByte 1 sector
Sector, 29, 1, 0x10000 , 0x10000 // 64 KByte 31 sectors
وهكذا بكل بساطة يمكن إضافة أي فلاشة لديكم في ملف Jkeys.def الذي يجب ان يتواجد مع برنامج Jkeys.
في الموضوع التالي ستجدون طريقة صنع مبرمجة الجيتاج باقل التكاليف و كذا شرحا لكيفية برمجة بعض الفلاشات....
المدير العام للمنتدى
المدير العام للمنتدى
Admin

عدد الرسائل : 201
العمر : 36
الموقع : https://msbaah.yoo7.com
تاريخ التسجيل : 09/02/2008

https://msbaah.yoo7.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى