الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل ال C المناسبة لل embeded system ؟

بدأه leluoch في 4 سبتمبر 2012 · 12 رد · 2,807 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا بكم وشكرا لكم على هذا العالم المليئ بالمبدعين والافكار الرائعة...

اريد الدخول الى البرمجة من اوسع ابوابها ,, ما استهدفه هو التحكم الكامل من خلال المايكرو كمبيوتر (intel x86 , ARM) والبناء من الصفر ,, سواء لينكس او ويندوز ولكنني افضل لينكس ويونكس ,, ما الافضل ؟؟

واتمنى ان تكون لدي القدرات للتحكم من خلال Bluetooth , WiFI , GSM , etc , sensors و الربط بالذكاء الاصطناعي الاوتوماتيكي , تماما كما في السيارات , على سبيل المثال:

التحكم بمنزلي من خلال هاتفي الاندرويد ... مثال اخر : التحكم بروبوت من خلال ال wif gsm bluetooth عن طريق زرع المايكرو كمبيوتر بداخله .....

سؤالي ماهي اللغة المناسبة للبداية وما المفروض تعلمه , ارجو رسم الطريق الصحيح امامي وشكرا

تم تعديل هذه المشاركة بواسطة leluoch في 4 سبتمبر 2012 في 16:34

#2

ال c مناسبة جدا فى برمجة ال embedded system وهى اللغة المنتشرة غالبا كلغة عاليا المستوى فمن الأرجح ان تجد c compiler لمعظم الماركات المشهورة لكن من السعب ان تجد مثلا كمباير للبيسيك

1

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#3

إذا كنت تسأل عن برمجة الـ Microcontroller نفسه

فافضل شيء هي لغة التجميع Assembly للحصول على أعلى كفاءة ممكنة

فإن لم يكن فليس هناك فرق بين أي لغة و أخرى، العبرة

باللغة التي تؤدي لك غرضك و تستطيع التعامل معها بكفاءة

و السبب أن الترجمة تختلف من شركة لأخرى حتى و إن كانت

اللغة واحدة، الترجمة تخلف و حجم الذاكرة الذي قد يشغله برنامج

مكتوب بالسي مثلاً باستخدام مترجمين لشركتين مختلفتين قد يختلف،

ستجد أيضاً أن المترجمين قد يتيحان خواص و مفاهيم برمجية مختلفة و متباينة بالرغم من أن اللغة

المستخدمة واحدة .. رأي الشخصي في مجال برمجة الـ Microcontroller

أن تقترب أكثر من بنية المتحكم نفسه و تفهمها و تفهم كيفية عمل كل وحدة يحتوي

عليها لكي تقوم باستخدامها، بعدها سيمكنك الوصل لما تريده بأي لغة أياً كانت.

أما إن كنت تقصد البرمجة على ويندوز مثلاً أو لينوكس للربط مع نظام مدمج مبني بالـ Microcontroller

فأعتقد أنه نعم السي تعتبر أقوى اللغات للتعامع مع عتاد الجهاز لكي تصل إلى نظامك المدمج.

و إن كان بالإمكان استخدام لغات أخرى لتأدية الغرض بكفاءة عالية مثل C# و Java و يمكن أيضاً VB.Net

تم تعديل هذه المشاركة بواسطة COMFORT في 5 سبتمبر 2012 في 09:27

1
مواضيع و دروس
الكتابة بعدة ألوان داخل الــ TetxBoxمكتبة الأكوادتحميل الــ Visual Basic Express 2005
تحميل فيجوال بسيك 6أكواد × أكواددروس في الخوارزميات
لتحميل عدة إصدارات من كريستال ريبورتتحميل برنامج Activ Skin 4.3جمل الــ Sql من الألف إلى الياء
معظم المواقع المختصة بالفيجوال بيسيكموقع كويس للأيقوناتمرجع شامل لأدوات ActivX
كيفية نطق الحرف المكتوب شرح عن كيفية إقامة علاقة مع Data Reprot باستخدام الــ DataEnvironment علاقة مع الـ Datareport بدون استخدام DataEnvironment (( شرح ))
كتاب Migrating From DAO to ADOإضافة لـ VB6 بريمج IndenterVB, إضافة لبيئة تطوير فيجوال بيسك 6حوار بينى و بين عضو حول ال winsock , اتمنى ان يعجبكم
Smart Indenter 3.5 لتنسيق الأكواد, هديه لكل الأعضاء السلسلة الدهبية في المواضيع العلمية ، إستغلال الـ Balloons في الـ Windows XP مصفوفات الأدوات Control Arrays افكار وتلميحات ! , لمن افتقدها من أيام الـ VB6.0
جعل خلفية الـ Mid Form تظهر بالكامل خواص الاداة Winsock لربط الاجهزة عن طريق الانترنتكيف يتم عمل تقارير بإستخدام HTML

