में स्थान को अपनाने के लिए हम लिनक्स छवि को कैसे लोड कर सकते हैं हम एक विशिष्ट स्थान पर हमारे डीआरएएम में लिनक्स छवि लोड करने की कोशिश कर रहे हैं, डीआरएएम एंड एड्रेस 0x80000000 है जिसे हम बूट लॉग से जानते हैं जो कहता है "मेम डिवाइस एंडिंग पता 0x80000000 है eaxmple के लिए फिर से बूट लॉग से 0x5000000 "और छवि में है कि variuos अनुभाग कुछ पता है जो से अधिक है पर लोड हो रहा से पहले" 0x80000000 "" हम पते पर हमारी छवि लोड कर रहे हैं ",मेमोरी
loading section to address 0xc5000000 from file position 0x1000, size is 0x5ac13e
क्या अर्थ उपरोक्त पंक्ति में "फ़ाइल स्थिति 0x1000 से"।
प्रथम खंड लोड .text अनुभाग, इसलिए पूर्ण .लेकिन एक बात हम यहाँ देख सकते पोस्ट नहीं है नीचे अनुभाग शीर्ष लेख
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS c5000000 001000 5ac13e 00 AX 0 0 4096
[ 2] .notes NOTE c55ac140 5ad140 000168 00 AX 0 0 4
[ 3] __ex_table PROGBITS c55ac2b0 5ad2b0 000fe0 00 A 0 0 4
[ 4] .rodata PROGBITS c55ae000 5af000 20a930 00 A 0 0 64
[ 5] __bug_table PROGBITS c57b8930 7b9930 0075fc 00 A 0 0 1
[ 6] .pci_fixup PROGBITS c57bff2c 7c0f2c 001a90 00 A 0 0 4
[ 7] .builtin_fw PROGBITS c57c19bc 7c29bc 0000cc 00 A 0 0 4
इसकी काफी एक बड़ी सूची के बारे में हमारी vmlinux छवि डंप है। टेक्स्ट सेक्शन डीआरएएम एंड एड्रेस से बड़ा है, इसलिए छवि को सही ढंग से दर्ज नहीं किया जाना चाहिए, हालांकि हमें पहले सेक्शन को लोड करने के बाद कोई त्रुटि नहीं मिल रही है, यह अन्य वर्गों को लोड करने पर रखती है लेकिन इस संदेश के बाद यह लटकती है।
program load complete, entry point: 0x5000000, size: 0x92e7fc
मेरा प्रश्न है कि कैसे मैं इन विभिन्न वर्गों हमारे DRAM पते पर संबोधित संरेखित कर सकते हैं, objcopy उपयोगिता यहां इस्तेमाल किया जा सकता इन विभिन्न वर्गों के पते को बदलने की है।
क्या संकलन से पहले इन अनुभागों को सेट करने का कोई तरीका है ?? दूसरी बात यह है कि इस हैंग प्रोग्राम प्रोग्राम लोड के लिए क्या कारण हो सकता है।
एक इनाम अच्छा है, लेकिन क्योंकि सवाल काफी जानकारीपूर्ण नहीं है जरूरी नहीं कि आप एक समाधान प्राप्त करने के लिए जा रहा है और क्योंकि हम अपने कोड नहीं देख सकता। आप मूल रूप से लोगों को अंधेरे में शूट करने के लिए कह रहे हैं। –
हां एलेक्सी आपने पहले से ही मेरे प्रश्न का उत्तर दिया है, मैंने सोचा कि इस सवाल पर और अधिक विचार करना अच्छा विचार है। मैं नहीं चाहता कि लोग मेरी समस्या का समाधान करें क्योंकि तब मैं अपने आप से नहीं सीखूंगा, सिर्फ दो जोड़े रखना चाहता था अच्छे विचारों के –
वास्तव में अच्छा बिंदु। –