السلام عليكم اخوانى ..
انا مهندس مجال عملى بعيد عن الحاسب ولكنى مهتم بلغات البرمجة والتطوير .
وجدت منحه مجانيه للمهندسين عن الــEmbedded System ولكنى لا ادرى عنها شئ وبالبحث وجدت انها تشبه البرمجه و اختبار البرمجيات .
فرجاء من الاخوه المبرمجين افادتى عن الموضوع وعن سوق عمله فى مصر وشكرا لكم مقدما .
التعليقات
الEmbedded System يطلق على الحواسيب البسيطة التى تستخدم غالبا كجزء من جهاز أو نظام أكبر من أجل مهمة معينة و محددة و بسيطة (بعكس الحاسوب المتعدد الاستخدامات). غالبا ما تستخدم مثلا لجمع المعلومات من حساسات ثم توجيه محرك أو اعطاء أمر ما,
هى عبارة عن حواسيب و لكنها أبسط لتتناسب مع قدر المهمة,
تبرمج الEmbedded System غالبا مباشرة عبر حرق اكواد الassembly او الc على الROM الخاص بها بعد ترجمتها,
برمجة الEmbedded System بسيطة نوعا ما و لكنها تحتاج الى دراسة جيدة لقدرات الدائرة و مخرجاتها و مدخولاتها,
و تبرمج عادة على الAssembly او الC, و هناك أيضا مترجمات بيسك و باسكال, لكن هذا ليس معتادا.
ميزتها الاساسية انها أقل تعقيدا من الحاسوب التقليدى, ما يعنى انها اكثر استقرارا و ليس بها مشاكل الحاسوب المعتادة مثل عدم الاستقرار و السخونة, و بالتالى تؤدى مهمتها دائما بدون أخطاء.
لا يشترط تخصص معين, يكفى المعرفة بمبادىء الدوائر الكهربائية و البرمجة و طبعا المجال الذى سوف تستخدم فيه النظام. فأنت تتداخل بين علم البرمجة و الالكترونيات بالاضافة الى التخصص الذى يستخدم فيه الEmbedded System, قد يكون سيارة مثلا,
فعليك ان تكون فى هذه الحالة مهندس الكترونيات و مهندس برمجيات و مهندس سيارات فى الوقت نفسه,
أنا مهندس مثلك و أعرف جيدا ان المهندس مهما كان تخصصه يستطيع ان يعمل بأى مجال هندسى غير تخصصه.
باختصار لكل مشروع دراسة حالة عليك الالمام بها, و مبادىء العلوم الاولية التى نحفظها جميعا تكفى.
سوق عمله موجود فى مصر و مزدهر, هناك العديد من الشركات التى تصمم أنظمة تعتمد على الEmbedded Systems, أو تستخدمها فى عملياتها و تصمم داخليا, فى عملى فى مجال البترول شاركت فى تصميم Embedded Systems و برمجتها. و الأمر ليس صعب لكنه يحتاج الى :
دراسة الدائرة التى سوف تعمل عليها بشكل جيد, من حيث قدراتها, و مدخولاتها و مخرجاتها.
دراسة لغة الاسمبلى الخاصة بالدائرة جيدا, حتى لو كنت سوف تعمل بلغة سى.
دراسة المهمة المطلوبة من الدائرة بدقة, و معرفة المطلوب بكل تفاصيله لتنفيذه بشكل صحيح.
التركيز الشديد و التجربة الجيدة, ففى الEmbedded Systems ليس مسموحا بالأخطاء أو الbugs, يجب ان يعمل هذا النظام لسنوات دون توقف.
مجال embedded system جميل و اصبح منتشر هذه الايام
واعتقد انه باماكنك تثبيت نواة لينكس عليه و برمجتها مع ما يناسب حاجتك
تثبيت اللينكس معناه انه لم يعد Embedded System, ففكرة الEmbedded System هو انه نظام حاسوب ينفذ مهمة واحدة و ينفذها جيدا, و طالما قمت بتثبيت نظام تشغيل فأنت فقدت ميزات الEmbedded system الاساسية و هى الثبات و البساطة.
لكن احيانا قد ارى مشاريع الكترونية مثل الروبوتات مثبت بها انظمة تشغيل
كيف تصمم اذا ؟ او ما هو مسماها ؟؟؟
الروبوتات تطبيق أعقد قليلا من التطبيقات التى تستخدم فيها الEmbedded System عادة, لأن الروبوت يدخل فيه الذكاء الاصطناعى (لتجنب العوائق مثلا و المشى) و عوامل عديدة للحركة و ربما الكلام.
و هنا تحتاج الروبوتات الى دوائر أعقد قليلا, أى فيها قدر اكبر من الهاردوير, و معالجات على مستوى الحاسوب العادى أعقد من تلك المعالجات البسيطة الموجودة فى الEmbedded System, هنا نحتاج الى نظام تشغيل, قد يكون لينكس, أو Windows CE أو قد يكون In-house أى مبنى داخل الشركة المتخصصة نفسها (و هذه تمثل نسبة لا بأس بها).
و الروبوتات المعقدة يشغلها Computer System, و ليس Embedded System, فالEmbedded System هو النظام الذى يمارس مهمة واحدة بسيطة و لا يوجد فيه ذكاء اصطناعى و لا تحليل معلومات بشكل كبير.