7.gif
#4

شكرا لكم . اعتذر عن التأخر في الرد بسبب الاوضاع الحالية في سوريا ,,,

نعم انا اريد تحكم كامل وحتى بالمايكروكونترولا وكما نعلم ان بيئة ARM هي بالاصل Microcontroller .. الاضافة الى التحكم بها عن بعد وربطها ب اي منفذ والتحكم بها عن طريق النظام المدمج مثال القدرة على التحكم بمثل هذه اللوحات :

http://www.armkits.com/product/devkit8500d.asp

ارجوا دعمي ببعض الروابط وشكرا لكم

تم تعديل هذه المشاركة بواسطة leluoch في 15 سبتمبر 2012 في 01:08

#5

نصحية لو جة الله

استخدم لغات برمجة عالية المستوي مثل جافا وسي# او سي++ فى برمجة النظم المدمجة حتى تحقق الانتاجية

بمرور الوقت فان الخبرة وعامل الكفاءة سوف تحتم عليك استخدام لفة السي ثم الاسمبلي فى برمجة النظم المدمجة

وفقني الله واياك لخدمة بلادنا

1

post-15367-027053900%201340345097.gifpost-15367-087183200%201340344597.gif
post-247365-0-10080400-1379403554_thumb.

#6

عندما تدمن اللغات الموجه للكائنات مثل جافا وسي شارب يكون من الصعب عليك التعامل مع لغه مثل السي، ولكن الحق يقال ان لغة سي هي اللغه الامثل والافضل اذا كنت تريد التطوير لمثل هذه الانظمة ،

خصوصا برمجة ميكروكنترولرات مثل PIC اما بالنسبة لميكرو كنترولرات مثل اتميل Atmel فإن عليك استخدام لغه اشبه بالاسمبلي

اذا كنت تريد التطوير بالسي شارب او لغات عالية المستوى فعليك باستخدام Arduino, NetDuino, Gadgeter

تحياتي

1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#7

حسب بحثي الطويل , ساختار لغة السي , لانها تتعامل بكل بساطة وسهولة مع Arduino - Waspmote وبعد الخبرة سانتقل الى لغة اخرى كال جافا واتعلم الربط ب Maltab

هنالك العديد من الاسئلة التي تدور في ذهني ولكن كل ما اريده هو فهم مبدا العمل بشكل مفصل وبسيط , و اجد انني اصل الى هذه المرحلة ,,

اتمنى يوجد قسم مخصص للاردينو في هذا المنتدى . لتطبيق بعض المشاريع البسيطة التي تساعدنا للارتقاء نحو الافضل

#8
محمد عودة كتب:

نصحية لو جة الله

استخدم لغات برمجة عالية المستوي مثل جافا وسي# او سي++ فى برمجة النظم المدمجة حتى تحقق الانتاجية

بمرور الوقت فان الخبرة وعامل الكفاءة سوف تحتم عليك استخدام لفة السي ثم الاسمبلي فى برمجة النظم المدمجة

وفقني الله واياك لخدمة بلادنا

يا ترى إلى أي حد يعتبر عامل الكفاءة مهم في هذه التطبيقات ؟

المتحكم الدقيق يقضي معظم وقته ينتظر شيئ ما يحدث عوضا عن انشغاله بمعالجة كمية كبيرة من التعليمات . صح ؟

1
#9

NI LabVIEW Interface for Arduino Toolkit

http://sine.ni.com/nips/cds/view/p/lang/en/nid/209835

Getting Started With the LabVIEW Interface for Arduino

http://vishots.com/getting-started-with-the-labview-interface-for-arduino/

