يمكن تخصيص إمكانية تحديث البرامج الثابتة ليس فقط أثناء التثبيت الأولي في موقع العميل ، ولكن أيضًا بعد تثبيت المنتج ، يمكن إضافة ميزات / ميزات جديدة على الفور ، كما يمكن إصلاح أي مشكلات للبرامج الثابتة أثناء الاستخدام. تتميز مكونات الذاكرة المتطايرة بقدرات تسجيل قابلة للتكرار ويمكن الاعتماد عليها بشكل كبير ، وغالبًا ما يتم استخدامها كوسائط تخزين كود البرنامج الثابت.
من خلال إعادة كتابة البرنامج الثابت للمكون وتغيير جزء من البرنامج (يستخدم المكون ذاكرة غير متطايرة) ، يمكن للشركة المصنعة تحديث ميزات الجهاز أو ترقياته بسهولة .عندما تريد تحديث البرنامج الثابت ، هناك ثلاثة أشياء يجب مراعاتها ، وهي بالتحديد. ماذا / مقدار رمز البرنامج ، وتكرار التحديث ، والوقت اللازم لإجراء التحديث (السرعة).
أولاً ضع في اعتبارك عدد تحديثات التعليمات البرمجية للبرنامج الثابت
في وقت التصميم الأولي لجهاز IoT ، من الضروري النظر في / كم عدد البرامج الثابتة التي تم تحديثها. بالنسبة للجزء غير القابل للتحديث ، يجب تخزين الجزء القابل للتحديث من البرنامج الثابت في منطقة منفصلة من مكون ذاكرة NOR. يتطلب تحديث أي جزء من ذاكرة NOR flash أولاً يتم مسح هذا الجزء من الذاكرة ويتم نسخ برنامج المعلومات الجديد في هذا القسم ، وتنقسم ذاكرة فلاش NOR إلى أقسام تسمى المقاطع والكتل ، وتكون أحجامها مختلفة.
تنقسم مكونات ذاكرة فلاش NOR (مثل المكونات التي تستخدم تقنية SST SuperFlash) إلى كتل متعددة 4KB ، يمكن محو كل كتلة بشكل فردي وإعادة نسخها (4KB = 4 × 1024 × 8 بت = 32،762 بت) ويمكن أيضًا تقسيمها إلى بالنسبة إلى مقاطع أكبر من 8 كيلوبت و 32 كيلوبايت و 64 كيلوبايت ، يمكن أيضًا محو هذه الأقسام بشكل فردي.
وفقا لذلك، هناك حجم مبنيين من 8KB، 32KB FIG. يظهر حجم 8 بنات، وحجم كتلة 64KB 16. 1 SST26VF064B استخدام منطقة الذاكرة 8KB / 32KB / 64KB تتكون، وربما تكون كل منطقة محمية بشكل منفصل. قبل أي تحديث أي جزء من ذاكرة فلاش، ويجب إلغاء منطقة حماية الجزء الذي يسمح للحرق ومحو العمليات.
يتكون تكوين الذاكرة FIG 1 SST26VF064B (الصورة) من ثمانية أجزاء 8KB، شرائح 32KB وجزأين 126 تكوين 64KB.
يجب أن يكون القسم بعد التحديث، ومرة أخرى هذه الأقسام باي بعناية لتجنب الكتابة عرضي أو محو هذه المجالات. يمكن تحديث البرامج الثابتة بطريقة مرنة بما فيه الكفاية تقسيمها إلى شرائح وكتل، وذلك لدعم في وقت واحد لعدد محدود والحد الأقصى لعدد التحديث ميزات / وظيفة.
نظرًا لتحديد سرعة التنفيذ من خلال عدد القطاعات والكتل التي تحتاج إلى مسح وإعادة كتابتها ، فمن الأفضل مراعاة السرعة والمرونة عند تنظيم الجزء القابل للتحديث من البرنامج الثابت.
يوضح الشكل 2 مثالًا لتنظيم الذاكرة كأجزاء قابلة للتحديث وغير قابلة للتحديث ، ويتم تخزين الأجزاء غير القابلة للتحديث مثل شفرة التمهيد في المنطقة المحمية.
يقسم الشكل 2 تنظيم الذاكرة إلى أجزاء متعددة غير قابلة للتحديث (مثل رمز المُحمل) وأجزاء قابلة للتحديث (مثل رمز البرنامج الوظيفي / المميز ورمز برنامج الصورة ورمز البرنامج المتغير للمعلمة).
الجزء القابل للتحديث من البرامج الثابتة ، مثل الميزات / الميزات ، إلخ ، ينقسم إلى أقسام أصغر أو أقسام أكبر وفقًا لمتطلبات المرونة ، حيث يتم تخزين الصورة القابلة للتحديث في القسم الأكبر مع المتغيرات القابلة للتحديث / يتم تخزين المعلمات في أقسام أصغر.
القيد الرئيسي لتردد تحديث البرامج الثابتة هو عدد عمليات الكتابة في الذاكرة المستخدمة في التطبيق ، حيث تستطيع ذاكرة تقنية SuperFlash (مثل SST26VF064B) تحمل 100000 الكتابة ، مما يعني أن كل قطاع يمكن أن يحرق ويمحو 100،000 مرة. مرات.
حساب البرامج الثابتة كتابة تأكيد تحديث المقاومة تردد
يمكن تحديث البرنامج الثابت 100،000 مرة ، وهو يبدو كثيرًا ؛ ومع ذلك ، فإن العديد من أجهزة إنترنت الأشياء تقوم بتجميع البيانات أثناء الاستخدام وتخزين المعلومات في فلاش NOR ، لذا يجب أخذ ذلك في الاعتبار عند حساب الحد الأقصى المسموح به لتحمل الكتابة.
وبالنظر إلى عدد عمليات الكتابة ، يجب تخصيص عدد كاف من الشرائح في الذاكرة ، وكما هو موضح أدناه ، يفترض أن جهاز إنترنت الأشياء يقوم بجمع وتخزين 16 بايت من المعلومات ، ومن المتوقع أن يتم جمع المعلومات وتخزينها خلال فترة حياة المنتج. 100 مليون مرة
وبهذه الطريقة ، يمكن حساب عدد الأقسام التي يجب تخصيصها بالطريقة التالية:
1 قسم = 4 كيلو بايت
افترض أن جميع وحدات العناوين في الشريحة يتم استخدامها لتخزين المعلومات (16 بايت من البيانات في كل مرة) ثم الكتابة إلى موقع عنوان جديد حتى الوصول إلى نهاية القطعة (على سبيل المثال ، 0x0000-0x000F. ، 0x0010-0x001F ، 0x0020-0x002F ، وما إلى ذلك).
منذ 4 كيلوبايت / 16 بايت = 256 ، هذا هو عدد المرات التي يمكن كتابتها السعة إلى وسيط التخزين قبل الوصول إلى سعة المقطع ومحو أي بيانات في المقطع.
حدود مقاومة المسح من 1 منطقة = 100،000 مرة.
لذلك ، إذا كان من الممكن كتابة شريحة واحدة 256 مرة ومقاومة الخدش هي 100،000 مرة ، فيمكن جمع وتخزين 25.6 مليون بيانات.
إذا كان التطبيق يحتاج إلى جمع وتخزين البيانات 100 مليون مرة ، فإن عدد القطاعات التي سيتم تخصيصها هو 100،000،000 / 25،600،000 = 3.9 ، لذلك في هذا المثال ، يجب تخصيص 4 شرائح للتعامل مع 100 مليون دورة حياة. بيانات بايت.
يجب على مهندسي معدات إنترنت الأشياء القيام بعمليات حساب مماثلة لتخصيص أقسام وكتل كافية لمعلمات تسجيل البيانات لتجنب تجاوز حدود القدرة على تحمل الكتابة لمكونات فلاش NOR الخاصة بهم.
تقليل وقت التحديث وتقليل وقت توقف الماكينة
ويمكن حساب عدد وفقا للحاجة لمحو وكتابة القسم ومعدل التحديث البلاط من عدة افتراضات بحاجة إلى إعادة كتابة أجزاء SST26VF064B 64KB المخزنة في 1MB، بعد 2Mb أو 4MB البرامج الثابتة برنامج / رمز البيانات؛ رمز البرنامج / بيانات يمكن تشكيلها للبرامج الثابتة صورة رمز البرنامج أو رمز برنامج آخر لتحديث التكوين.
ويشمل إجراء التحديث فلاش تنفيذ سلسلة من التعليمات الأمر لإلغاء حماية من قسم تسلسل الذاكرة ابدأ، ومن ثم محو هذه الأقسام، مع البيانات المحدثة / كود برنامج الحرق، وأخيرا إعادة الحماية.
SST26VF064B المستخدمة يمكن أن توفر أفضل التكنولوجيا SuperFlash أداء محو، مقارنة مع ذاكرة فلاش التقليدية، ومحو أداء SuperFlash التي تقدمها تقنية المفضلة هو مفيد لاختصار الوقت التحديث.
تردد الحد الأقصى لدعم 104MHz SST26VF064B، وأقصى حد الساعة محو 25ms، والتي تتطابق إلى أقصى وقت التسجيل على 1.5ms الصفحة. وعلاوة على ذلك، كل تعليمات قيادة صادرة من ذاكرة فلاش لتعمل على تردد 104MHz، وتأخير وسيطة الحاجة 12ns (CE الأوان).
وتظهر أساليب محددة في الجدول 1 والجدول، ويجب أن يتم هذه الحسابات لتقدير المهندسين جهاز تقنيات عمليات لأداء معدل التحديث، والغرض من تقصير أقصى حد خلال جهاز التحديث هو مبين في الشكل 2 تقنيات عمليات التوقف.
حدد الجهاز الذاكرة المناسب متقلبة لتعزيز المرونة في تقنيات عمليات
تحتاج تقنيات عمليات مهندسين تصميم المعدات لتوفير عند تحديث رمز التطبيق والبيانات من المرونة التي / كم برنامج التحديثات الرمز، تردد التحديث ومعدل التحديث هو الحاجة إلى إيجاد حل لمشكلة تصميم معدات تقنيات عمليات؛ خيارات ذاكرة غير متطايرة تؤثر هذه المشاكل ، ولعب دور رئيسي في حساب الوقت والسرعة لتحديثات رمز البرنامج.