برمجة فلاش MICROCHIP PIC24
معلومات المنتج
برمجة فلاش
تحتوي عائلات أجهزة dsPIC33/PIC24 على ذاكرة برنامج فلاش داخلية قابلة للبرمجة لتنفيذ تعليمات برمجية للمستخدم. هناك ما يصل إلى ثلاث طرق لبرمجة هذه الذاكرة:
- عملية تعليمات الجدول
- البرمجة التسلسلية داخل الدائرة (ICSP)
- البرمجة داخل التطبيق (IAP)
توفر تعليمات الجدول طريقة نقل البيانات بين مساحة ذاكرة برنامج Flash ومساحة ذاكرة البيانات لأجهزة dsPIC33/PIC24. يتم استخدام تعليمة TBLRDL للقراءة من البتات[15:0] من مساحة ذاكرة البرنامج. يتم استخدام تعليمات TBLWTL للكتابة إلى البتات[15:0] من مساحة ذاكرة برنامج Flash. يمكن لـ TBLRDL وTBLWTL الوصول إلى ذاكرة برنامج Flash في وضع Word أو وضع Byte.
بالإضافة إلى عنوان ذاكرة برنامج Flash، تحدد تعليمات الجدول أيضًا سجل W (أو مؤشر تسجيل W إلى موقع الذاكرة)، وهو مصدر بيانات ذاكرة برنامج Flash المراد كتابتها، أو الوجهة لبرنامج Flash قراءة الذاكرة.
يصف هذا القسم تقنية برمجة ذاكرة برنامج الفلاش. تحتوي عائلات أجهزة dsPIC33/ PIC24 على ذاكرة برنامج فلاش داخلية قابلة للبرمجة لتنفيذ تعليمات برمجية للمستخدم. هناك ما يصل إلى ثلاث طرق لبرمجة هذه الذاكرة:
- وقت التشغيل - البرمجة الذاتية (RTSP)
- البرمجة التسلسلية داخل الدائرة ™ (ICSP ™)
- البرمجة التسلسلية المحسنة داخل الدائرة (EICSP)
يتم تنفيذ RTSP بواسطة البرنامج التطبيقي أثناء التنفيذ، بينما يتم تنفيذ ICSP وEICSP من مبرمج خارجي باستخدام اتصال بيانات تسلسلي بالجهاز. يتيح ICSP وEICSP وقت برمجة أسرع بكثير من RTSP. تم وصف تقنيات RTSP في القسم 4.0 "البرمجة الذاتية لوقت التشغيل (RTSP)". يتم تعريف بروتوكولي ICSP وEICSP في وثائق مواصفات البرمجة للأجهزة المعنية، والتي يمكن تنزيلها من Microchip webموقع (http://www.microchip.com). عند البرمجة بلغة C، تتوفر العديد من الوظائف المضمنة التي تسهل برمجة Flash. راجع "دليل مستخدم برنامج التحويل البرمجي MPLAB® XC16 C" (DS50002071) للحصول على تفاصيل بخصوص الوظائف المضمنة.
تعليمات استخدام المنتج
لبرمجة ذاكرة برنامج الفلاش اتبع الخطوات التالية:
- ارجع إلى ورقة بيانات الجهاز للتحقق مما إذا كان قسم الدليل المرجعي للعائلة يدعم الجهاز الذي تستخدمه.
- قم بتنزيل ورقة بيانات الجهاز وأقسام الدليل المرجعي للعائلة من Microchip Worldwide Webالموقع في: http://www.microchip.com.
- اختر إحدى الطرق الثلاث لبرمجة الذاكرة (تشغيل تعليمات الجدول، البرمجة التسلسلية داخل الدائرة (ICSP)، البرمجة داخل التطبيق (IAP)).
- في حالة استخدام عملية تعليمات الجدول، استخدم تعليمات TBLRDL للقراءة من البتات[15:0] من مساحة ذاكرة البرنامج وتعليمات TBLWTL للكتابة إلى البتات[15:0] من مساحة ذاكرة برنامج Flash.
- تأكد من تحديد سجل W (أو مؤشر تسجيل W لموقع الذاكرة) كمصدر لبيانات ذاكرة برنامج الفلاش المراد كتابتها، أو وجهة قراءة ذاكرة برنامج فلاش.
لمزيد من المعلومات والتفاصيل حول برمجة ذاكرة برنامج الفلاش، راجع الدليل المرجعي لعائلة dsPIC33/PIC24.
عملية تعليمات الجدول
توفر تعليمات الجدول طريقة نقل البيانات بين مساحة ذاكرة برنامج Flash ومساحة ذاكرة البيانات لأجهزة dsPIC33/PIC24. يقدم هذا القسم ملخصًا لتعليمات الجدول المستخدمة أثناء برمجة ذاكرة برنامج الفلاش. هناك أربعة تعليمات أساسية للجدول:
- تبلردل: قراءة الجدول منخفضة
- تبلر: قراءة الجدول عالية
- تي بي إل دبليو تي إل: جدول الكتابة منخفض
- تبلوث: جدول الكتابة عالية
يتم استخدام تعليمة TBLRDL للقراءة من البتات[15:0] من مساحة ذاكرة البرنامج. يتم استخدام تعليمات TBLWTL للكتابة إلى البتات[15:0] من مساحة ذاكرة برنامج Flash. يمكن لـ TBLRDL وTBLWTL الوصول إلى ذاكرة برنامج Flash في وضع Word أو وضع Byte.
تُستخدم تعليمات TBLRDH وTBLWTH للقراءة أو الكتابة إلى البتات[23:16] من مساحة ذاكرة البرنامج. يمكن لـ TBLRDH وTBLWTH الوصول إلى ذاكرة برنامج Flash في وضع Word أو Byte. نظرًا لأن ذاكرة برنامج Flash يبلغ عرضها 24 بت فقط، فإن تعليمات TBLRDH وTBLWTH يمكنها معالجة البايت العلوي من ذاكرة برنامج Flash غير الموجود. تسمى هذه البايت "البايت الوهمي". أي قراءة للبايت الوهمي سترجع 0x00. الكتابة إلى البايت الوهمي ليس لها أي تأثير. يمكن اعتبار ذاكرة برنامج Flash ذات 24 بت بمثابة مساحتين متجاورتين بطول 16 بت، مع مشاركة كل مساحة في نفس نطاق العنوان. لذلك، تصل تعليمات TBLRDL وTBLWTL إلى مساحة ذاكرة البرنامج "المنخفضة" (PM[15:0]). تصل تعليمات TBLRDH وTBLWTH إلى مساحة ذاكرة البرنامج "العالية" (PM[31:16]). أي قراءة أو كتابة إلى PM[31:24] ستصل إلى البايت الوهمي (غير المنفذ). عند استخدام أي من تعليمات الجدول في وضع البايت، سيتم استخدام البت الأقل أهمية (LSb) لعنوان الجدول باعتباره بت تحديد البايت. يحدد LSb البايت الذي سيتم الوصول إليه في مساحة ذاكرة البرنامج العالية أو المنخفضة.
يوضح الشكل 2-1 كيفية معالجة ذاكرة برنامج الفلاش باستخدام تعليمات الجدول. يتم تكوين عنوان ذاكرة برنامج 24 بت باستخدام البتات [7:0] من سجل TBLPAG والعنوان الفعال (EA) من سجل W المحدد في تعليمات الجدول. تم توضيح عداد البرامج (PC) ذو 24 بت في الشكل 2-1 كمرجع. يتم استخدام الـ 23 بت العلوية من EA لتحديد موقع ذاكرة برنامج الفلاش.
بالنسبة لتعليمات جدول وضع البايت، يتم استخدام LSb الخاص بسجل W EA لتحديد البايت الذي سيتم توجيهه من كلمة ذاكرة برنامج Flash ذات 16 بت؛ '1' يختار البتات[15:8] و'0' يختار البتات[7:0]. يتم تجاهل LSb الخاص بسجل W EA لتعليمات الجدول في وضع Word. بالإضافة إلى عنوان ذاكرة برنامج Flash، تحدد تعليمات الجدول أيضًا سجل W (أو مؤشر تسجيل W إلى موقع الذاكرة)، وهو مصدر بيانات ذاكرة برنامج Flash المراد كتابتها، أو الوجهة لبرنامج Flash قراءة الذاكرة. بالنسبة لعملية كتابة جدول في وضع البايت، يتم تجاهل البتات[15:8] من سجل العمل المصدر.
استخدام تعليمات قراءة الجدول
تتطلب قراءة الجدول خطوتين:
- يتم إعداد مؤشر العنوان باستخدام سجل TBLPAG وأحد سجلات W.
- يمكن قراءة محتويات ذاكرة برنامج الفلاش في موقع العنوان.
- قراءة وضع الكلمة
الكود الموضح في Examp2-1 وعلى سبيل المثالampيوضح le 2-2 كيفية قراءة كلمة من ذاكرة برنامج Flash باستخدام تعليمات الجدول في وضع Word. - قراءة وضع البايت
الكود الموضح في Exampيُظهر le 2-3 عامل ما بعد الزيادة عند قراءة البايت المنخفض، مما يؤدي إلى زيادة العنوان في سجل العمل بمقدار واحد. يؤدي هذا إلى تعيين EA[0] على القيمة "1" للوصول إلى البايت الأوسط في تعليمات الكتابة الثالثة. تقوم آخر زيادة لاحقة بإعادة W0 إلى عنوان زوجي، مع الإشارة إلى موقع ذاكرة برنامج Flash التالي. - مزالج كتابة الطاولة
تعليمات كتابة الجدول لا تكتب مباشرة إلى ذاكرة البرنامج غير المتطايرة. بدلاً من ذلك، تقوم تعليمات الكتابة في الجدول بتحميل مزالج الكتابة التي تخزن بيانات الكتابة. يجب تحميل سجلات عنوان NVM بالعنوان الأول الذي يجب كتابة البيانات المغلقة فيه. عندما يتم تحميل كافة مزالج الكتابة، تبدأ عملية برمجة الذاكرة الفعلية عن طريق تنفيذ تسلسل خاص من التعليمات. أثناء البرمجة، يقوم الجهاز بنقل البيانات الموجودة في مزالج الكتابة إلى ذاكرة فلاش. تبدأ مزالج الكتابة دائمًا عند العنوان 0xFA0000، وتمتد حتى 0xFA0002 لبرمجة الكلمات، أو من خلال 0xFA00FE للأجهزة التي تحتوي على برمجة صفوف.
ملحوظة: يختلف عدد مزالج الكتابة حسب الجهاز. راجع فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز المحددة لمعرفة عدد مزالج الكتابة المتوفرة.
سجلات التحكم
يتم استخدام العديد من سجلات الوظائف الخاصة (SFRs) لبرمجة عمليات المسح والكتابة لذاكرة برنامج Flash: NVMCON، وNVMKEY، وسجلات عناوين NVM، وNVMADR، وNVMADRU.
سجل NVMCON
سجل NVMCON هو سجل التحكم الأساسي لعمليات Flash وعمليات البرنامج/المسح. يحدد هذا السجل ما إذا كان سيتم تنفيذ عملية مسح أو برنامج ويمكنه بدء دورة البرنامج أو المسح. يظهر سجل NVMCON في السجل 3-1. يقوم البايت السفلي لـ NVMCON بتكوين نوع عملية NVM التي سيتم تنفيذها.
سجل NVMKEY
سجل NVMKEY (راجع التسجيل 3-4) هو سجل للكتابة فقط يُستخدم لمنع الكتابة غير المقصودة لـ NVMCON التي يمكن أن تفسد ذاكرة الفلاش. بمجرد إلغاء القفل، يُسمح بالكتابة إلى NVMCON لدورة تعليمات واحدة يمكن فيها ضبط بت WR لاستدعاء عملية المسح أو روتين البرنامج. نظرًا لمتطلبات التوقيت، يلزم تعطيل المقاطعات.
قم بتنفيذ الخطوات التالية لبدء المسح أو تسلسل البرمجة:
- تعطيل المقاطعات.
- اكتب 0x55 إلى NVMKEY.
- اكتب 0xAA إلى NVMKEY.
- ابدأ دورة كتابة البرمجة عن طريق ضبط بت WR (NVMCON [15]).
- تنفيذ اثنين من التعليمات NOP.
- استعادة المقاطعات.
تعطيل المقاطعات
مطلوب تعطيل المقاطعات لجميع عمليات الفلاش لضمان نتيجة ناجحة. إذا حدثت مقاطعة أثناء تسلسل فتح NVMKEY، فيمكن أن تمنع الكتابة إلى بت WR. يجب تنفيذ تسلسل فتح NVMKEY دون انقطاع، كما تمت مناقشته في القسم 3.2 "تسجيل NVMKEY".
يمكن تعطيل المقاطعات بإحدى الطريقتين، عن طريق تعطيل تمكين المقاطعة العامة (بت GIE)، أو باستخدام تعليمات DISI. لا يُنصح باستخدام تعليمات DISI لأنها تعمل فقط على تعطيل المقاطعات ذات الأولوية 6 أو أقل؛ لذلك، يجب استخدام أسلوب تمكين المقاطعة العمومية.
تستغرق عمليات الكتابة التي تقوم بها وحدة المعالجة المركزية إلى GIE دورتين من التعليمات قبل التأثير على تدفق التعليمات البرمجية. هناك حاجة إلى تعليمات NOP بعد ذلك، أو يمكن استبدالها بأي تعليمات عمل مفيدة أخرى، مثل تحميل NVMKEY؛ وهذا ينطبق على كل من العمليات المحددة والواضحة. يجب توخي الحذر عند إعادة تمكين المقاطعات بحيث لا يسمح روتين NVM المستهدف بالمقاطعات عندما تقوم وظيفة تم استدعاؤها مسبقًا بتعطيلها لأسباب أخرى. لمعالجة هذه المشكلة في التجميع، يمكن استخدام دفع المكدس والبوب للاحتفاظ بحالة بت GIE. في لغة C، يمكن استخدام متغير في ذاكرة الوصول العشوائي (RAM) لتخزين INTCON2 قبل مسح GIE. استخدم التسلسل التالي لتعطيل المقاطعات:
- ادفع INTCON2 إلى المكدس.
- امسح بت GIE.
- اثنين من NOPs أو يكتب إلى NVMKEY.
- ابدأ دورة البرمجة عن طريق ضبط بت WR (NVMCON [15]).
- استعادة حالة GIE بواسطة POP من INTCON2.
سجلات عنوان NVM
مسجلا عنوان NVM، NVMADRU وNVMADR، عند تسلسلهما، يشكلان EA 24 بت للصف أو الكلمة المحددة لعمليات البرمجة. يتم استخدام سجل NVMADRU للاحتفاظ بالبتات الثمانية العليا من EA، ويتم استخدام سجل NVMADR للاحتفاظ بالبتات الـ 16 السفلية من EA. قد تشير بعض الأجهزة إلى نفس هذه السجلات مثل NVMADRL وNVMADRH. يجب أن تشير سجلات عنوان NVM دائمًا إلى حد كلمة تعليمات مزدوجة عند إجراء عملية برمجة كلمات تعليمات مزدوجة، أو حد صف عند إجراء عملية برمجة صف، أو حد صفحة عند إجراء عملية مسح صفحة.
التسجيل 3-1: NVMCON: سجل التحكم في ذاكرة الفلاش
ملحوظة
- لا يمكن إعادة ضبط هذا البت (أي مسحه) إلا عند إعادة ضبط التشغيل (POR).
- عند الخروج من وضع الخمول، يكون هناك تأخير في زيادة الطاقة (TVREG) قبل أن تصبح ذاكرة برنامج الفلاش جاهزة للعمل. راجع فصل "الخصائص الكهربائية" في ورقة بيانات الجهاز المحدد للحصول على مزيد من المعلومات.
- كافة المجموعات الأخرى من NVMOP[3:0] غير منفذة.
- هذه الوظيفة غير متوفرة على كافة الأجهزة. راجع فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز المحددة للتعرف على العمليات المتاحة.
- الدخول إلى وضع توفير الطاقة بعد تنفيذ تعليمات PWRSAV يتوقف على إكمال جميع عمليات NVM المعلقة.
- هذا البت متاح فقط على الأجهزة التي تدعم برمجة الصفوف المخزنة في ذاكرة الوصول العشوائي (RAM). ارجع إلى ورقة البيانات الخاصة بالجهاز لمعرفة مدى التوفر.
ملحوظة
- لا يمكن إعادة ضبط هذا البت (أي مسحه) إلا عند إعادة ضبط التشغيل (POR).
- عند الخروج من وضع الخمول، يكون هناك تأخير في زيادة الطاقة (TVREG) قبل أن تصبح ذاكرة برنامج الفلاش جاهزة للعمل. راجع فصل "الخصائص الكهربائية" في ورقة بيانات الجهاز المحدد للحصول على مزيد من المعلومات.
- كافة المجموعات الأخرى من NVMOP[3:0] غير منفذة.
- هذه الوظيفة غير متوفرة على كافة الأجهزة. راجع فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز المحددة للتعرف على العمليات المتاحة.
- الدخول إلى وضع توفير الطاقة بعد تنفيذ تعليمات PWRSAV يتوقف على إكمال جميع عمليات NVM المعلقة.
- هذا البت متاح فقط على الأجهزة التي تدعم برمجة الصفوف المخزنة في ذاكرة الوصول العشوائي (RAM). ارجع إلى ورقة البيانات الخاصة بالجهاز لمعرفة مدى التوفر.
السجل 3-2: NVMADRU: سجل العنوان العلوي للذاكرة غير المتطايرة
السجل 3-3: NVMADR: سجل عنوان الذاكرة غير المتطايرة
التسجيل 3-4: NVMKEY: تسجيل مفتاح الذاكرة غير المتطاير
البرمجة الذاتية لوقت التشغيل (RTSP)
يسمح RTSP لتطبيق المستخدم بتعديل محتويات ذاكرة برنامج Flash. يتم إنجاز RTSP باستخدام تعليمات TBLRD (قراءة الجدول) وTBLWT (كتابة الجدول)، وسجل TBLPAG، وسجلات التحكم NVM. باستخدام RTSP، يمكن لتطبيق المستخدم مسح صفحة واحدة من ذاكرة الفلاش وبرمجة إما كلمتين تعليمات أو ما يصل إلى 128 كلمة تعليمات على أجهزة معينة.
عملية آر تي إس بي
يتم تنظيم مجموعة ذاكرة برنامج فلاش dsPIC33/PIC24 في صفحات مسح يمكن أن تحتوي على ما يصل إلى 1024 تعليمات. يتوفر خيار برمجة الكلمة المزدوجة في جميع الأجهزة في عائلات dsPIC33/PIC24. بالإضافة إلى ذلك، تتمتع بعض الأجهزة بإمكانية برمجة الصفوف، مما يسمح ببرمجة ما يصل إلى 128 كلمة تعليمات في المرة الواحدة. تحدث عمليات البرمجة والمسح دائمًا على حدود كلمات أو صفوف أو صفحات برمجة مزدوجة. ارجع إلى فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز المحددة لمعرفة مدى توفر صف البرمجة وأحجامه، وحجم الصفحة المراد محوها. تنفذ ذاكرة برنامج الفلاش مخازن مؤقتة، تسمى مزالج الكتابة، والتي يمكن أن تحتوي على ما يصل إلى 128 تعليمات لبيانات البرمجة اعتمادًا على الجهاز. قبل عملية البرمجة الفعلية، يجب تحميل بيانات الكتابة في مزالج الكتابة. التسلسل الأساسي لـ RTSP هو إعداد مؤشر الجدول، وتسجيل TBLPAG، ثم تنفيذ سلسلة من تعليمات TBLWT لتحميل مزالج الكتابة. يتم تنفيذ البرمجة عن طريق ضبط بتات التحكم في سجل NVMCON. عدد تعليمات TBLWTL وTBLWTH اللازمة لتحميل مزالج الكتابة يساوي عدد كلمات البرنامج المراد كتابتها.
ملحوظة: يوصى بحفظ سجل TBLPAG قبل التعديل واستعادته بعد الاستخدام.
حذر
في بعض الأجهزة، يتم تخزين بتات التكوين في الصفحة الأخيرة من مساحة ذاكرة مستخدم برنامج Flash في قسم يسمى "Flash Configuration Bytes". باستخدام هذه الأجهزة، يؤدي إجراء عملية مسح الصفحة على الصفحة الأخيرة من ذاكرة البرنامج إلى مسح وحدات البايت الخاصة بتكوين Flash، مما يتيح حماية التعليمات البرمجية. لذلك، يجب ألا يقوم المستخدمون بإجراء عمليات مسح الصفحة على الصفحة الأخيرة من ذاكرة البرنامج. وهذا ليس مصدر قلق عندما يتم تخزين بتات التكوين في مساحة ذاكرة التكوين في قسم يسمى "سجلات تكوين الجهاز". ارجع إلى خريطة ذاكرة البرنامج في فصل "تنظيم الذاكرة" من ورقة بيانات الجهاز المحدد لتحديد مكان وجود وحدات بت التكوين.
عمليات برمجة الفلاش
تعتبر عملية البرنامج أو المسح ضرورية لبرمجة أو مسح ذاكرة برنامج الفلاش الداخلية في وضع RTSP. يتم توقيت عملية البرنامج أو المسح تلقائيًا بواسطة الجهاز (راجع ورقة بيانات الجهاز المحددة للحصول على معلومات التوقيت). يؤدي ضبط بت WR (NVMCON[15]) إلى بدء العملية. يتم مسح بت WR تلقائيًا عند انتهاء العملية. تتوقف وحدة المعالجة المركزية حتى تنتهي عملية البرمجة. لن تقوم وحدة المعالجة المركزية بتنفيذ أي تعليمات أو الاستجابة للمقاطعات خلال هذا الوقت. في حالة حدوث أي مقاطعات أثناء دورة البرمجة، فإنها ستظل معلقة حتى اكتمال الدورة. قد توفر بعض أجهزة dsPIC33/PIC24 ذاكرة برنامج فلاش مساعدة (راجع فصل "تنظيم الذاكرة" في ورقة بيانات الجهاز المحددة للحصول على التفاصيل)، والتي تسمح بتنفيذ التعليمات دون توقف وحدة المعالجة المركزية أثناء مسح ذاكرة برنامج فلاش المستخدم و/أو برمجتها. على العكس من ذلك، يمكن برمجة ذاكرة برنامج الفلاش المساعدة بدون توقف وحدة المعالجة المركزية، طالما يتم تنفيذ التعليمات البرمجية من ذاكرة برنامج فلاش المستخدم. يمكن استخدام مقاطعة NVM للإشارة إلى اكتمال عملية البرمجة.
ملحوظة
- إذا حدث حدث POR أو BOR أثناء تقدم عملية محو أو برمجة RTSP، فسيتم إحباط عملية RTSP على الفور. يجب على المستخدم تنفيذ عملية RTSP مرة أخرى بعد خروج الجهاز من إعادة الضبط.
- في حالة حدوث حدث إعادة ضبط EXTR أو SWR أو WDTO أو TRAPR أو CM أو IOPUWR أثناء إجراء عملية مسح أو برمجة RTSP، فلن تتم إعادة ضبط الجهاز إلا بعد اكتمال عملية RTSP.
خوارزمية برمجة RTSP
يصف هذا القسم برمجة RTSP، والتي تتكون من ثلاث عمليات رئيسية.
إنشاء صورة RAM لصفحة البيانات المراد تعديلها
قم بتنفيذ هاتين الخطوتين لإنشاء صورة ذاكرة الوصول العشوائي (RAM) لصفحة البيانات المراد تعديلها:
- اقرأ صفحة ذاكرة برنامج الفلاش وقم بتخزينها في ذاكرة الوصول العشوائي للبيانات على هيئة "صورة" بيانات. يجب قراءة صورة ذاكرة الوصول العشوائي (RAM) بدءًا من حد عنوان الصفحة.
- قم بتعديل صورة بيانات ذاكرة الوصول العشوائي (RAM) حسب الحاجة.
مسح ذاكرة برنامج فلاش
بعد إكمال الخطوتين 1 و2 أعلاه، قم بتنفيذ الخطوات الأربع التالية لمسح صفحة ذاكرة برنامج الفلاش:
- اضبط بتات NVMOP[3:0] (NVMCON[3:0]) لمسح صفحة ذاكرة برنامج Flash المقروءة من الخطوة 1.
- اكتب عنوان البداية للصفحة المراد محوها في سجلات NVMADRU وNMVADR.
- مع تعطيل المقاطعات:
- a) اكتب تسلسل المفاتيح في سجل NVMKEY لتمكين ضبط بت WR (NVMCON[15]).
- b) تعيين بت WR. سيبدأ هذا دورة المسح.
- c) تنفيذ اثنين من التعليمات NOP.
- يتم مسح بت WR عند اكتمال دورة المسح.
برمجة صفحة ذاكرة فلاش
الجزء التالي من العملية هو برمجة صفحة ذاكرة الفلاش. تتم برمجة صفحة ذاكرة الفلاش باستخدام البيانات من الصورة التي تم إنشاؤها في الخطوة 1. ويتم نقل البيانات إلى مزالج الكتابة بزيادات إما كلمات تعليمات مزدوجة أو صفوف. تتمتع جميع الأجهزة بإمكانية برمجة كلمات التعليمات المزدوجة. (ارجع إلى فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز المحددة لتحديد ما إذا كانت برمجة الصف متاحة ونوعها.) بعد تحميل مزالج الكتابة، تبدأ عملية البرمجة، والتي تنقل البيانات من كتابة المزالج في ذاكرة فلاش. ويتكرر هذا حتى تتم برمجة الصفحة بأكملها. كرر الخطوات الثلاث التالية، بدءًا من كلمة التعليمات الأولى لصفحة Flash وزيادة خطوات كلمات البرنامج المزدوجة أو صفوف التعليمات، حتى تتم برمجة الصفحة بأكملها:
- تحميل مزالج الكتابة:
- a) قم بتعيين سجل TBLPAG للإشارة إلى موقع مزالج الكتابة.
- b) قم بتحميل العدد المطلوب من المزالج باستخدام أزواج تعليمات TBLWTL وTBLWTH:
- بالنسبة للبرمجة ذات الكلمات المزدوجة، يلزم وجود زوجين من تعليمات TBLWTL وTBLWTH
- بالنسبة لبرمجة الصف، يلزم وجود زوج من تعليمات TBLWTL وTBLWTH لكل عنصر من عناصر صف كلمات التعليمات
- بدء عملية البرمجة:
- أ) قم بتعيين بتات NVMOP[3:0] (NVMCON[3:0]) لبرمجة إما كلمات تعليمات مزدوجة أو صف تعليمات، حسب الاقتضاء.
ب) اكتب العنوان الأول لكلمة التعليمات المزدوجة أو صف التعليمات المراد برمجته في سجلات NVMADRU وNVMADR.
ج) مع تعطيل المقاطعات:
• اكتب تسلسل المفاتيح في سجل NVMKEY لتمكين ضبط بت WR (NVMCON[15])
• ضبط بت WR. سيبدأ هذا دورة المسح
• تنفيذ أمرين NOP
- أ) قم بتعيين بتات NVMOP[3:0] (NVMCON[3:0]) لبرمجة إما كلمات تعليمات مزدوجة أو صف تعليمات، حسب الاقتضاء.
- يتم مسح بت WR عند اكتمال دورة البرمجة.
كرر العملية بأكملها حسب الحاجة لبرمجة المقدار المطلوب من ذاكرة برنامج الفلاش.
ملحوظة
- يجب أن يتذكر المستخدم أن الحد الأدنى من ذاكرة برنامج الفلاش التي يمكن مسحها باستخدام RTSP هو صفحة تمحى مرة واحدة. لذلك، من المهم أن يتم تخزين صورة هذه المواقع في ذاكرة الوصول العشوائي للأغراض العامة قبل بدء دورة المسح.
- يجب عدم برمجة صف أو كلمة في ذاكرة برنامج الفلاش أكثر من مرتين قبل مسحها.
- على الأجهزة التي تحتوي على وحدات بايت التكوين المخزنة في الصفحة الأخيرة من Flash، يؤدي إجراء عملية مسح الصفحة في الصفحة الأخيرة من ذاكرة البرنامج إلى مسح وحدات بايت التكوين، مما يتيح حماية التعليمات البرمجية. في هذه الأجهزة، لا ينبغي مسح الصفحة الأخيرة من ذاكرة الفلاش.
مسح صفحة واحدة من الفلاش
تسلسل التعليمات البرمجية الموضح في السابقampيمكن استخدام le 4-1 لمسح صفحة من ذاكرة برنامج الفلاش. تم تكوين سجل NVMCON لمسح صفحة واحدة من ذاكرة البرنامج. يتم تحميل سجلات NVMADR وNMVADRU بعنوان البداية للصفحة المراد مسحها. يجب مسح ذاكرة البرنامج عند حد عنوان الصفحة "الزوجي". راجع فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز المحددة لتحديد حجم صفحة الفلاش.
تبدأ عملية المسح عن طريق كتابة فتح خاص، أو تسلسل مفاتيح، إلى سجل NVMKEY قبل ضبط بت WR (NVMCON[15]). يجب تنفيذ تسلسل إلغاء القفل بالترتيب الدقيق، كما هو موضح في المثالampلو 4-1، دون انقطاع؛ ولذلك، يجب تعطيل المقاطعات.
يجب إدراج تعليمتين NOP في الكود بعد دورة المسح. في بعض الأجهزة، يتم تخزين بتات التكوين في الصفحة الأخيرة من برنامج Flash. باستخدام هذه الأجهزة، يؤدي إجراء عملية مسح الصفحة على الصفحة الأخيرة من ذاكرة البرنامج إلى مسح وحدات البايت الخاصة بتكوين Flash، مما يؤدي إلى تمكين حماية التعليمات البرمجية نتيجة لذلك. يجب ألا يقوم المستخدمون بإجراء عمليات مسح الصفحة على الصفحة الأخيرة من ذاكرة البرنامج.
تحميل مزالج الكتابة
تُستخدم مزالج الكتابة كآلية تخزين بين عمليات كتابة الجدول الخاصة بتطبيق المستخدم وتسلسل البرمجة الفعلي. أثناء عملية البرمجة، سيقوم الجهاز بنقل البيانات من مزالج الكتابة إلى ذاكرة الفلاش. بالنسبة للأجهزة التي تدعم برمجة الصفوف، على سبيل المثالampيوضح 4-3 تسلسل التعليمات التي يمكن استخدامها لتحميل 128 مزلاج كتابة (128 كلمة تعليمات). هناك حاجة إلى تعليمات 128 TBLWTL و128 TBLWTH لتحميل مزالج الكتابة لبرمجة صف من ذاكرة برنامج Flash. ارجع إلى فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز المحددة لتحديد عدد مزالج البرمجة المتوفرة على جهازك. بالنسبة للأجهزة التي لا تدعم برمجة الصفوف، على سبيل المثالampيوضح 4-4 تسلسل التعليمات التي يمكن استخدامها لتحميل مزالج الكتابة (كلمتين للتعليمات). يلزم وجود تعليماتين TBLWTL وتعليمتين TBLWTH لتحميل مزالج الكتابة.
ملحوظة
- يظهر رمز Load_Write_Latch_Row في المثالampيظهر le 4-3 ورمز Load_Write_Latch_Word في المثالampلو 4-4. الكود في كلا هذين السابقينampتتم الإشارة إلى les في السابق السابقampليز.
- ارجع إلى ورقة بيانات الجهاز المحددة لمعرفة عدد المزالج.
برمجة صف واحد على سبيل المثالAMPLE
تم تكوين سجل NVMCON لبرمجة صف واحد من ذاكرة برنامج Flash. تبدأ عملية البرنامج عن طريق كتابة فتح خاص، أو تسلسل مفاتيح، إلى سجل NVMKEY قبل ضبط بت WR (NVMCON[15]). يجب تنفيذ تسلسل إلغاء القفل دون انقطاع، وبالترتيب الدقيق، كما هو موضح في المثالampلو 4-5. ولذلك، يجب تعطيل المقاطعات قبل كتابة التسلسل.
ملحوظة: لا تتمتع جميع الأجهزة بإمكانية برمجة الصفوف. ارجع إلى فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز المحددة لتحديد ما إذا كان هذا الخيار متاحًا أم لا.
يجب إدراج تعليمتين NOP في الكود بعد دورة البرمجة.
برمجة الصفوف باستخدام ذاكرة الوصول العشوائي المؤقتة
تسمح أجهزة dsPIC33 المحددة بتنفيذ برمجة الصف مباشرة من مساحة المخزن المؤقت في ذاكرة الوصول العشوائي للبيانات، بدلاً من المرور عبر مزالج التثبيت لنقل البيانات باستخدام تعليمات TBLWT. يتم تحديد موقع المخزن المؤقت لذاكرة الوصول العشوائي (RAM) بواسطة سجل (سجلات) NVMSRCADR، والتي يتم تحميلها بعنوان ذاكرة الوصول العشوائي (RAM) للبيانات الذي يحتوي على الكلمة الأولى من بيانات البرنامج المراد كتابتها.
قبل تنفيذ عملية البرنامج، يجب تحميل المساحة المؤقتة في ذاكرة الوصول العشوائي (RAM) بصف البيانات المراد برمجتها. يمكن تحميل ذاكرة الوصول العشوائي (RAM) بتنسيق مضغوط (معبأ) أو غير مضغوط. يستخدم التخزين المضغوط كلمة بيانات واحدة لتخزين وحدات البايت الأكثر أهمية (MSBs) لكلمتي بيانات برنامج متجاورتين. يستخدم التنسيق غير المضغوط كلمتين بيانات لكل كلمة بيانات برنامج، مع كون البايت العلوي لكل كلمة أخرى هو 00h. يستخدم التنسيق المضغوط حوالي 3/4 من المساحة الموجودة في ذاكرة الوصول العشوائي للبيانات مقارنة بالتنسيق غير المضغوط. من ناحية أخرى، يحاكي التنسيق غير المضغوط بنية كلمة بيانات البرنامج ذات 24 بت، مع استكمال البايت الوهمي العلوي. يتم تحديد تنسيق البيانات بواسطة بت RPDF (NVMCON[9]). ويظهر هذان التنسيقان في الشكل 4-1.
بمجرد تحميل المخزن المؤقت لذاكرة الوصول العشوائي (RAM)، يتم تحميل مؤشرات عنوان الفلاش، NVMADR وNVMADRU، بعنوان بداية 24 بت لصف Flash المراد كتابته. كما هو الحال مع برمجة مزالج الكتابة، تبدأ العملية عن طريق كتابة تسلسل فتح NVM، متبوعًا بتعيين بت WR. بمجرد البدء، يقوم الجهاز تلقائيًا بتحميل المزالج الصحيحة ويزيد من تسجيلات عنوان NVM حتى تتم برمجة جميع البايتات. السابقampيظهر le 4-7 على السابقينampلو من العملية. إذا تم تعيين NVMSRCADR على قيمة بحيث تحدث حالة خطأ في تشغيل البيانات، فسيتم تعيين بت URERR (NVMCON[8]) للإشارة إلى الحالة.
الأجهزة التي تنفذ برمجة صف المخزن المؤقت لذاكرة الوصول العشوائي (RAM) تقوم أيضًا بتنفيذ واحد أو اثنين من مزلاج الكتابة. يتم تحميلها باستخدام تعليمات TBLWT وتستخدم لتنفيذ عمليات برمجة الكلمات.
برمجة الكلمات
تم تكوين سجل NVMCON لبرمجة كلمتين تعليمات من ذاكرة برنامج Flash. تبدأ عملية البرنامج عن طريق كتابة فتح خاص، أو تسلسل مفاتيح، إلى سجل NVMKEY قبل ضبط بت WR (NVMCON[15]). يجب تنفيذ تسلسل إلغاء القفل بالترتيب الدقيق، كما هو موضح في المثالampلو 4-8، دون انقطاع. ولذلك، يجب تعطيل المقاطعات قبل كتابة التسلسل.
يجب إدراج تعليمتين NOP في الكود بعد دورة البرمجة.
الكتابة إلى سجلات تكوين الجهاز
في بعض الأجهزة، يتم تخزين بتات التكوين في مساحة ذاكرة التكوين في قسم يسمى "سجلات تكوين الجهاز". على الأجهزة الأخرى، يتم تخزين بتات التكوين في الصفحة الأخيرة من مساحة ذاكرة مستخدم برنامج Flash في قسم يسمى "Flash Configuration Bytes". باستخدام هذه الأجهزة، يؤدي إجراء عملية مسح الصفحة على الصفحة الأخيرة من ذاكرة البرنامج إلى مسح وحدات البايت الخاصة بتكوين Flash، مما يتيح حماية التعليمات البرمجية. لذلك، يجب ألا يقوم المستخدمون بإجراء عمليات مسح الصفحة على الصفحة الأخيرة من ذاكرة البرنامج. ارجع إلى خريطة ذاكرة البرنامج في فصل "تنظيم الذاكرة" من ورقة بيانات الجهاز المحدد لتحديد مكان وجود وحدات بت التكوين.
عندما يتم تخزين بتات التكوين في مساحة ذاكرة التكوين، يمكن استخدام RTSP للكتابة إلى سجلات تكوين الجهاز، ويتيح RTSP إعادة كتابة كل سجل تكوين بشكل فردي دون إجراء دورة مسح أولاً. يجب توخي الحذر عند كتابة سجلات التكوين لأنها تتحكم في معلمات تشغيل الجهاز الهامة، مثل مصدر ساعة النظام، وتمكين PLL وWDT.
يشبه إجراء برمجة سجل تكوين الجهاز إجراء برمجة ذاكرة برنامج Flash، فيما عدا أن تعليمات TBLWTL فقط هي المطلوبة. وذلك لأن البتات الثمانية العليا في كل سجل تكوين جهاز غير مستخدمة. علاوة على ذلك، يجب تعيين البت 23 من عنوان كتابة الجدول للوصول إلى سجلات التكوين. ارجع إلى "تكوين الجهاز" (DS70000618) في "الدليل المرجعي لعائلة dsPIC33/PIC24" وفصل "الميزات الخاصة" في ورقة بيانات الجهاز المحددة للحصول على وصف كامل لسجلات تكوين الجهاز.
ملحوظة
- الكتابة إلى سجلات تكوين الجهاز غير متوفرة في جميع الأجهزة. ارجع إلى فصل "الميزات الخاصة" في ورقة بيانات الجهاز المحددة لتحديد الأوضاع المتاحة وفقًا لتعريف بتات NVMOP[3:0] الخاصة بالجهاز.
- أثناء إجراء RTSP على سجلات تكوين الجهاز، يجب أن يعمل الجهاز باستخدام مذبذب FRC الداخلي (بدون PLL). إذا كان الجهاز يعمل من مصدر ساعة مختلف، فيجب إجراء تبديل الساعة إلى مذبذب FRC الداخلي (NOSC[2:0] = 000) قبل إجراء عملية RTSP في سجلات تكوين الجهاز.
- إذا تمت إعادة برمجة بتات تحديد وضع المذبذب الأساسي (POSCMD[1:0]) في سجل تكوين المذبذب (FOSC) إلى قيمة جديدة، فيجب على المستخدم التأكد من أن بتات وضع تبديل الساعة (FCKSM[1:0]) في يحتوي سجل FOSC على قيمة مبرمجة أولية تبلغ "0"، قبل إجراء عملية RTSP هذه.
تكوين تسجيل خوارزمية الكتابة
الإجراء العام هو كما يلي:
- اكتب قيمة التكوين الجديدة إلى مزلاج كتابة الجدول باستخدام تعليمات TBLWTL.
- قم بتكوين NVMCON لكتابة سجل التكوين (NVMCON = 0x4000).
- اكتب عنوان سجل التكوين المراد برمجته في سجلات NVMADRU وNVMADR.
- قم بتعطيل المقاطعات، إذا تم تمكينها.
- اكتب تسلسل المفاتيح في سجل NVMKEY.
- ابدأ تسلسل الكتابة عن طريق ضبط بت WR (NVMCON[15]).
- أعد تمكين المقاطعات، إذا لزم الأمر.
Exampيوضح le 4-10 تسلسل التعليمات البرمجية الذي يمكن استخدامه لتعديل سجل تكوين الجهاز.
سجل الخريطة
ويرد ملخص للسجلات المرتبطة ببرمجة الفلاش في الجدول 5-1.
يسرد هذا القسم ملاحظات التطبيق المتعلقة بهذا القسم من الدليل. قد لا تتم كتابة ملاحظات التطبيق هذه خصيصًا لعائلات منتجات dsPIC33/PIC24، ولكن المفاهيم وثيقة الصلة ويمكن استخدامها مع التعديل والقيود المحتملة. ملاحظات التطبيق الحالية المتعلقة ببرمجة الفلاش هي:
ملحوظة: يرجى زيارة Microchip webموقع (www.microchip.com) للحصول على ملاحظات التطبيق الإضافية ورمز exampملفات لعائلات الأجهزة dsPIC33/PIC24.
تاريخ المراجعة
المراجعة أ (أغسطس 2009)
هذه هي النسخة الأولية التي تم إصدارها من هذا المستند.
المراجعة ب (فبراير 2011)
تتضمن هذه المراجعة التحديثات التالية:
- Exampليه:
- تمت إزالة السابقينamp5-3 وعلى سبيل المثالampلو 5-4
- تم تحديثه على سبيل المثالampلو 4-1 ، مثالamp4-5 وعلى سبيل المثالampلو 4-10
- تم تحديث أي إشارات إلى #WR إلى رقم 15 في المثالampلو 4-1 ، مثالamp4-5 وعلى سبيل المثالampلو 4-8
- تم تحديث ما يلي في السابقampلو 4-3:
- تم تحديث العنوان "برمجة الكلمات" إلى "تحميل مزالج الكتابة لبرمجة الصفوف"
- تم تحديث أي إشارة إلى #ram_image إلى #0xFA
- أضيفت على سبيل المثالampلو 4-4
- تم تحديث العنوان في Exampلو 4-8
- ملحوظات:
- تمت إضافة ملاحظتين في القسم 4.2 "عمليات برمجة الفلاش"
- تم تحديث الملاحظة في القسم 4.5.2 "تحميل مزالج الكتابة"
- تمت إضافة ثلاث ملاحظات في القسم 4.6 "الكتابة إلى سجلات تكوين الجهاز"
- تمت إضافة الملاحظة 1 في الجدول 5-1
- سجلات:
- تم تحديث قيم البت لـ NVMOP[3:0]: عملية NVM حدد البتات في سجل التحكم في ذاكرة الفلاش (NVMCON) (راجع التسجيل 3-1)
- الأقسام:
- تمت إزالة الأقسام 5.2.1.4 "وضع كتابة الكلمات" و5.2.1.5 "وضع كتابة البايت"
- القسم المحدث 3.0 "سجلات التحكم"
- تم تحديث ما يلي في القسم 4.5.5 "برمجة الكلمات":
- تم تغيير عنوان القسم "برمجة كلمة واحدة من ذاكرة الفلاش" إلى "برمجة الكلمات"
- تم تحديث الفقرة الأولى
- تم تغيير مصطلح "كلمة واحدة" إلى "زوج من الكلمات" في الفقرة الثانية
- تمت إضافة خطوة 1 جديدة إلى القسم 4.6.1 "خوارزمية كتابة تسجيل التكوين"
- الجداول:
- تم تحديث الجدول 5-1
- تم تحديث بعض المراجع الخاصة بذاكرة البرنامج إلى ذاكرة برنامج Flash
- تم دمج تحديثات ثانوية أخرى مثل تحديثات اللغة والتنسيق في جميع أنحاء المستند
المراجعة ج (يونيو 2011)
تتضمن هذه المراجعة التحديثات التالية:
- Exampليه:
- تم تحديثه على سبيل المثالampلو 4-1
- تم تحديثه على سبيل المثالampلو 4-8
- ملحوظات:
- تمت إضافة ملاحظة في القسم 4.1 "عملية RTSP"
- تمت إضافة الملاحظة 3 في القسم 4.2 "عمليات برمجة الفلاش"
- تمت إضافة الملاحظة 3 في القسم 4.2.1 "خوارزمية برمجة RTSP"
- تمت إضافة ملاحظة في القسم 4.5.1 "محو صفحة واحدة من الفلاش"
- تمت إضافة الملاحظة 2 في القسم 4.5.2 "تحميل مزالج الكتابة"
- سجلات:
- تم تحديث وصف البت للبتات 15-0 في سجل عناوين الذاكرة غير المتطايرة (انظر التسجيل 3-3)
- الأقسام:
- تم تحديث القسم 4.1 "عملية RTSP"
- القسم المحدث 4.5.5 "برمجة الكلمات"
- تم دمج تحديثات ثانوية أخرى مثل تحديثات اللغة والتنسيق في جميع أنحاء المستند
المراجعة د (ديسمبر 2011)
تتضمن هذه المراجعة التحديثات التالية:
- القسم المحدث 2.1.3 "مزالج كتابة الجدول"
- تم تحديث القسم 3.2 "تسجيل NVMKEY"
- تم تحديث الملاحظات في NVMCON: سجل التحكم في ذاكرة الفلاش (انظر التسجيل 3-1)
- تم إجراء تحديثات واسعة النطاق في القسم 4.0 "البرمجة الذاتية لوقت التشغيل (RTSP)"
- تم دمج تحديثات ثانوية أخرى مثل تحديثات اللغة والتنسيق في جميع أنحاء المستند
المراجعة هـ (أكتوبر 2018)
تتضمن هذه المراجعة التحديثات التالية:
- أضيفت على سبيل المثالampلو 2-2 ، مثالampلو 4-2 ، مثالamp4-6 وعلى سبيل المثالampلو 4-9
- تمت إضافة القسم 4.5.4 "برمجة الصفوف باستخدام المخزن المؤقت لذاكرة الوصول العشوائي"
- تم تحديث القسم 1.0 "المقدمة"، والقسم 3.3 "سجلات عناوين NVM"، والقسم 4.0 "البرمجة الذاتية لوقت التشغيل (RTSP)" والقسم 4.5.3 "برمجة صف واحد على سبيل المثال"ampلو "
- تم تحديث السجل 3-1
- تم تحديثه على سبيل المثالampلو 4-7
- تم تحديث الجدول 5-1
المراجعة و (نوفمبر 2021)
تمت إضافة القسم 3.2.1 "تعطيل المقاطعات".
تم تحديثه على سبيل المثالampلو 3-1 ، مثالampلو 4-1 ، مثالampلو 4-2 ، مثالampلو 4-5 ، مثالampلو 4-6 ، مثالampلو 4-7 ، مثالampلو 4-8 ، مثالamp4-9 وعلى سبيل المثالampلو 4-10.
القسم المحدث 3.2 "تسجيل NVMKEY"، القسم 4.5.1 "محو صفحة واحدة من الفلاش"، القسم 4.5.3 "برمجة صف واحد على سبيل المثال"ample" والقسم 4.6.1 "خوارزمية كتابة سجل التكوين".
لاحظ التفاصيل التالية لميزة حماية الكود على منتجات Microchip:
- تتوافق منتجات Microchip مع المواصفات الواردة في ورقة بيانات Microchip الخاصة بها.
- تعتقد شركة مايكروشيب أن مجموعة منتجاتها آمنة عند استخدامها بالطريقة المقصودة، وضمن مواصفات التشغيل، وفي ظل الظروف العادية.
- تقدر الرقاقة الإلكترونية حقوق الملكية الفكرية وتحميها بقوة. محاولات خرق ميزات حماية التعليمات البرمجية لمنتج Microchip محظورة تمامًا وقد تنتهك قانون حقوق النشر الرقمية للألفية.
- لا يمكن لشريحة Microchip ولا أي مصنع آخر لأشباه الموصلات أن يضمن أمان الكود الخاص به. لا تعني حماية الكود أننا نضمن أن المنتج "غير قابل للكسر". ورمز الحماية في تطور مستمر. تلتزم Microchip بالتحسين المستمر لميزات حماية الكود لمنتجاتنا
لا يجوز استخدام هذا المنشور والمعلومات الواردة فيه إلا مع منتجات Microchip ، بما في ذلك تصميم واختبار ودمج منتجات Microchip مع تطبيقك. استخدام هذه المعلومات بأي طريقة أخرى ينتهك هذه الشروط. يتم توفير المعلومات المتعلقة بتطبيقات الجهاز فقط لراحتك وقد تحل محلها التحديثات. تقع على عاتقك مسؤولية التأكد من أن التطبيق الخاص بك يلبي المواصفات الخاصة بك. اتصل بمكتب مبيعات Microchip المحلي للحصول على دعم إضافي أو احصل على دعم إضافي على https://www.microchip.com/en-us/support/design-help/client-supportservices.
يتم توفير هذه المعلومات من قبل شركة MICROCHIP "كما هي". لا تقدم شركة MICROCHIP أي إقرارات أو ضمانات من أي نوع سواء كانت صريحة أو ضمنية ، مكتوبة أو شفهية أو قانونية أو غير ذلك ، فيما يتعلق بالمعلومات بما في ذلك على سبيل المثال لا الحصر أي ضمانات ضمنية من عدم الالتزام ، الضمانات المتعلقة بـ حالتها أو جودتها أو أدائها. لن تكون MICROCHIP مسؤولة بأي حال من الأحوال عن أي خسارة غير مباشرة أو خاصة أو عقابية أو عرضية أو تبعية أو تلف أو تكلفة أو نفقة من أي نوع مهما كان ما يتعلق بالمعلومات أو استخدامها ، حتى لو حدث ذلك ، الاحتمالية أو الأضرار متوقعة. إلى أقصى حد يسمح به القانون ، لن تتجاوز المسؤولية الإجمالية لشركة MICROCHIP عن جميع المطالبات بأي طريقة تتعلق بالمعلومات أو استخدامها مبلغ الرسوم ، إن وجدت ، التي دفعتها مباشرة إلى MICROCHIP للحصول على المعلومات.
إن استخدام أجهزة Microchip في تطبيقات دعم الحياة و/أو السلامة يكون على مسؤولية المشتري بالكامل، ويوافق المشتري على الدفاع عن Microchip وتعويضها وحمايتها من أي أضرار أو مطالبات أو دعاوى أو نفقات ناجمة عن مثل هذا الاستخدام. لا يتم نقل أي تراخيص، ضمناً أو بطريقة أخرى، بموجب أي حقوق ملكية فكرية لشركة Microchip ما لم يُنص على خلاف ذلك.
للحصول على معلومات حول أنظمة إدارة الجودة الخاصة بشركة Microchip، يرجى زيارة www.microchip.com/quality.
العلامات التجارية
اسم وشعار Microchip ، وشعار Microchip ، و Adaptec ، و AnyRate ، و AVR ، وشعار AVR ، و AVR Freaks ، و BesTime ، و BitCloud ، و CryptoMemory ، و CryptoRF ، و dsPIC ، و flexPWR ، و HELDO ، و IGLOO ، و JukeBlox ، و KeeLoq ، و Kleer ، و LANCheck ، و LinklusMD maXTouch، MediaLB، megaAVR، Microsemi، Microsemi logo، MOST، MOST logo، MPLAB، OptoLyzer، PIC، picoPower، PICSTART، PIC32 logo، PolarFire، Prochip Designer، QTouch، SAM-BA، SenGenuity، SpyNIC، SST، SST Logo، Super و Symmetricom و SyncServer و Tachyon و TimeSource و tinyAVR و UNI / O و Vectron و XMEGA هي علامات تجارية مسجلة لشركة Microchip Technology Incorporated في الولايات المتحدة الأمريكية وبلدان أخرى. AgileSwitch و APT و ClockWorks و Embedded Control Solutions Company و EtherSynch و Flashtec و Hyper Speed Control و HyperLight Load و IntelliMOS و Libero و motorBench و mTouch و Powermite 3 و Precision Edge و ProASIC و ProASIC Plus وشعار ProASIC Plus و Quiet- Wire ، SmartFusion و SyncWorld و Temux و TimeCesium و TimeHub و TimePictra و TimeProvider و TrueTime و WinPath و ZL هي علامات تجارية مسجلة لشركة Microchip Technology Incorporated في الولايات المتحدة الأمريكية
قمع المفتاح المجاور ، AKS ، التناظرية مقابل العصر الرقمي ، أي مكثف ، AnyIn ، AnyOut ، التبديل المعزز ، BlueSky ، BodyCom ، CodeGuard ، CryptoAuthentication ، CryptoAutomotive ، CryptoCompanion ، CryptoController ، dsPICDEM ، dsPICDEMing.net ، ، ECAN ، Espresso T1S ، EtherGREEN ، GridTime ، IdealBridge ، البرمجة التسلسلية داخل الدائرة ، ICSP ، INICnet ، الموازية الذكية ، اتصال Inter-Chip ، JitterBlocker ، Knob-on-Display ، maxCrypto ، maxView، memBrain ، Mindi ، MiWi ، MPASM ، MPF ، شعار MPLAB المعتمد ، MPLIB ، MPLINK ، MultiTRAK ، NetDetach ، NVM Express ، NVMe ، توليد الكود الشامل ، PICDEM ، PICDEM.net ، PICkit ، PICtail ، PowerSmart ، PureSilicon ، QMatrix ، REAL ICE ، Ripple Blocker، RTAX، RTG4، SAM-ICE، Serial Quad I / O، simpleMAP، SimpliPHY، SmartBuffer، SmartHLS، SMART-IS، storClad، SQI، SuperSwitcher، SuperSwitcher II، Switchtec، SynchroPHY، Total Endurance، TSHARC، USBCheck، VariSense ، VectorBlox ، VeriPHY ، ViewSpan وWiperLock وXpressConnect وZENA هي علامات تجارية لشركة Microchip Technology Incorporated في الولايات المتحدة ودول أخرى.
SQTP هي علامة خدمة لشركة Microchip Technology Incorporated في الولايات المتحدة الأمريكية
يعد شعار Adaptec و Frequency on Demand و Silicon Storage Technology و Symmcom و Trusted Time علامات تجارية مسجلة لشركة Microchip Technology Inc. في بلدان أخرى.
GestIC هي علامة تجارية مسجلة لشركة Microchip Technology Germany II GmbH & Co. KG، وهي شركة تابعة لشركة Microchip Technology Inc.، في بلدان أخرى.
جميع العلامات التجارية الأخرى المذكورة هنا هي ملك لشركاتها المعنية.
© 2009-2021 ، Microchip Technology Incorporated والشركات التابعة لها.
جميع الحقوق محفوظة.
ISBN: 978-1-5224-9314-3
المبيعات والخدمات في جميع أنحاء العالم
الأمريكتين
- المكتب الرئيسي
2355 غرب تشاندلر الجادة.
تشاندلر ، AZ 85224-6199
هاتف: 480-792-7200
الفاكس: 480-792-7277
الدعم الفني: http://www.microchip.com/
يدعم Web عنوان: www.microchip.com - أتلانتا
دولوث، جورجيا
هاتف: 678-957-9614
الفاكس: 678-957-1455 - أوستن، تكساس
هاتف: 512-257-3370 - بوسطن
ويستبورو، ماساتشوستس
هاتف: 774-760-0087
الفاكس: 774-760-0088 - شيكاغو
إيتاسكا، إلينوي
هاتف: 630-285-0071
الفاكس: 630-285-0075 - دالاس
أديسون، تكس
هاتف: 972-818-7423
الفاكس: 972-818-2924 - ديترويت
نوفي، ميشيغان
هاتف: 248-848-4000 - هيوستن، تكساس
هاتف: 281-894-5983 - انديانابوليس
نوبليسفيل، إنديانا
هاتف: 317-773-8323
الفاكس: 317-773-5453
هاتف: 317-536-2380 - لوس أنجلوس
ميشن فيجو، كاليفورنيا
هاتف: 949-462-9523
الفاكس: 949-462-9608
هاتف: 951-273-7800 - رالي، كارولاينا الشمالية
هاتف: 919-844-7510 - نيويورك، نيويورك
هاتف: 631-435-6000 - سان خوسيه، كاليفورنيا
هاتف: 408-735-9110
هاتف: 408-436-4270 - كندا – تورنتو
هاتف: 905-695-1980
الفاكس: 905-695-2078
آسيا/المحيط الهادئ
- أستراليا – سيدني
هاتف: 61-2-9868-6733 - الصين – بكين
هاتف: 86-10-8569-7000 - الصين - تشنغدو
هاتف: 86-28-8665-5511 - الصين – تشونغتشينغ
هاتف: 86-23-8980-9588 - الصين - دونغقوان
هاتف: 86-769-8702-9880 - الصين – قوانغتشو
هاتف: 86-20-8755-8029 - الصين - هانغتشو
هاتف: 86-571-8792-8115 - الصين - منطقة هونغ كونغ الإدارية الخاصة
هاتف: 852-2943-5100 - الصين - نانجينغ
هاتف: 86-25-8473-2460 - الصين - تشينغداو
هاتف: 86-532-8502-7355 - الصين – شنغهاي
هاتف: 86-21-3326-8000 - الصين - شنيانغ
هاتف: 86-24-2334-2829 - الصين - شنتشن
هاتف: 86-755-8864-2200 - الصين - سوتشو
هاتف: 86-186-6233-1526 - الصين - ووهان
هاتف: 86-27-5980-5300 - الصين - زيان
هاتف: 86-29-8833-7252 - الصين - شيامن
هاتف: 86-592-2388138 - الصين - تشوهاى
هاتف: 86-756-3210040 - الهند – بنغالور
هاتف: 91-80-3090-4444 - الهند - نيودلهي
هاتف: 91-11-4160-8631 - الهند - بيون
هاتف: 91-20-4121-0141 - اليابان - أوساكا
هاتف: 81-6-6152-7160 - اليابان – طوكيو
هاتف: 81-3-6880- 3770 - كوريا - دايجو
هاتف: 82-53-744-4301 - كوريا - سيول
هاتف: 82-2-554-7200 - ماليزيا - كوالالمبور
هاتف: 60-3-7651-7906 - ماليزيا - بينانج
هاتف: 60-4-227-8870 - الفلبين – مانيلا
هاتف: 63-2-634-9065 - سنغافورة
هاتف: 65-6334-8870 - تايوان - هسين تشو
هاتف: 886-3-577-8366 - تايوان - كاوشيونغ
هاتف: 886-7-213-7830 - تايوان - تايبيه
هاتف: 886-2-2508-8600 - تايلاند – بانكوك
هاتف: 66-2-694-1351 - فيتنام - هوشي منه
هاتف: 84-28-5448-2100
أوروبا
- النمسا - ويلز
هاتف: 43-7242-2244-39
الفاكس: 43-7242-2244-393 - الدنمارك – كوبنهاجن
هاتف: 45-4485-5910
الفاكس: 45-4485-2829 - فنلندا - إسبو
هاتف: 358-9-4520-820 - فرنسا – باريس
هاتف: 33-1-69-53-63-20
الفاكس: 33-1-69-30-90-79 - ألمانيا – جارشينج
هاتف: 49-8931-9700 - ألمانيا - هان
هاتف: 49-2129-3766400 - ألمانيا – هايلبرون
هاتف: 49-7131-72400 - ألمانيا - كارلسروه
هاتف: 49-721-625370 - ألمانيا – ميونخ
هاتف: 49-89-627-144-0
الفاكس: 49-89-627-144-44 - ألمانيا – روزنهايم
هاتف: 49-8031-354-560 - ايطاليا - ميلان
هاتف: 39-0331-742611
الفاكس: 39-0331-466781 - إيطاليا - بادوفا
هاتف: 39-049-7625286 - هولندا - Drunen
هاتف: 31-416-690399
الفاكس: 31-416-690340 - النرويج - تروندهايم
هاتف: 47-7288-4388 - بولندا – وارسو
هاتف: 48-22-3325737 - رومانيا – بوخارست
هاتف: 40-21-407-87-50 - اسبانيا - مدريد
هاتف: 34-91-708-08-90
الفاكس: 34-91-708-08-91 - السويد - جوتنبرج
هاتف: 46-31-704-60-40 - السويد – ستوكهولم
هاتف: 46-8-5090-4654 - المملكة المتحدة - ووكينغهام
هاتف: 44-118-921-5800
الفاكس: 44-118-921-5820
ملحوظة:
يهدف قسم الدليل المرجعي للعائلة هذا إلى أن يكون بمثابة تكملة لأوراق بيانات الجهاز. اعتمادًا على نوع الجهاز، قد لا ينطبق هذا القسم اليدوي على جميع أجهزة dsPIC33/PIC24. يرجى الرجوع إلى الملاحظة الموجودة في بداية فصل "ذاكرة برنامج الفلاش" في ورقة بيانات الجهاز الحالية للتحقق مما إذا كان هذا المستند يدعم الجهاز الذي تستخدمه.
تتوفر أوراق بيانات الجهاز وأقسام دليل مرجع العائلة للتنزيل من Microchip Worldwide Webالموقع في: http://www.microchip.com.
المستندات / الموارد
![]() |
برمجة فلاش MICROCHIP PIC24 [بي دي اف] دليل المستخدم برمجة فلاش PIC24، PIC24، برمجة فلاش، برمجة |
![]() |
برمجة فلاش MICROCHIP PIC24 [بي دي اف] دليل المستخدم برمجة فلاش PIC24، PIC24، برمجة فلاش |