أستحصال المعطيات باستخدام NI LabVIEW Interface for Arduino Toolkit

http://www.dbaasco.com/vb/showthread.php?t=6399

أرجو أن يكون هذا الدعم مناسباً

{وقل ربي زدني علماً}

#10

السلام عليكم و رحمة الله و بركاته

عملت على النظم المدمجة، و البرمجة فيها ممتعة نظرا لضرورة الحرص على جودة الكود و حسن سيره.

البرمجة كانت بلغة السي (ANSI C) و كان من الضروري مراقبة الذاكرة المحجوزة لأن البرنامج يعمل في حلقة لا متناهية و بمرور الوقت يمكن أن يكون تراكم الذاكرة المحجوزة سببا في فشل البرنامج.

البرمجة كان على نظام اللينوكس و كان النظام التشغيل الذي يتم تنصيب البرنامج فيه هو LynxOS

لمراقبة الذاكرة إستخدمة الأداة Valgrind

#11

شكرا على المراجع

لاحظت ان الاسمبلي مهمة جدا لتحيلل وفهم عمل الدارة الالكترونية المتكاملة ,, هل يجب ان ابدء بها ؟؟ وثم انتقل الى ال c ؟ هل ساستفيد من هذه الخطوة ؟

#12
leluoch كتب:

شكرا على المراجع

لاحظت ان الاسمبلي مهمة جدا لتحيلل وفهم عمل الدارة الالكترونية المتكاملة ,, هل يجب ان ابدء بها ؟؟ وثم انتقل الى ال c ؟ هل ساستفيد من هذه الخطوة ؟

ليست الفكرة بالتعلم وإنما في الحفاظ على العلم وهذا عن تجربة شخصية من خلال متحكمات PIC منذ حوالي عشر سنوات لم تكن اللغات عالية المستوى منتشرة الى هذا الحد على الأقل في البلاد العربية

يفيد استخدام الأسمبلي الى استغلال موارد المتحكم بشكل جيد ولكن هذا الأستغلال أراه غير مجدي إذا كان على حساب الزمن مع تطور إمكانيات المتحكمات بشكل كبير جداً

ومع ذلك هناك Compilers تدعم استخدام الأسمبلي ضمن لغاتها الخاصة

ممكن ان تتعلمها ولكن ستنساها بعد فترة قصيرة جداً وبالتالي ستعود للمرجع الخاص بالمتحكم لكي تدخل بعض التعليمات وهذا نادر

الخلاصة اقتحم عالم C أو أي لغة أخرى

علماً أن Text languages أصبحت بمثابة اسمبلي مقارنة بـــ graphical programming languages بالنسبة لتوفير الزمن وبالتالي التطوير وبالتالي المنافسة (رأي شخصي )

تم تعديل هذه المشاركة بواسطة tell me في 26 سبتمبر 2012 في 11:40

{وقل ربي زدني علماً}

#13
tell me كتب:

ليست الفكرة بالتعلم وإنما في الحفاظ على العلم وهذا عن تجربة شخصية من خلال متحكمات PIC منذ حوالي عشر سنوات لم تكن اللغات عالية المستوى منتشرة الى هذا الحد على الأقل في البلاد العربية

يفيد استخدام الأسمبلي الى استغلال موارد المتحكم بشكل جيد ولكن هذا الأستغلال أراه غير مجدي إذا كان على حساب الزمن مع تطور إمكانيات المتحكمات بشكل كبير جداً

ومع ذلك هناك Compilers تدعم استخدام الأسمبلي ضمن لغاتها الخاصة

ممكن ان تتعلمها ولكن ستنساها بعد فترة قصيرة جداً وبالتالي ستعود للمرجع الخاص بالمتحكم لكي تدخل بعض التعليمات وهذا نادر

الخلاصة اقتحم عالم C أو أي لغة أخرى

علماً أن Text languages أصبحت بمثابة اسمبلي مقارنة بـــ graphical programming languages بالنسبة لتوفير الزمن وبالتالي التطوير وبالتالي المنافسة (رأي شخصي )

اتفق مع كلامك , فقط ساطلع على الاسمبلي وثم سابحر في عالم C ,

شكرا لكم جميعا

مواضيع مشابهة