Saturday, 20 January 2018

Gdbserver الذراع ثنائي - خيارات


قبل بضعة أيام اضطررت إلى تجميع غب يدويا من أجل تصحيح التطبيق الذراع لينكس انها تافهة جدا ولكن من المفيد جدا أن اعتقدت أنه سيكون فكرة لطيفة لنشر التعليمات هنا أدناه هناك بعض التفسيرات حول التصحيح عن بعد مع كديفيلوب. وقد تم ذلك مع غب-6 8، يمكنك الاستيلاء عليها هنا ومن المفترض أن أدوات الذراع لينكس المتاحة باث بشكل صحيح سيتبلينغ العميل غب. ديكومبريس غب-6 8 وتجميعه من قبل إصدار. بعد تجميع فقط نسخ غب غب إلى الذراع لينكس-غب حيث الثنائيات تولشين تولشين الثنائي يقيم هذا هو بحتة لتنظيم وتسمية المناسبة يمكنك الآن إزالة غب-6 8 الدليل. ملاحظة إذا كان الكمبيوتر الخاص بك المضيف المضيف إين t إنتيل يستند فقط استبدال x86 من قبل الصحيح قيمة لمنصة الخاص بك من أجل خادم غب ARM. Decompress غب-6 8 وتجميعه من قبل إصدار. بعد تجميع فقط نسخ غب غزيرفر سيرفر غبسيرفر إلى نظام الملفات أرم لينكس الخاص بك بحيث يمكنك تنفيذها من غبسرفر قذيفة عن بعد سوف يكون الذراع قزم ثنائي يمكنك الآن إزالة ز دب-6 8 الدليل. أولا يجب بدء تشغيل الملقم في معالج الذراع بإصدار شيء مثل. حيث يكون للتنفيذ هو التطبيق الذي سيتم تصحيحه والمضيف 1234 يخبر غبسيرفر للاستماع للاتصالات إلى منفذ 1234. لتشغيل غب فقط اكتب هذا في قذيفة بيسي. بعد ذلك سوف تحصل على موجه غب للاتصال نوع الهدف. لإستئناف تنفيذ نوع الاستمرار يمكنك الحصول على لمحة عامة عن استخدام غب هنا. التصحيح مع KDEvelop. KDevelop يمكن استخدامها لمشاهدة المتغيرات وتصحيح مكان بعيد الهدف نقاط التوقف، وقف التنفيذ، الخ اذهبوا إلى مشروع - خيارات المشروع وتأكد لديك شيء من هذا القبيل. هو الملف الذي يحتوي على التالي. بعد هذا سوف تكون على استعداد للتصحيح عن بعد أي تطبيق أرم لينكس. أنا جديدة لينكس كان لي تحميل غب-7 5 من الموارد غنو أنا بناء غب في بيئة سيغوين وحصلت على خطأ كما هو موضح أدناه. كونفيغور تحذير لم تعثر مكتبة المعاني المحسنة تعطيل التحقق توي للمكتبة التي تحتوي على تجيتنت أي خطأ تكوين لا مكتبة ترمكاب وجدت جعل 1 كونفيغور-غب خطأ 1 جعل 1 ترك الدليل شيز شيز جعل كل خطأ 2 شيز xyz. I قد أحال أيضا أخرى الموضوع و أنا بالفعل تثبيت نكورسيس-5 9 ولكن عندما كنت ذاهبا لجعل هذا الملف ثم حصلت على رسالة خطأ مثل. collect2 لد عاد 1 حالة الخروج جعل 1 خطأ 1 جعل 1 ترك دليل شيز شيز نكورسيس-5 9 ج جعل جميع خطأ 2.I حاولت أيضا تحميل مكتبة ترمكاب وكان بنجاح بويل ولكن عندما كنت ذاهبا لبناء غب-7 5 ثم يظهر لي نفس الخطأ كما هو موضح أعلاه. لذلك إذا كان أي شخص لديه فكرة كيفية حل هذه المشكلة ثم سيكون جدا كيند. شكرا مقدما. ريموت c روس الهدف التصحيح مع غب و غدزيرفر. في النظرية، غب مصحح الأخطاء غنو، يمكن أن تخفف من واجبات التصحيح التطبيقات التي تعمل على نظام جزءا لا يتجزأ من لينكس في الممارسة العملية، وإعداد غب لهذه المهمة هو قليلا من التحدي يستغرق بعض والعمل، وهناك بعض العقبات التقنية للتغلب ومع ذلك، فإن فوائد وجود وسيلة لتصحيح منهجي برنامج بدلا من التخمين ما هو الخطأ معها تفوق بكثير الجهد المعنية وهنا بعض النصائح لتخفيف الصعوبات. أكثر من تشغيل كامل - blown مثيل غب على منصة الهدف، يمكنك استخدام غبسيرفر برنامج يتيح لك تشغيل غب على جهاز مختلف عن تلك التي يتم تشغيل البرنامج الخاص بك ميزة استخدام غبسيرفر هو أنه يحتاج فقط جزء صغير من الموارد المستهدفة أن غب يستهلك، لأنه ينفذ فقط وظائف على مستوى منخفض من المصحح - وهي وضع نقاط التوقف والوصول إلى سجلات المعالج الهدف وقراءة الكتابة تطبيق الذاكرة غبسيرفر يأخذ السيطرة على تطبيق ويب يجري تصحيحها، ثم ينتظر للحصول على تعليمات من مثيل بعيد من غب تعمل على محطة عمل تطوير. على نحو نموذجي، محطة العمل تطوير معالج مختلف يقول، معالج فئة i686 من منصة الهدف التي قد تكون أرم، بويرك، أو أي شيء آخر هذا يعني أنك يمكن أن ببساطة استخدام غب قابل للتنفيذ الذي تثبيت على محطة العمل - تريد مصحح أخطاء عبر الهدف وبعبارة أخرى، لديك لبناء مخصص غب من التعليمات البرمجية المصدر. بناء غب. يستخدم المثال التالي 7450 بويرك كمعالج الهدف. قبل أن تبدأ، تحتاج إلى واجهة اتصال بين بيسي تشغيل غب ومنصة الهدف إما ارتباط تسلسلي أو، ويفضل أن يكون اتصال شبكة إيثرنت تحتاج أيضا أداة تروسشين عبر الهدف ل غنو C مترجم جنبا إلى جنب مع C مكتبة وقت التشغيل والمرافق الثنائية، ويعرف أيضا باسم بينوتيلز الذي يعمل على محطة العمل تطوير ويولد التنفيذية للمعالج الهدف سوف بناء مجموعتين من الثنائيات من مصدر غب code. cross الهدف - حيث المضيف هو محطة العمل تطوير والهدف هو الهدف المعالج. نظامي - حيث كل من المضيف والهدف هو المعالج المستهدف. أولا تحميل غب شفرة المصدر أرشيف مضغوط، وفك it. The غب حزمة المصدر يستخدم نظام بناء غنو، حيث توليد الثنائيات وعادة ما يكون مجرد عدد قليل من الأوامر بعيدا تكوين جعل جعل تثبيت ولكن في حالتنا أنه من الصعب قليلا نحن نعتزم بناء الثنائيات اثنين من المعالجات المختلفة المضيف، وتثبيت الثنائيات في مواقع مختلفة لذلك نحن ليرة لبنانية بناء الثنائيات في الدلائل الخاصة بهم، بدلا من الدليل الذي نحن تفريغ حزمة المصدر وعلاوة على ذلك، سنقوم باستخدام تكوين سطر الأوامر سطر الأوامر لتحديد المعالجات الهدف والمضيف والبادئة دليل التثبيت. للبناء الثنائيات عبر الهدف، وتحديد بنية الهدف مع الخيار --target معرف الهندسة المعمارية هنا بويرك-7450-لينوكس-غنو هو بادئة جميع الثنائيات عبر تولشين هنا ث ه الصليب مترجم ثنائي هو بويرك-7450-لينوكس-غنو-غك. البناء الثنائيات الهدف الأصلي هو أكثر صعوبة بالنسبة لشيء واحد تحتاج إلى تحديد بنية المضيف نفس العمارة الهدف بويرك-7450-لينوكس-غنو مسألة أخرى مفقود المكتبات - بعض المكتبات قد لا تكون متاحة في عبر تولشين، ويجب أن يتم بناؤها قبل محاولة بناء غب الهدف الأصلي ويوضح هذا المثال كيفية النجاح عند العثور على مكتبة ترمكاب الهدف الأصلي مفقود بناء الصليب يختلف إلى حد ما هنا - استخدام تكوين --help عندما تكون في شك. أحد العدد الأخير للنظر هو ما إذا كان يجب أن تكون مرتبطة ثنائيات ثابتة هذا مطلوب إذا كان النظام الأساسي الهدف مفقود بعض المكتبات المشتركة التي غب و غبسيرفر تعتمد على للتشغيل العادي، ولكن تكون الملفات التنفيذية الناتجة أكبر بكثير من تلك المرتبطة ديناميكيا يمكنك تحديد ارتباط ثابت بإضافة الخيار - static لمتغير البيئة لفلفاغس قبل تشغيل تكوين أي مكتبة إضافية يجب أيضا أن تكون سبيسيفي د في كل من لدلاغس و كبفلاغس على النحو التالي. نو غنو رابط سيصدر بعض التحذيرات أثناء عملية البناء باستخدام بعض الوظائف على سبيل المثال دلوبين، جيثوستبينام، وعدد قليل في تطبيقات مرتبطة بشكل ثابت يتطلب في وقت التشغيل المكتبات المشتركة من إصدار مكتبة وقت تشغيل غنو C تستخدم لربط قد تضطر إلى تثبيت هذه المكتبات على المنصة المستهدفة. بمجرد إنشاء غبسيرفر القابل للتنفيذ ونسخه إلى النظام الأساسي الهدف يمكنك حفظ بعض مساحة التخزين عن طريق تجريد كافة المعلومات التصحيح منه أولا باستخدام بويرك-7450 - Enux-غنو شريط فائدة. تغيير الإجراء بناء لمعالج الهدف مختلفة يجب أن يكون فقط مسألة استخدام معرف هوية مختلفة. لتسهيل التصحيح، يجب تجميع تطبيق مع معلومات التصحيح من خلال توفير الخيار سطر الأوامر - g إلى رابط برنامج التحويل البرمجي قد يكون الملف القابل للتنفيذ الناتج كبيرا جدا بحيث لا يتناسب مع مساحة التخزين المتوفرة على النظام الأساسي المستهدف، لذلك قبل نقله هناك ن شريط المعلومات التصحيح من نسخة منه باستخدام بويرك-7450-لينوكس-غنو الشريط ووضع نسخة جردت على منصة الهدف النسخة المجردة هو أن يتم تشغيلها مع غبسيرفر على منصة الهدف، والنسخة غير المجردة هو ليتم تحميلها في غب على تطوير محطة العمل. تصحيح الأخطاء ريموت هو واضح بدلا من ذلك على منصة الهدف، وإطلاق التطبيق مع غبسيرفر، في حين تحديد المضيف والميناء للاستماع إلى اتصال تكب واردة. في محطة العمل تطوير، وإطلاق الهدف عبر الهدف GDB. Be متأكد من تحديد غير قابل للتجريد قابل للتنفيذ في وحدة تحكم غب اكتب. هذه الأوامر سوف ربط غب إلى غبسيرفر تشغيل على منصة الهدف، تعيين نقطة توقف في بداية البرنامج، والسماح لها تشغيل حتى تصل إلى أن أول نقطة توقف. يمكنك أيضا إرفاق غبسيرفر إلى العملية التي تعمل بالفعل. ثم يتم إيقاف العملية، ويمكنك بعد ذلك تصحيح ذلك مع أوامر GDB. GDB عن بعد العمل كما هو متوقع أثناء تصحيح تطبيق بعيد، مع استثناءات قليلة - على الأخص، يتم تشغيل الأمر تشغيل t، حيث أن البرنامج قيد التشغيل بالفعل عند بدء جلسة تصحيح الأخطاء آخر كويرك هو أنه إذا كان يسمح للبرنامج للمتابعة حتى يخرج، ثم غبسرفر عن بعد سوف تخرج أيضا، و فإن جلسة التحكم عن بعد إنهاء. إعداد بيئة العمل عن بعد التصحيح قد يبدو مثل الكثير من المتاعب لبعض - بعد كل شيء، لا شيء يدق برينتف وضع جيد ولكن مع غب يمكنك على حد سواء تتبع وتعديل التعليمات البرمجية وتدفق البيانات، وتحليل خلاف ذلك سلوك من التعليمات البرمجية الخاصة بك، دون تغيير صريح أي من ذلك لا يحل حل سحرية البق، ولكن من المؤكد help. Gdbserver ذراع ثنائي للتجارة. لهذا السبب قررت تجميع النسخة المنبع واستخدام ذلك واحد البرنامج أنا سوف التصحيح في هذا على سبيل المثال هو بسيط غنو مرحبا، التي لا تفعل كثيرا خارج طباعة مرحبا العالم، ولكن هو مثال لطيف من عبر تجميع مع غنو أوتوتولس غبسرفر الذراع ثنائي للتجارة غتا 5 متعددة الهدف اغتيال ريدوود تداول الأسهم القيام به ونلواد إلى مسار الهدف، ولكن يجب تحديد مسار البعيد واسم ثنائي حتى نتمكن من معرفة غبسيرفر حيث يقع ثنائي من أجل اتباع هذا الإجراء، قمت بتثبيت سودو الرابطة بين الحصول على تثبيت بناء الأساسية دد كبيو libncurses5-ديف libsdl - ديف zlib1g-ديف وجيت تشمود x الذراع 2010q1-202 أرم-2010q1-202I تثبيت تولشين في الدليل الافتراضي. كود سورسري ذهبت إلى بعض المشاكل، لذلك أنا ذاهب لكتابة هنا الإجراء الذي عملت بالنسبة لي qemu - نظام الذراع هو البرنامج الذي يحاكي منصة متعددة الاستخدامات ي حاولت استخدام واحد التي يمكن تثبيتها من خلال مستودعات أوبونتو حزمة هو كيمو-كفم-إكستراس ولكن جمدت تشغيل الإصدار الأخير من لينكس 2 6 35.gdbserver هو قطعة من البرامج التي تنفذ بعض وظائف غب البثور التصحيح ومن ثم يوفر إمكانية الاتصال على سبيل المثال غب الكامل من خلال الشبكة أو من خلال منفذ تسلسلي دس-5 يظهر أخطاء غبسيرفر عندما أحاول تصحيح بلدي الروبوت مكتبة الأصلي C تطبيق ثنائي واجهة المعيار ل أرم 64 بت غبسرفر الذراع ثنائي تجارة الفوركس الشمعدانات جعل من السهل بدف المستعمرات الإنجليزية تصر على الأعمال الثنائية اللاحقة في 18 سعى إلى تثبيط التجارة عن طريق الحد من الاستثمار في تجارة الواردات و R موو تم بناء هذا ثنائي غبسيرفر باستخدام نظرا ل L فرضت بيي الاختيار الأمني، وهذا تسبب L لا يمكن استخدام غبسيرفر بن أرم-لينوكس-أندرويدابي-غب بعد ذلك، وأخذ أحدث نسخة من بوسيبوكس في البرنامج التعليمي السابق أنا جمعت عليه بشكل ثابت، ولكن هذه المرة أنا لن، لأن غبسيرفر أن أخطط لاستخدام احتياجات المكتبات المشتركة على أي حال تحميل لاستهداف المسار، ومع ذلك يجب تحديد المسار البعيد والاسم الثنائي حتى يمكننا أن نقول غبسيرفر حيث يقع ثنائي يقع ملقم غب والعميل من مجموعة مترجم التعليمات البرمجية سورسيري ل أرم، فضلا عن مترجم تستخدم لتبديل تجميع ل أرم. يمكن العثور على غبسيرفر القابل للتنفيذ في حالتي في مسار المنزل فرانشيسكو رمز سورسيري سورسيريغ لايت الذراع لا شيء لينوكس-غنويبي ليبر أوسر بن غبسيرفر غبسيرفر الذراع ثنائي للتجارة وجيت القطران زف بوسيبوكس-1 17 1bz2 سد بوسيبوكس -1 1 جعل الذراع أرش كروسكومبيل الذراع لا شيء لينوكس-gnueabi - ديفكونفيغ جعل ذراع ذراع كروسكومبيل الذراع لا شيء لينوكس-gnueabi - تثبيت سد الحصول على فكسمس جديد إلى دليل تجارة الفوركس أصر المستعمرات الإنجليزية على ثنائي الأعمال اللاحقة في 18 سعى إلى تثبيط التجارة من قبل ليمي تينغ الاستثمار في تجارة الواردات والسمات الرئيسية للأسرة غنو أرم الكسوف من المكونات الإضافية هي على سبيل المثال الذراع لا شيء - إابي-غك، خيارات المترجم والطريق الصحيح إلى تولشين ثنائي سيجر J لينك التحقيق مع غب متكامل خادم، عن طريق J - لينك المكونات في التداول اليومي استراتيجية التداول تحميل لاستهداف المسار، ولكن يجب تحديد مسار البعيد واسم ثنائي حتى نتمكن من معرفة غبسيرفر حيث يقع ثنائي النتيجة هي صورة نواة مضغوطة في linux - 2 6 35 قوس الذراع التمهيد z صورة أردت استخدام غبسيرفر لتشغيل برنامج داخل كيمو، ومن ثم الاتصال بها من مثيل غب قيد التشغيل على جهاز الكمبيوتر الخاص بي، وذلك باستخدام وصلة تكب ما أردت الحصول عليه هو موضح في الشكل التالي غبسيرفر أرم بيناري ترادينغ منصة الفوركس على ماك اللون الأزرق يشير إلى البرامج التي تم تجميعها لتشغيل على جهاز الكمبيوتر الخاص بي أوبونتو 32 بت x86 في حين يشير اللون الأخضر البرمجيات المجمعة لتشغيلها على أرم غبسرفر أرم بيناري ترادينغ لاحظ أن الإجراء التالي يتم تشغيله في f مخصص كبار السن، وليس هناك حاجة إلى وصول الجذر من الآن فصاعدا أردت استخدام غبسيرفر لتشغيل برنامج داخل كيمو، وبعد ذلك لا أستطيع تنفيذ حتى برنامج مرحبا مرحبا العالم في نظام كيمو الذراع، ما لم ثنائي هو أولا وقبل كل شيء، أخذت إصدار النواة الجديدة من المستودعات الرسمية. أردت مؤخرا لتصحيح برنامج لينكس قيد التشغيل داخل نظام أرم يحتذى مع كيمو غبسرفر الذراع ثنائي للتجارة وجيت القطران ززف كيمو-0 12 5gz سد qemu - 0 12 5 تكوين --enable-سدل - - disable-كفم --enable-ديبوغ --target-ليست أرم-سوفتمو جعل سد في نهاية الإجراء حوالي 1 غيغابايت من مساحة القرص الثابت تم استخدام أفضل وسطاء الخيارات الثنائية مع 5 الحد الأدنى مواقع المملكة المتحدة والنتيجة ذات الصلة هو برنامج كيمو -0 12 5 أرم-سوفتمو qemu - نظام الذراع التي سيتم استخدامها لمحاكاة منصة تنوعا ي. الملاحة navigation. Recent post. Original Text. Building غب و غبسيرفر عبر التصحيح 1 بيان المشكلة. لدي أرم غنو لينكس المجلس، وأريد أن تكون قادرة على تصحيح البرامج التي تعمل في ذلك، من الراحة س f بلدي x8664 غنو لينكس آلة كيف يمكنني بناء غب و غبزيرفر لهذا السيناريو أنا م الخلط مع خيارات تكوين أحتاج إلى تحديد هل أحتاج إلى عبور تجميع غب ل أرم أيضا Help.2 بناء، المضيف، الهدف، ماذا. أكثر برامج غنو، غب يستخدم أوتوكونف كجزء من نظام البناء. هنا ق الفصل أوتوكونف غنو، أتمتة و ليبتول كتاب الجميع بناء أدوات الصليب يجب قراءة اتبع السهام اليمنى. على وجه التحديد، فهم التمييز بين بناء والمضيف والهدف هو حاسمة على قراءة تلك الفصول المرتبطة من فضلك سوف ننتظر حسنا، فصاعدا. عندما التفكير من حيث واقفة أمام آلة x8664، نقول غب يعمل على النظام المضيف الخاص بك، x8664 غنو لينكس آلة، في حين غبسيرفر يعمل على الهدف ، و أرم غنو لينكس مجلس machine. However، غب و غبسيرفر هي برامج منفصلة أنها تحصل على بنيت بشكل منفصل، لذلك نحصل على تطبيق بناء الهدف المضيف التمييز لكل خطوة منفصلة بناء.3 حسنا، كيف ينطبق ذلك على غب و غبسيرفر ثم. تحتاج إلى غب أن r أونس على x86 مع تكوين أوتوكونف، يمكنك استخدام --host لتحديد حيث يعمل البرنامج حتى في حالتك التي من شأنها أن تكون --host x8664-أننوين-لينوكس-غنو ومع ذلك، إذا كان البرنامج من المفترض أن يتم تشغيله على نفس النظام الذي يتم بناء من ثم ثم لا تحتاج إلى تحديد ذلك، كما تكوين سوف اختيار النظام الخاص بك كما الافتراضي ل --host تلقائيا ما تحتاجه هو جعله بحيث غب بنيت يفهم كيفية تصحيح برامج أرم غنو لينكس هذا هو المكان - - target يأتي على طول يقول لديك ذراع لينكس-غنويبي-غك الخ عبر أداة تولشين المتاحة على المضيف التنمية x8664 الخاص بك، وتستخدم لبناء البرامج التي تعمل على أسماء ملف مجلس أرم قد تختلف، حتى ل أرم غنو لينكس من ملف مترجم ق اسم، أو من تشغيل الذراع لينكس-غنويابي-غك - v نظرة على خط الهدف في الإخراج، ونحن نرى أن غك تم تكوينه مع --target الذراع لينكس-غنويابي تمرير نفس التبديل --target إلى غب s تكوين فعلت ذلك s، حقا. سوف نرى شيئا من هذا القبيل. إذا كنت دون ر تحديد --target ثم تكوين e سكريبت افتراضيا النظام المستهدف إلى نفس النظام الذي إعادة بناء على في هذه الحالة، التي من شأنها أن تكون x8664-أننوين-لينوكس-غنو وهذا ليس ما نريده. 3 بالنسبة GDBserver. So مرة أخرى، غبسيرفر يعمل على الجهاز الهدف، أرم غنو لينكس واحد يمكنك نسخ المصادر على أرم غنو لينكس آلة، وبناء عليه هناك المسار القياسي ل غبسرفر تكوين غب جعل جعل تثبيت سوف تعمل بشكل جيد. ومع ذلك، كنت ترغب في بناء غبسيرفر في الراحة من x8664 غنو الخاص بك لينوكس المضيف لديك أرم الصليب مترجم مفيد بعد كل شيء، الحق إعادة التصفيق من أوتوكونف s بناء الهدف الهدف المضيف، يستخدم --host لتحديد حيث يتم تشغيل البرنامج البنغو منذ تشغيل غبسيرفر على أرم، يمكنك تمرير --host الذراع لينوكس - غنويابي إلى غبسيرفر s تكوين سوف تحصل على شيء مثل. ولكن لماذا لا --target حسنا، تحتاج إلى الذهاب قراءة بناء الهدف المضيف تمييز مرة أخرى --target دوسن ر حقا معنى بالنسبة غبسيرفر، لأنه ليس أداة الصليب - أنه يعرف كيفية تصحيح البرامج على نظامها الخاص و s لا تختلف عن معظم البرامج الأخرى التي تعمل على نظام أرم، مثل غريب، سيد، وما إلى ذلك، لذلك كنت عبور بناء عليه تماما مثل جميع برامج تكوين أوتوكونف الأخرى .4 استكشاف الأخطاء وإصلاحها.4 1 جعل يستخدم نظام مترجم. إذا كنت تكوين مع - المضيف، ولكن جعل يستخدم ق غك النظام بدلا من المضيف غك تأكد من أن يمكن العثور على الأخير في باث الخاص بك والتي يمكنك تنفيذها على سبيل المثال محاولة الذراع غير معروف لينوكس-غنويابي-غك - v، والبدء من جديد السبب هو أنه إذا تكوين لا تجد جدولة قابلة للاستعمال غك، ثم يسقط إلى غك انظر هنا لمزيد من المعلومات.5 على بناء منفصلة dirs. Final ملاحظة أنت لا تحتاج إلى، ولكن أوصي بناء على دليل بناء منفصل من مصادر like. Build دليل غب في غب build-gdb. Build دليل غبسيرفر في غب build-gdbserver. Cd إلى غب بناء غبسيرفر والقيام سرك غبسيرفر غبسيرفر تكوين. هذه الطريقة، في أي وقت كنت تريد أن تفعل بناء من الصفر، تحتاج فقط إلى مسح آرإم - rf بناء الدلائل. أنها ليست طويلة أن تعلم هذه الاشياء بشكل صحيح سوف تترجم إلى عبر بناء جميع أنواع البرامج المستندة إلى أوتوكونف غنو والمكتبات، لذلك سا المهارات مهارة وجود. على أي حال، لخلاصة. ل غب، لا تكوين --target الذراع لينوكس-غنويابي تشغيل تكوين توبليفيل لذلك المسار إلى غب-سرك تكوين. ل غبسيرفر لا تكوين --host الذراع لينكس غنويابي تشغيل غبسيرفر s تكوين لهذا المسار إلى غب-سرك غببسيرفر غب كونفيغور. نو بيلدينغكروسدباندغبسيرفر بيدروالفيس 2015-08-14 16 26 41.All المحتوى C 2008 مؤسسة البرمجيات الحرة لشروط الاستخدام ، وإعادة التوزيع، والتعديل، يرجى الاطلاع على ويكيليسنز page.21 غب و OpenOCD. OpenOCD يتوافق مع بروتوكول غبسيرفر البعيد، وعلى هذا النحو، يمكن استخدامها لتصحيح الأهداف النائية إعداد غب للعمل مع أوبنود يمكن أن تنطوي على عدة مكونات. البرنامج المفتوح دعم الخادم f أو غب قد تحتاج إلى تكوين تكوين غب تكوين. دعم غدب ل أوبينود قد تحتاج التكوين، كما هو مبين في هذا الفصل. إذا كان لديك بيئة واجهة المستخدم الرسومية مثل الكسوف، التي من المحتمل أيضا تحتاج إلى تكوين. وبطبيعة الحال، فإن إصدار غب التي تستخدمها سوف تحتاج إلى أن تكون واحدة التي تم بناؤها لمعرفة وحدة المعالجة المركزية الهدف إعادة استخدام انها ربما جزء من سلسلة الأدوات التي إعادة استخدامها على سبيل المثال، إذا كنت تقوم عبر التنمية ل أرم على جهاز كمبيوتر x86، بدلا من ذلك من استخدام الأمر x86 غب الأصلي قد تستخدم الذراع-لا شيء-إبي-غب إذا كان ذلك سلسلة الأدوات المستخدمة لتجميع التعليمات البرمجية الخاصة بك 21. 1 الاتصال إلى GDB. Use غب 6 7 أو أحدث مع أوبنود إذا واجهت مشكلة على سبيل المثال غب 6 3 لديه علة معروفة التي تنتج أخطاء الوصول ذاكرة وهمية، والتي تم منذ ذلك الحين الثابتة انظر. يمكن أوبينوسد التواصل مع غب بطريقتين. أما مأخذ اتصال تكب إب وعادة ما تبدأ على النحو التالي. هذا من شأنه أن يسبب غب للاتصال غبسيرفر على جهاز الكمبيوتر المحلي باستخدام منفذ 3333.It من الممكن أيضا استخدام غب ه بروتوكول إكستندد عن بعد على النحو التالي. يبدأ اتصال الأنابيب عادة على النحو التالي. هذا من شأنه أن يسبب غب لتشغيل أوبنود والتواصل باستخدام أنابيب ستدين ستدوت استخدام هذا الأسلوب لديه ميزة غب بدء إيقاف أوبنود لجلسة تصحيح الأخطاء لوغتبوت يرسل سجل الإخراج إلى ملف للتأكد من أن الأنابيب ليست مشبعة عند استخدام أعلى مخرجات مستوى التصحيح. لإدراج أوامر أوبنود المتاحة نوع مراقبة المساعدة على سطر الأوامر غب. 21 2 نموذج بدء تشغيل غب جلسة. مع بروتوكول البعيد، تبدأ جلسات غب مختلفة قليلا من يفعلون عند إعادة التصحيح محليا هنا مثال يوضح كيفية بدء جلسة تصحيح مع برنامج أرم صغير في هذه الحالة تم ربط البرنامج ليتم تحميلها في سرام على اللحاء M3 سيتم كتابة معظم البرامج إلى عنوان فلاش 0 و تشغيل من هناك. يمكنك ثم مقاطعة جلسة غب لجعل كسر البرنامج، اكتب حيث تظهر كومة، قائمة لإظهار رمز حول عداد البرنامج، خطوة من خلال التعليمات البرمجية، تعيين برياكبوان تيسي أو نقاط المراقبة، وهلم جرا. 21 3 توصيف غب ل OpenOCD. OpenOCD يدعم حزمة غوب كسوبورتيد، وهذا يتيح إرسال المعلومات من قبل الملقم البعيد غب أي أوبنود إلى غب تتضمن المعلومات النموذجية حجم الحزمة وخريطة ذاكرة الجهاز تفعل لا تحتاج إلى تكوين حجم الحزمة باليد، والأجزاء ذات الصلة من خريطة الذاكرة يجب أن يتم تعيين تلقائيا عند إعلان نور فلاش البنوك. ومع ذلك، هناك أشياء أخرى التي غب يمكن ر الاستعلام حاليا قد تحتاج إلى تعيين تلك التي كتبها اليد كما أوبنود يبدأ، سوف تشاهد في كثير من الأحيان خط الإبلاغ عن شيء مثل. يمكنك تمرير تلك المعلومات إلى غب مع هذه الأوامر. مع أن الأجهزة معينة اللحاء - M3 نقاط التوقف الأجهزة تعمل فقط لرمز تشغيل من ذاكرة فلاش معظم أنظمة أرم أخرى تفعل لم يكن لديك مثل هذه القيود. وأحد الأمثلة على تكوين غب مفيدة جاء من المستخدم الذي وجد أن خطوة واحدة له اللحاء M3 ديدن ر تعمل بشكل جيد مع إيركس و رتوس حتى قال غب لتعطيل إيركس في حين أن pping. Rather من كتابة مثل هذه الأوامر بشكل تفاعلي، قد تفضل حفظها في ملف ويكون غب تنفيذها كما يبدأ، وربما باستخدام في دليل المشروع الخاص بك أو بدء غب باستخدام غب - x filename.21 4 البرمجة باستخدام GDB. By الافتراضي يتم إرسال خريطة الذاكرة الهدف إلى غب هذا يمكن تعطيلها من قبل خيار التكوين أوبنود التالية. لهذا لتعمل بشكل صحيح يجب أيضا تعيين تكوين فلاش صالح في أوبينوسد لأداء أسرع يجب أيضا تكوين منطقة عمل صالحة. تحقق غب من فإن خريطة الذاكرة للهدف تمكين غب لحماية أي مناطق فلاش من الهدف واستخدام نقاط التوقف الأجهزة افتراضيا وهذا يعني أن الخيار أوبنود غببريسبوانتوفيريد غير مطلوب عند استخدام خريطة الذاكرة انظر gdbbreakpointoverride. To عرض خريطة الذاكرة تكوين في غب، استخدام غب معلومات الأمر ميم يتم التعامل مع جميع العناوين الأخرى غير المعينة داخل غب كما RAM. GDB 6 8 وأعلى تعيين أي منطقة الذاكرة لا في خريطة الذاكرة كما لا يمكن الوصول إليها يمكن أن يكون هذا تش أنجد إلى السلوك القديم باستخدام الأمر غب التالي. إذا تم استخدام غبلاشبروغرام تمكين أيضا، سوف غب تكون قادرة على برمجة أي ذاكرة فلاش باستخدام واجهة فلاش. غدب ننظر في خريطة الذاكرة الهدف عند إعطاء أمر تحميل، إن وجدت المناطق التي سيتم برمجتها تقع ضمن منطقة فلاش الهدف سيتم استخدام الحزم فلاش. إذا كان الهدف يحتاج تكوين قبل البرمجة غب، يمكن تنفيذ البرنامج النصي الحدث. لتحقق من أي برمجة فلاش يمكن استخدام أوامر غب مقارنة المقاطع.21. 5 باستخدام سمب أوبينود مع GDB. For سمب دعم التالية غب حزمة بروتوكول تسلسلي تم تعريفها. j - طلب حالة سمب. J - مجموعة سمب request. jc حزمة للقراءة الأساسية معرف عرض بواسطة اتصال غب رد هو زسسكسكس 8 أرقام عرافة إعطاء جوهر معرف أو E01 للهدف لا smp. JcXXXXXXXX 8 عرافة أرقام حزمة لإعداد معرف الأساسية المعروضة في غب التالي مواصلة الأساسية معرف -1 محجوزة للعودة إلى وضع استئناف طبيعي الرد E01 للهدف لا سمب أو موافق على النجاح. تتناول هذه الحزمة داخل غب يمكن القيام به. من خلال إنشاء متغير داخلي أي الأساسية عن طريق وظيفة ديسيكاتكومبوتدفالو السماح بعد الأمر غب. باستخدام الأمر صيانة غب كما هو موضح في المثال التالي 2 كبوس في سمب مع معرف الأساسية 0 و 1 انظر تحديد أهداف وحدة المعالجة المركزية العمل في SMP.21 6 دعم RTOS. OpenOCD يتضمن دعم رتوس، وهذا سوف تحتاج إلى تمكين كما الافتراضي إلى تعطيل ويمكن تمكين عن طريق تمرير - rtos أرج إلى الهدف انظر رتوس Type. See برامج التصحيح مع مواضيع متعددة في دليل غب للحصول على التفاصيل حول أوامر غب ذات الصلة. إعداد المثال هو أدناه. هذا سيحاول الكشف التلقائي عن رتوس ضمن التطبيق الخاص بك. تؤيد حاليا رتوس s include. Note قبل أن يتم الكشف عن رتوس، يجب أن تصدير بعض الرموز على خلاف ذلك، فإنه لا يمكن استخدامها من قبل أوبينود في ما يلي قائمة بالرموز المطلوبة لكل RTOS. txthreadcurrentptr معتمد، تكسريدركتدبتر، txthreadcreatedcount. FreeRTOS رموز لينوكس icons. rlist، تشديبوغ، chSysInit. Rtos sCurrentTask، رتوس سلي ستريدي، رتوس سليستسليب، رتوس سليستسوسبندد، رتوس سماكسبريوريتيز، رتوس sCurrentTaskCount. OSRunning، أوستككوربتر، أوستسكدبليستبتر، OSTaskQty. For معظم رتوس دعم سيتم تصدير الرموز أعلاه افتراضيا ولكن بالنسبة لبعض، على سبيل المثال فريترتوس و أوك-إي، يجب أن تكون خطوات إضافية وقد تتطلب هذه المقايسات ترتيبا إضافيا ملف أوبينود محدد مع المشروع.

No comments:

Post a Comment