: المستوى الاول تاسيسي
عبارة عن فيديوهات و دروس مجانية تاسيسية بمفاهيم السوفت وير والهارد وير والذواكر
الرجوع الى مفاهيم الاساسيات عبارة عن سلسلة دروس مجانية تاسيسية
1الرجوع الى مفاهيم الاساسيات عبارة عن سلسلة دروس مجانية تاسيسية
1.1 الرجوع الى مفاهيم الأساسيات سوفت وير
2.1 الرجوع الى مفاهيم الاساسيات هاردوير
مقدمة عن jtag و isp و emmc direct والفرق بينهما عبارة عن دروس مجانية تاسيسية .
مما تتكون من قطاعات داخلية UFS , EMMC وفي هذا المستوى نتمكن من معرفة انواع الذواكر الداخلية (بشكل كامل رقم , موديل)
. تعريفات وتنصيب وخصائص الواجهات EASYJTAG التعامل مع بوكس
المستوى الثاني والثالث والرابع والخامس والسادس
عبارة عن محاضرات مدفوعة يمكنك احتراف شغل الذواكر الداخلية emmc , ufs والبرمجة بشكل سلس وبسيط
نشأة jtag قبل وجود الموبايل كان يستخدم لفحص وتجريب القطع الاكترونية بعد التصنيع وكل قطعة الكترونية تحتوي معالج و ذاكرة وبور
لها جيتاغ
فماهو jtag"Joint Test Action group" هي معيار صناعي للتحقق من التصميمات واختبار بورد الدوائر المطبوعة بعد التصنيع هذا التعريف العام
اما مفهومها باجهزة الموبايل المحمول:
هي عبارة عن عدة نقاط تكون موجودة على البورد تهدف الى تنزيل frimware الى الذواكر و ايضا تساعد بتصحيح الذواكر جراء تنزيل frimware خطا وقد اوجدتدها الشركات لحل سريع لبعض المشاكل المتعلة بالسوفت ويرالخاطئ
كيف تطورت بهذه السرعة ولماذا تم إدخالها بعالم موبايل اول من طرح فكره jtag على الموبايل هي شركة الفلندية nokia عن طريق نقاط موجودة على البورد وكانت تسمى ب Fbus هي عبارة عن نقاط Tx Rx و خط Mbus وخط تغذية vpp كانت هنالك تشابه كبيير بينها وبين jtag لكن الاختلاف بالتسميات فقط
لكن الطريقة مشتركة بينها وبين jtag ولكن بالنسبة لل jtag دوما يوجد IEEE,1149.1 Standard ثابتة لاتتغير بتغير الزمن والوقت ولكن يتم الاشتقاق منها لدواعي التطور ونقاط jtag تدعى ب:
Tdi : test data in (TX) يقابل بالنوكيا خط
Tdo : test data out (RX) يقابل بالنوكيا خط
TCK: test clock خط تزامن
Tms : test mode select
Trst : test rest
Nrst :
Verf :
بعد انتهاء عصر النوكيا وجيل السمبين ظهرت اجهزة smart phone التي تعمل بنظام تشغيل وندوز وبعدها لينوكس وبعدها اندرويد
وكان السوق يحتاج لبوكس يدعم jtag بشكل مستقر وظهرب بوكس Riff box كأول بوكس تدعم jtag بشكل سلس وسهل ومستقر
لكن كان jtag يحتاج الى توفر ثلاث اشياء اساسية :
معالج سليم ذاكرة سليمة تغذية مستقرة السبب لان jtag يتواصل مع المعالج ثم المعالج يسمح له بالدخول على الذاكرة لتتم عندها العمليات التالية مسح للذاكرة كتابة ملفات boot او كتابة ملفات modem لفتح الشبكات او كتابة ملفات efs للاجهزة فاقدة efs مثل جهاز
Gt-i9000 و Gt-i9100 وغيرها من الاجهزة الداعمة (للجيتاغ )
بعد فتره من الوقت بعام 2014 تداركت الشركات المصنعة samsung htc sony لخطورة jtag فتم ارسال تحديثات هوائة للاجهزة Ota update فتم سد jtag باكواد خاصة تضعها الشركة واصبحت الاجهزة بعد التحدث من نمط disable jtagعلى نظام تشغيل اندوريد 4.2.2 اي يمكنك توصيل خطوط jtag ولكن عندنا تعطي اي امر يتعرف البوكس على المعالج لكن لاتستطيع الدخول الى الذاكرة للكتابة والتعديل وهنا كانت نهاية لبداية رحلة جدية من عالم jtag
بعد عام ونصف من توقف jtag بدات بعض الاعطال الجديدة بالظهور كجهاز i9300 عطل no product name
emmc lose cid او بما يمسى خسارة اسم الذاكرة طبعا شركة ساسونغ اعترفت بعطل برمجي بذواكرها وتمت تسميته
ب Sudden Death Syndrome
طبعا هنا خرج فريق easy jtag عن صمتهم وطرحوا مشروع سموه isp in system program
هو نظام برمجة الذاكرة دون الحاجة للوصل للمعالج كما عهدناه سابقا بمنظومة الجيتاغ وهو مشتق من jtag لان كان البوكس بذالك الوقت فقط يدعم جيتاغ فتم تحويل خطوط الجيتاغ لخطوط تتعامل مع الذواكر الداخلية بشكل مباشر
وكانت الخطوط الازمة للبرمجة هي:
Tdi = dat0
Trst = clk
Vref = cmd
بالاضافة لخطوط تغذية
Vcc 1.8
Vccq 2.8
طريقة الوصل كانت بدائية وصعبة عن طريق كبل jtag نحدد خطوط tdi و trst و vref ونوصلهم الى نقاط المشار لها بالبورد او الذاكرة وبعدها توصيل تغذية من ٢ بور سبلاي لتامين الجهد المناسب لها (vccq 1.8 , 2.8 vcc) ولكن كان لهاعدة مشاكل من ضمنها سرعة النقل والتوصيل غير مستقر
جدول مقارنة بين JTAG و ISP
Jtag ( joint test action group ) |
ISP ( in system programming ) |
· تحتاج CPU + PMU + NAND |
· يحتاج فقط EMMC , UFS |
· من اصدار 4.1.2 وما قبله |
· من اصدار 4.2.2 و اعلى |
· Battery ( فولت ثابت ) |
· VCC( nand) – VCCQ ( controller ) |
· Vref – Trst – Tdi – Nrst – Tms – Tdo |
· CMD – CLK – DAT0 |
بعد عام من التطور ظهر adapter من فريق gpg يتم عن طريقة توصيل خطوط isp بدون ٢ بور سبلاي عن طريق تصميم بورد نوصل بها cmd dat0 clk ويوجد بها منظمات للجهد لتامين vcc و vccq عن طريق تغذية خارجية 5V DC وايضا كان هنالك مشاكل من ناحيه السرعه بالقرائة والكتابة لان نظام ISPيستخدم نمط 1 Bit بسبب استخدام خط Dat0 واحد فقط
بعد نصف عام ظهر على الساحة فريق صيني اسمه moorc
طرح اول ادبتر مشتق من isp ولكن اصبح اسمه direct emmc يحتاج لفك الذاكرة او اذا كان يوجد ذاكرة جديدة الحلول الذي قدمها دعم لجميع المبرمجات
(ufi ,easyjtag ,atf ,medusa,Riff2)
وايضا اول من طرح فكرة القرائة والكتابة
بنمط 8 Bit باستخدام كل خطوط dat0 , dat1 , dat2 , dat3 , dat4 , dat5 , dat6 , dat7 لمنطقة وuserdata وكانت تصل السرعات من 10 MBit/s الى 30 MBit/s على حسب نوع Speed MMCوهنا كانت بداية التطور بعالم emmc
انتظروا المزيد من السلسة التاسيسية قريبا
معرفة انواع الذواكر رقم موديل مما تكون emmc,ufsمن قطاعات داخلية
لكل شي نعمل عليه يحتاج لخطة عمل او مخطط نرسمه لكي نمشي عليه حتى اذا اردت الذهاب الى السوق
تحتاج لتعرف ماتريد من احتياجات وتسلك طريقك
كل هذه المعلومات تحتاج لحفظها وتذكرها لاسترجاععها يقوم الانسان بحفظها في ذاكرته
وكذلك حواسيبنا واجهزتنا المحمولة تحتاج لذاكرة لوضع خطة معينة يرسمها ويعدها الانسان لكي تمشي عليها
كيف ذلك وكيف تتم العملية نبدأ من هنا
الذاكرة مكان لوضع معلومات فيها تختلف اشكالها وتختلف انواعها وتختلف مسمياتها حسب تطورها وصناعتها وخصائصها
الذاكرة أنواع كثيرة وهي عادة تكون نوعين إما داخلية ولها انواع أو خارجية ولها انواع أيضا
وعادة الذاكرة الخارجية هي نفسها الداخلية لكن يتم تغير التعاطي مع المخرج مثلا وضعه USB
النوع المستخدم في أغلب الحواسيب هو SATAوآخر نسخة حاليا هي SATA III ويوجد منه تقنيتين مشهورتين وهما SSD و HDD
النوع المستخدم في الهواتف هو MMC وتحديدا هوeMMC
Multi Media Card تعني بطاقة الوسائط المتعددة
النسخة 5.0 وصلت سرعتها 400 ميقا بايت بالثانية أي أصبحت تنافس ال SSD
لكن أعلى حجم لها وصل 128GB وسرعها مرتفع
تتميز بحجم صغير جدا يناسب الهواتف
تعني الذاكرة المضمنه وهي عبارة عن ذاكرة الوسائط الغير متجزئة (مثل اي هارد درايف اوكرت ذاكرة)
يمكن ان تنسخ عليه بيانات او تجعله نظام اقلاعي وتاتي ضمن معمارية معينة وسرعات خاصة من اجل تخاطب سريع مع الجهاز االمضيف
embedded MultiMediaCard chip package: emcp تعني الذاكرة المضمنة وهي ذاكره تشبه emmc
لحد كبير لكن مع اضافه للchip package وهي عبارة عن ذاكرة افتراضية تسمى ب LPDDR وهي ذاكرة موقتة
للتخزين تشابه RAM وتم اضافتها بسب زيادة الحمل الذي يبذله المعالج وبالتالي يسبب بطئ وبعد
اضافة chip package تم حل المشكلة والتي تدعى ب (عنق الزجاجة).
مماتتكون ذاكرة EMMC وماهي الانواع والموديلات الموجود ليومنا الحالي
يوجد الكثير من اشكال وانواع ذواكر EMMC ولكن سنذكر اهم الذاوكر الموجودة ضمن الاجهزه الحالية
النوع الاول يدعى ب (BGA-169) (153-BGA )وهو النوع الاشهر بين الذواكر وهذا النوع
من نوع EMMC وله سرعه قرائة وكتابة ويشار له بهذه القيمة
EMMC version 4.41 READ:25.3MB/S WRITE:19.6MB/S
السرعات المتاحة لهذه الذواكر كقرائة وكتابة
EMMC version 4.5 READ:25.9MB/S WRITE:30.2MB/S[/SIZE]
هنالك نوعين من الوصل للتخاطب مع الذاكرة الداخلية النوع الاول يدعى ب ISP النوع الثاني يدعى ب Direct EMMC
In-System Programming:ISP وهو وضع وجد للوصول للذاكرة بدون فك الذاكرة
ويمكن التخاطب مع الذاكرة عن طريق 6 خطوط وهمCMD.DATA0.CLK.VCC.VCCQ.GND
وهذه الخطوط موصوله على مقاومات ومكثفات(CMD.CLK.DAT0مقاومة) (VCC.VCCQL)
مثل ماذكر بالصورة السابقة الارجل المهمة لقرائة الهارد
Direct EMMC: هذا النوع هو النوع الاحترافي للوصل حيث يتم فك الذاكرة بشكل كامل ووضعها
على المبرمجة وهنا يمكنك ان تصل نوعين من الوصل وصلCMD.DATA0.CLK.VCC.VCCQ.GND) ISP )
النوع الاخر من الوصل هو النوع الاسرع ويتم فيه استخدام كامل النقاط المسؤولة
عن نقل البيانات بسرعة عالية طبعا على حسب سرعة الذاكرة ورقم اصدارها
النوع الثاني من الهاردات يدعى ب (186-BGA-168|BGA 162-BGA)
هذا الموديل يوجد منه نوعين موديل من فئةEMMC وموديل مطور من فئة EMCP 'طبعا الفرق بين الاثنين هي EMCP RAM LPDDR
بعض الموديلات التي تحتوي LPDDR
Density Combination Part number Package size
LPDDR1based
eMMC 4GB + LPDDR1 4Gb KMS5U000KM-B308 153B
eMMC 4GB + LPDDR1 6Gb KMJ5U000WA-B409 153B
eMMC 4GB + LPDDR1 8Gb KML5U000HM-B505 153B
LPDDR 2 based
eMMC 4GB + LPDDR2 4Gb(x16 bit) KMN5U000FM-B203 162B
eMMC 4GB + LPDDR2 4Gb(x32 bit) KMN5U000ZM-B203 162B
eMMC 4GB + LPDDR2 8Gb(x32 bit) KMK5U000VM-B309 162B
------------------------------------------------------------------------------
سرعة القرائة تتراوح بين
EMMC version 4.41 READ:25.3MB/S WRITE:19.6MB/S
-----------------------------------------------------------------------------
النوع الثالث من الهاردات 221-BGA
هذا الموديل من فئة emcp المطورة من الفئة الخامسة سرعات قرائة وكتابة عالية من نوع (rev 1.7 (MMC 5.0
EMMC version 5.0 READ:30 MB/S WRITE:27 MB/S
: emcp ماهي البنية المعمارية لذاكرة
وصلنا معكم عن بنية EMCP انا دخلت ببنية EMCP ولم ادخل ببنية emmc لانهم متشابهين ولان EMCP اشمل والفرق هي بارتشن LPDDR )RAM)
كل الكلام الذي سوف يذكر هو كلام موثق وممنهج وموثق بمصادر من شركات متعددة لتصنيع الذواكر EMMC ومراجع علمية متخصصة بال EMMC
وبنهاية الشروحات سوف اذكر المصادر والمراجع العلمية بالتفصيل.
نتابع
ماهي البنية المعمارية لذاكرة emcp
ماهي ذاكرة emmc ؟ ومما تتكون وكيف تعطل وماهي قيمة السحب الخاص فيها على البور سبلاي
هذه الصورة هي بنية الهارد من الداخل طبعا الكل يعرف ان ذاكرة emmc تكون مربعة الشكل لونها اسود تحتوي ذاكرة هذا المفهوم السائد ..
هذا الهارد من الشكل الخارجي لايوحي باي شيى
لكن الهارد من الداخل هو عبارة عن عدة قطع ميكروسكوبية ثلاث من هذه القطع ذواكر تسمى هذه الذواكر ب
(LPDDR-NAND FLASH- NAND INTERFACE ) كل ذاكرة لها دورها الخاص منفصلة عن بعضها البعض بالمهام وقطعة صغيرة مصغره عن POWER IC تدعى ب (PMU (POWER MANGEMENT UNET وحدة ادارة الطاقة وتغلف هذه القطع مادة الفحم السوداء للحفاظ على القطع من الكسر ومن الرطوبة وتكون قاعدة لارتكاز الارجل وتساعد بحماية القطع من التلف عند التعرض للحرارة اثناء التركيب
ماهو دور الذواكر الثلاث؟
1-LPDDR : وهي ذاكرة الوصول العشوائي RAM لايمكن الوصول لها او التعديل عليها تساعد ب تسريع عمليه معالجه البيانات مع المعالج وبالتالي تسريع الاداء وتحتاج أي انواع معينة من المعالجات للوصل اليها واذا لم يتوفر هذا النوع من المعالج القادر للوصل لها اصبحت ذاكرة EMMC وهناك انواع معالجات لايمكنها العمل من دونها.
- NAND FLASH وهي ذاكرة تنقسم الى ذاكرتين كل ذاكرة منفصلة عن الذاكرة الاخرى ضمن ذاكرة واحدة تدعي ب MMCBLK0 هي الذاكرة الكلية
2-1 BOOT partition : هو قطاع من الذاكرة يحتوي على عدة قطاعات اسماء القطاعات BOOT1-BOOT2-PRMP :BOOT2+BOOT1 هوقطاع يحتوي ملفات من الشركة المصنعة مسؤولة عن اقلاع الجهاز تتراوح مساحته من 128K الى 8MB تخصم المساحة من المساحة الكلية للذاكرة لكن اكبر ملف بوت ليومنا الحالي هو 4 MB BOOT1 BOOT2 لايوجد فرق بينهما بالقاعدة العامة لكن في الوقت الحالي يوجد 8 معالجات MTK- EXYNOS- spreadtrum- qualcomm-INTEL- NVIDIA- BROADCOM-ARM COTEX
كل معالج له طريقته الخاصه للاقلاع لذلك يوجد قاعدة لكل معالج يجب معرفتها لان هذا هو السر الذي يجهله البعض نحن نتعامل مع معالج وليس مع جهاز شاشة وتتش وماركة الاصل هو معرفه المعالج وبعد ذلك هي قاعدة واحدة للكل يختلف فيها فقط ملف البوت وشعار الشركة LOGO
PRMP:هوقطاع لايمكن التعديل عليه يحتوي على مفاتيح الكفالة من الشركة وملفات الحماية الرقمية DRM
2-2 PARTITION USER DATA : هو قطاع يتم تخزين فيه الببانات الشخصية ينقسم الى عدة اقسام
SYSTEM : يحنوي ملفات نظام التشغيل
BOOT : يحتوي لوغو الاقلاع
MODEM : ملف مسؤول عن IMEI وظائف الشبكة كاملة
EFS: هو ملف مسؤول IMEI ,ملفات اخرى لمعايرة الجهاز
لكن تم احداث قطاع جديد داخل الذاكرة الكلية PARTITION USER DATA سمي ب GP1 HW
ماهو GRP HW ؟
هي بارتشن مخصصة لنوعين من المعالجات - NVIDIA-INTEL وليس لها مساحة محدوة وتخصم من حجم الذاكرة الكلية ودون هذا القطاع لايمكن ان يقلع هذين المعالجين وجد هذا القطاع كنوع من الحماية من الشركة المصنعة وليس له علاقة ببارتشن BOOT1 او BOOT2
3- NAND INTERFACE: هو من اهم قطاعات الهارد وينقسم الى عدة اقسام
القسم الاول :اسمه EMMC CONTROLLER هذا القسم المسؤول عن اوامر فرمته الهارد وتقسيم ملف BOOT1 BOOT2 PRMP وتكون صيغة التخاطب معه عن طريق امر يدعى MoviNAND وهي بيئة معمارية شائة اكثر شي بهاردات السامسونغ اكثر الهاردات القابلة للمسح والكتابة والقرائة يوجد تقنيات اخرى لكن غير مدعومة من البوكسات المتوفرة eMMC/iNAND /eSD/ لايدعمون الا الفورمات عن طريق خط التخاطب CMD )(24µ
EMMC /SANDISK
INAND /TOSHIBA/MICRON
ESD/THOSIBA/SKYHYNIX
هاردات لايمكن التعامل مع EMMC CONTROLLER لكن هي قابلة للفرمتة وتعديل ملفاتها لكن تحتاج صيغة خاصة للتخاطب معها موجودة فقط بالشركات المصنعة.
القسم الثاني :اسمه MCU وهي ذاكرة يتراوح حجمها من 128K الى 512K يوجد بداخلها معلومات الشركة المصنة تاريخ الصنع نوع الهارد ورقمة ورقم اصدارة وسرعته يعني هي EMMC FRIMWARE
القسم الثالث: اسمه قسم الاخطاء smart report –bad block –ecc قسم مسؤول فقط عن ذاكرة PARTITION USER DATA يحدد كمية القطاعات التالفة مثل أي هاد تتعرض ذاكرة emmc الى ضياع في القطاعات يعني تلف emmc ويشار له في بعض الهاردات ب life time ويختلف هذا التقرير من هار الى اخر على حسب النوع والسرعة
ملاحظة مهمة الخط الاساسي داخل الهارد هو خط cmd وباقي الخطوط لنقل البيانات بين الهارد والمعالج
بعد كل هذا الشرح المفصل عن الهارد السؤال يطرح نفسه كيف يعطل الهارد
مثال من الواقع زبون جالك جايب معه ساسونغ s3 i9300 الجهاز خبرك صاحبه كان عالشحن فجاة فصل حتاخد الجهاز توصله عالبور سبلاي حتلاقي سحب 30 ورجع للصفر هي اول سحبه للهار هي السحبه تعني ان كبسة البور اعطت امر الى ic البور ومن ايسي البور الى pmu منظم بور الهارد البور والمعالج عطى امر لخط cmd بالقرائة خط cmdا ول قسم لازم يرحله هو قسم EMMC CONTROLLER ومن قسم mcu اذا كان ضارب الهارد مالح يستجيب كانه ماله موجود لح ترجع قيمة البور
سوال كيف جهاز كان عالشحن فجاة توقف هارد الحل بسيط السبب هو pmu الموجود ضمن الهارد احيانا بخرج جهد زائد بيعمل مسح لمنطقة EMMC CONTROLLER يالجهاز بموت فجاة او يمكن يشتغل بس حيكون فاقد معلومات المصنع يعني mcu او emmc firmware مشان هيك الاجهزة بصفر رقم product name
وبتصفر منطقه الاقلاع boot1+boot2 وبصير صعب الوصول لمنطقة PARTITION USER DATA
ضمن الفيديو سوف نشرح كيفية تنصيب بوكس ايزي جيتاغ وشرح الواجهات الخاصة بشكل كامل ومفصل