محتويات التدريب التاسيسي الخاص بمجال السوفت وير والذواكر

عبارة عن سلسلة دروس مجانية تاسيسية بمجال السوفت وير والذواكر


: المستوى الاول تاسيسي


عبارة عن فيديوهات و دروس مجانية تاسيسية بمفاهيم السوفت وير والهارد وير والذواكر

الرجوع الى مفاهيم الاساسيات عبارة عن سلسلة دروس مجانية تاسيسية

  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



 ضمن الفيديو سوف نشرح كيفية تنصيب بوكس ايزي جيتاغ وشرح الواجهات الخاصة بشكل كامل ومفصل