سؤال

كيف يمكنك ترجمة جيم البرنامج في صالح قزم التنسيق (أو التنسيق الخام) بحيث يمكن تنفيذها مباشرة من ذاكرة الوصول العشوائي دون أي نظام التشغيلب افترض أن أ محمل الإقلاع يوجد أي قادرة على تحميل التعليمات البرمجية إلى أي موقع في ذاكرة الوصول العشوائي وبدء التنفيذ في هذا العنوان. أن تكون دقيقا، ما يجب أن يكون التحويل البرمجي (مجلس التعاون الخليجيأعلام؟ هل هناك حاجة لملف الخريطة؟

سيكون تطبيق نموذج HelloWonorld موضع ترحيب :)

فقط لوضع وجهة نظري،
السماح للطريقة الرئيسية () أن تكون لانهائية فارغة أثناء حلقة لضمان عدم وجود نظام التشغيل يتم استخدام مكالمات مكالمات مكتبة محددة أو قياسية. المرغوبة O / P هي شنق. مع المعتاد مجلس التعاون الخليجي الخيارات سوف تفشل Bootloader بالتأكيد في تحميل القول القابل للتنفيذ أنه غير صالح قزم صيغة. لكن عن طريق المرور -dn. الخيار إلى الرابط سيجعله صالحا قزم. وبعد هناك حاجة إلى مزيد من خيارات مترجم / رابط لجعله يتعطل ولا تحطم !! ما هي بالضبط تلك خيارات مترجم هذه؟

file.c:
int main()
{
    while(1);
}

التحويل البرمجي
GCC -C -NOSTDINC -FNO-BULDIN FILL.C
LD -DN -Nostdlib file.o

الأحمال المحملة أ لذاكرة الوصول العشوائي وينفذ.

هل كانت مفيدة؟

المحلول

أولا، هناك قيود على ما يمكنك القيام به، بمجرد انتهاء BotoLoader من عملها. هذه القيود هي بسبب الأمور التالية: (على افتراض أن محمل التمهيد الخاص بك (على سبيل المثال: grub)، يأخذك إلى الوضع المحمي 32 بت) 1. لا يوجد تمكين الترحيل. تحتاج إلى تمكينها. 2. لا يمكنك التفاعل مع الأجهزة كما يجب عليك ضبط معالجات IRQ.

إليك رابط كلاسيكي اعتدت أن أتعلم فن البرمجة على المعدن العاري (http://geezer.osdevbrasil.net/osd/index.htm.). أيضا، هناك رابط تنزيل على الصفحة (http://geezer.osdevbrasil.net/osd/code/osd.tgz.). يحتوي ملف TAR على حبات تجريبية مع مستوى متزايد من التعقيد. أيضا، يمكنك النظر في ملف صنع (Linux.mak)، والحصول على الأعلام المطلوبة لدول مجلس التعاون الخليجي.

فتحت ملف عشوائي وجده أن الأعلام التالية تم استخدامها: دول مجلس التعاون الخليجي: -Nostdinc -fno-Buildin LD: -NostDLIB
(يتم إجراء مكالمة صريحة للربد، وبالتالي تحتاج LD أيضا إلى العلم).

الغرض من الأعلام هو معرفة دول مجلس التعاون الخليجي أنه يجب أن يكون هناك أي ربط تم القيام به مع المكتبة القياسية.

نصائح أخرى

Coreboot يمكن تحميل قزم مستقل. انظر "تهيئة DRAM":

http://en.wikipedia.org/wiki/coreboot.

http://www.osdever.net/bkerndev/index.php.

يجيب هذا الموقع على سؤالك خطوة بخطوة ...

هل تدرك أنه إذا لم تقم بتحميل نظام تشغيل، يجب عليك كتابة برنامج تشغيل جهاز للعمل مع أي جهاز. هذا يعني عدم كتابة الشاشة دون كتابة برنامج تشغيل لبطاقة الفيديو هذه المعينة، لا قراءة من القرص دون كتابة برنامج تشغيل لبطاقة وحدة تحكم القرص الصلب بالذات، دون الوصول إلى لوحة المفاتيح، إلخ.

قد ترغب في النظر في شيء يسمى وضع كشك في حين أن. الفكرة الأساسية هي أن نظام التشغيل يعمل، وتحميل كل شيء تحتاج إلى تطبيقك، قم بتحميل تطبيقك، ثم لا يمكنك التبديل إلى تطبيق آخر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top