के बीच डेटा पास करने के लिए एसडीआरएएम के एक हिस्से को सुरक्षित करना मैं यू-बूट और लिनक्स कर्नेल के बीच ध्वज पास करने के लिए, 4 बाइट्स कहां एसडीआरएएम का एक हिस्सा आरक्षित कर सकता हूं ताकि यह आरक्षित स्मृति स्थान लिंकर द्वारा शुरू नहीं किया गया है और गर्म बूट के बाद संरक्षित मूल्य? मैं एम्बेडेड एप्लिकेशन में इस्तेमाल किए गए एनएएनडी फ्लैश के पहनने को कम करने के लिए बूटर्ग का उपयोग करने से बचने की कोशिश कर रहा हूं। मेरा प्रश्न द्वारा प्रदान समाधान के लिए एक विस्तार माना जा सकता है: नीचे लिंकर स्क्रिप्ट के साथ How to detect cold boot versus warm boot on an ARM processor?यू-बूट और लिनक्स कर्नेल
मैं का निर्माण किया है u-boot.lds और साथ इसे बनाया: -fno-शून्य-प्रारंभ में बीएसएस सफलता नहीं मिली ।
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
cpu/arm926ejs/start.o (.text)
*(.text)
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .;
_U_BOOT_FLAG = .; . = . + 4;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;
}
कोई भी विचार?
आप किस बोर्ड का उपयोग कर रहे हैं? एक बहुमुखी बोर्ड या एक कस्टम बोर्ड? आप किस एसआरएएम के बारे में बात कर रहे हैं? –
बोर्ड एक at91sam9g45 है और यह वास्तव में डीडीआर 2-एसडीआरएएम है। – user1357493
यू-बूट को सही तरीके से वर्तनी करने के तरीके के बारे में जानने के लिए उपरोक्त करें। – sawdust