أن تصبح جزءا لا يتجزأ من اللوحة الرسمية تصميم وتطوير المهندس هو عملية صعبة تتطلب المطورين للحفاظ على وإدارة كل بت بايت من النظام . من دورة التنمية العادية إلى التنفيذ الصارم ونظام التفتيش ، وهناك العديد من التقنيات التي يمكن استخدامها لتطوير موثوق بها للغاية جزءا لا يتجزأ من النظم . وهنا سبع نصائح سهلة الاستخدام ودائم التي يمكن أن تحسن كثيرا من موثوقية النظام والتقاط السلوك الشاذ .
نصيحة 1 - ملء روم مع القيم المعروفة
مطوري البرمجيات تميل إلى أن تكون متفائلة جدا من الناس ، فقط للحفاظ على رمز تشغيل بأمانة لفترة طويلة ، هذا كل شيء . يبدو من النادر أن متحكم يقفز من مساحة التطبيق و ينفذ في غير متوقعة رمز الفضاء . ومع ذلك ، فإن احتمال أن يحدث هذا ليس أقل من ذاكرة التخزين المؤقت تجاوز أو مؤشر خطأ مفقود إشارة . حدث ذلك ! عندما يحدث هذا ، فإن سلوك النظام سوف تكون غير مؤكدة ، لأن مساحة الذاكرة الافتراضية هي 0xff ، أو لأن منطقة الذاكرة عادة ما تكون غير مكتوبة ، والتي قد تكون القيم الله وحده يعلم .
ومع ذلك ، هناك تماما رابط أو بيئة تطوير متكاملة التكنولوجيا المتاحة للمساعدة في تحديد مثل هذه الأحداث واستعادة النظام من ذلك . الحيلة هي استخدام أمر الانتظار لملء بعض أنماط معروفة من دون روم . يمكنك استخدام العديد من تركيبات مختلفة لملء الذاكرة غير المستخدمة ، ولكن إذا كنت ترغب في بناء نظام أكثر موثوقية ، الخيار الأكثر وضوحا هو وضع ISR معالج الفشل في هذه المواقع . إذا كان هناك مشكلة مع النظام ، المعالج سوف تبدأ في تنفيذ التعليمات البرمجية خارج البرنامج الفضاء ، مما اثار ISR ، وتوفير فرصة لتخزين المعالج ، سجل ، ونظام الدولة قبل اتخاذ قرار بشأن الإجراءات التصحيحية .
نصيحة 2 -- التحقق من تطبيق اتفاقية حقوق الطفل
ميزة واحدة من جزءا لا يتجزأ من المهندسين هو أن لدينا بيئة تطوير متكاملة وأدوات السلاسل تلقائيا توليد التطبيق أو مساحة الذاكرة اختباري للتحقق من أن التطبيق يعمل بشكل صحيح . ومن المثير للاهتمام ، في كثير من الحالات ، اختباري يستخدم فقط عندما يتم تحميل رمز البرنامج على الجهاز .
ومع ذلك ، إذا كانت اتفاقية حقوق الطفل أو الاختباري وحفظها في الذاكرة ، والتحقق من أن التطبيق لا يزال في حالة جيدة عند بدء التشغيل ( حتى على المدى الطويل نظام التشغيل العادية ) هو وسيلة جيدة لضمان أن لا يحدث حادث . إمكانية تغيير التطبيقات البرمجية هي الآن صغيرة ، ولكن بالنظر إلى المليارات من وحدات تحكم الصغرى التي يتم تسليمها كل عام ، واحتمال سوء بيئة العمل ، احتمال تعطل تطبيقات الأجهزة الطبية ليست صفر . أكثر من المحتمل ، عيوب في النظام يمكن أن يؤدي إلى كتابة فلاش أو فلاش محو في القطاع ، مما يقوض سلامة التطبيق .
نصيحة 3 - إجراء فحص ذاكرة الوصول العشوائي عند بدء التشغيل
من أجل بناء نظام أكثر موثوقية وأكثر قوة ، من المهم جدا للتأكد من أن أجهزة النظام تعمل بشكل صحيح . بعد كل شيء ، الأجهزة قد تفشل . ( لحسن الحظ ، فإن البرنامج لم يفشل أبدا ، فإنه ينفذ التعليمات البرمجية التي تقول لها أن تفعل ما إذا كان على حق أو خطأ ) .
هناك العديد من الطرق لأداء ذاكرة الوصول العشوائي الشيكات ، ولكن واحدة من الطرق الشائعة لكتابة نمط معروف ، ثم الانتظار لبعض الوقت لقراءة مرة أخرى . وينبغي أن تكون النتيجة قراءة وكتابة . في الواقع ، ذاكرة الوصول العشوائي الشيكات سوف تمر في معظم الحالات ، وهذا هو ما نريد . ومع ذلك ، هناك احتمال ضئيل أن التفتيش لن تمر ، مما يتيح فرصة ممتازة لوضع علامات على مشاكل الأجهزة في النظام .
نصيحة 4 - استخدام كومة رصد
العديد من المطورين المضمنة ، كومة يبدو نوعا من القوة الغامضة . عندما بدأت أشياء غريبة يحدث ، والمهندسين في نهاية المطاف عالقة ، وبدأ التفكير في ما يمكن أن يحدث في كومة . والنتيجة هي تغيير حجم وموقع المكدس دون وعي ، وما إلى ذلك ولكن الخطأ هو عادة مستقلة عن المكدس ، ولكن كيف يمكنك أن تكون على يقين من ذلك ؟ بعد كل شيء ، كيف العديد من المهندسين فعلا تحليل حجم المكدس في أسوأ الأحوال ؟
حجم المكدس هو ثابت في تجميع الوقت ، ولكن يستخدم بشكل حيوي . كما يتم تنفيذ التعليمات البرمجية ، المتغيرات ، عنوان العودة ، وغيرها من المعلومات التي يحتاجها التطبيق الخاص بك سوف تستمر في التخزين على المكدس . هذه الآلية تسبب كومة تنمو في الذاكرة المخصصة لها . ومع ذلك ، هذا النمو في بعض الأحيان يتجاوز حدود القدرات المحددة في تجميع الوقت ، مما تسبب في كومة تلف البيانات في مناطق الذاكرة المجاورة . . . . . . .
طريقة واحدة للتأكد من أن المكدس يعمل بشكل صحيح على الاطلاق هو استخدام كومة رصد كجزء من نظام " الصحة " رمز ( كيف العديد من المهندسين القيام بذلك ؟ ) . كومة رصد يخلق منطقة عازلة بين كومة وغيرها من مناطق الذاكرة و يملأ مع معروف قليلا واسطة . ثم رصد باستمرار رصد ما إذا كان هناك أي تغيير في الوضع . إذا كان نمط بت التغييرات ، وهذا يعني أن المكدس قد تصبح كبيرة جدا ، على وشك دفع النظام إلى الجحيم المظلم ! عند هذه النقطة ، يمكن رصد سجل الأحداث ، حالة النظام ، وغيرها من البيانات المفيدة لتشخيص المشكلة في وقت لاحق .
كومة رصد يمكن استخدامها لتنفيذ معظم أنظمة التشغيل في الوقت الحقيقي ( منظمات البحث والتكنولوجيا ) أو متحكم نظم الذاكرة وحدة الحماية ( MPU ) . ما هو مخيف هو أن هذه الميزات هي إيقاف افتراضيا ، أو في كثير من الأحيان عن قصد من قبل المطورين . بعد العثور على البحث السريع على الإنترنت ، كثير من الناس يوصي بإغلاق رصد المكدس في نظام التشغيل في الوقت الحقيقي لإنقاذ 56 بايت من مساحة ذاكرة فلاش ، وما إلى ذلك ، وهذا لا يستحق ذلك !
نصيحة 5 - استخدام MPU
في الماضي ، كان من الصعب العثور على وحدة حماية الذاكرة ( MPU ) في صغيرة ورخيصة متحكم ، ولكن هذا هو بداية لتغيير . من نهاية عالية إلى نهاية منخفضة متحكم MPU ، هذه MPU جزءا لا يتجزأ من مطوري البرمجيات يوفر فرصة لتحسين متانة البرامج الثابتة .
MPU قد تم تدريجيا بالإضافة إلى نظام التشغيل لإنشاء مساحة التخزين حيث يتم فصل العمليات ، أو المهام التي يمكن تنفيذ التعليمات البرمجية الخاصة بهم دون خوف من تدافع . إذا كان هناك أي شيء يحدث ، غير المعالجة سيتم إلغاؤها ، وغيرها من التدابير الوقائية المتخذة . يرجى الانتباه إلى متحكم مع هذا العنصر ، وإذا كان الأمر كذلك ، استخدام هذه الميزة .
نصيحة 6 - بناء نظام مراقبة قوية
سوف تجد في كثير من الأحيان واحدة من الاكثر شعبية تطبيقات الرقيب هو المكان الذي يتم تمكين الرقيب ( وهذا هو بداية جيدة ) ، ولكن يمكنك أيضا استخدام جهاز ضبط الوقت الدورية لإعادة الرقيب إلى الصفر؛ توقيت تمكين معزولة تماما عن أي شيء يحدث في البرنامج . الهدف من استخدام الرقيب هو المساعدة على ضمان أن الرقيب لا تطهيرها في حالة حدوث خطأ ، وهذا هو ، عندما توقف العمل ، فإن النظام سوف تضطر إلى تنفيذ إعادة تعيين الأجهزة لاسترداد . استخدام جهاز توقيت مستقل عن نشاط النظام ، حتى لو كان النظام لا يعمل ، كلب الحراسة يمكن أن تبقى مستيقظا .
جزءا لا يتجزأ من اللوحة الرئيسية للمطورين بحاجة إلى التفكير بعناية وتصميم كيفية دمج تطبيق المهام في نظام الرصد . على سبيل المثال ، قد تسمح تقنية واحدة لكل مهمة تشغيل لفترة من الوقت لإظهار أنها يمكن أن تنجز المهمة بنجاح . في هذه الحالة ، لا يتم مسح الشاشة ، ولكن يتم إعادة تعيين . وهناك أيضا تكنولوجيات أكثر تقدما ، مثل استخدام معالجات المراقبة الخارجية ، التي يمكن استخدامها لرصد أداء المعالج الرئيسي ، والعكس بالعكس . من المهم جدا أن يكون نظام مراقبة قوية وموثوق بها .
نصيحة 7 - تجنب تخصيص الذاكرة المتطايرة
المهندسين الذين ليسوا معتادين على العمل في بيئات محدودة الموارد قد تحاول استخدام وظائف لغة البرمجة ، والتي تسمح لهم باستخدام تخصيص الذاكرة المتطايرة . بعد كل شيء ، هذه هي التكنولوجيا التي تستخدم عادة في نظام الكمبيوتر الذي يخصص الذاكرة فقط إذا لزم الأمر . على سبيل المثال ، عندما وضعت مع جيم ، والمهندسين قد تفضل استخدام malloc تخصيص مساحة على كومة . أداء العملية ، وبمجرد الانتهاء ، يمكنك استخدام كومة خالية من استخدام الذاكرة المخصصة .
هذا يمكن أن يكون كارثة في نظام الموارد المحدودة ! مشكلة واحدة مع استخدام تخصيص الذاكرة المتطايرة هو أن خطأ أو تقنية غير صحيحة يمكن أن يؤدي إلى تسرب الذاكرة أو تجزئة الذاكرة . إذا كانت هذه المشاكل تحدث ، فإن معظم النظم المضمنة لا تملك الموارد أو المعرفة لرصد أو التعامل مع كومة كومة بشكل صحيح . . . . . . . عندما تفعل ذلك ، ماذا يحدث إذا كان التطبيق يطلب الفضاء ، ولكن ليس هناك طلب الفضاء المتاحة ؟
استخدام تخصيص الذاكرة المتطايرة يخلق مشاكل معقدة ، والتعامل معها بشكل صحيح يمكن أن يكون كابوسا ! طريقة أخرى هي تبسيط تخصيص الذاكرة مباشرة وثابتة . على سبيل المثال ، ببساطة إنشاء 256 بايت عازلة في البرنامج ، بدلا من طلب هذا الحجم من ذاكرة التخزين المؤقت من خلال malloc . . . . . . . هذه الذاكرة المخصصة يمكن الحفاظ عليها طوال دورة حياة التطبيق دون الحاجة إلى القلق حول كومة أو تجزئة الذاكرة .
أعلاه جزءا لا يتجزأ من اللوحة الأم تصميم وتطوير البرنامج التعليمي يمكن أن تسمح للمطورين التقنيين للحصول على أفضل طريقة جزءا لا يتجزأ من النظام . كل هذه التقنيات هي سرية ، مما يسمح للمصممين لتطوير أكثر موثوقية جزءا لا يتجزأ من النظم .
上一页 : 已经没有了。
下一页: 已经没有了。
اتصل بنا
مرحبا ، إذا كان لديك أي أسئلة أخرى ، يرجى ترك تفاصيل الاتصال الخاصة بك . شركتنا سوف ترسل مدير حساب المهنية لخدمتك . شكرا لدعمكم ، ونحن نتطلع إلى التعاون !