Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mips 链接器脚本节顺序_Mips_Qemu_Linker Scripts - Fatal编程技术网

Mips 链接器脚本节顺序

Mips 链接器脚本节顺序,mips,qemu,linker-scripts,Mips,Qemu,Linker Scripts,我正在使用qemu模拟器来模拟MIPS系统。我编写了一个非常简单的引导代码和主函数。但是,当我使用以下链接器脚本时,qemu模拟器给出消息“qemu系统mipsel:无法加载MIPS bios'bin/img.bin',并且未指定-kernel参数”: 当我将linkerscript更改为以下脚本时,qemu完美地运行了代码: ENTRY(_Reset) SECTIONS { .text 0xA0000000 : { *(.text) } .data : { *(.data)

我正在使用qemu模拟器来模拟MIPS系统。我编写了一个非常简单的引导代码和主函数。但是,当我使用以下链接器脚本时,qemu模拟器给出消息“qemu系统mipsel:无法加载MIPS bios'bin/img.bin',并且未指定-kernel参数”:

当我将linkerscript更改为以下脚本时,qemu完美地运行了代码:

ENTRY(_Reset)
SECTIONS
{
    .text 0xA0000000  : { *(.text) }
    .data : { *(.data) }
    .bss : { *(.bss) }
    . = . + 0x1000; /* 4kB of stack memory */
    .stack ALIGN( 16 ) :{ *(.stack) }
    _stacktop = ALIGN(16);
    .boottext 0xBFC00000 : { obj/startup.o(.text) }
}
所以,我的问题是:在最终的elf和二进制文件中,脚本中各部分的顺序有什么影响?为什么qemu运行一个而不运行另一个

先谢谢你


PS:使用“qemu系统mipsel-s-M malta-M 512M-bios bin/img.bin”运行qemu

是。非常感谢。使用正确的脚本:
-rwxr-x 1 josemar josemar 8368 Nov 4 07:26 img.bin*-rwxr-x 1 josemar josemar 75960 Nov 4 07:26 img.elf*
使用错误的脚本:
-rwxr-x 1 josemar josemar 532676644 Nov 4 07:28 img.bin*-rwxr-x 1 josemar josemar 133236 Nov 4 07:28 img.elf*
是。非常感谢。使用正确的脚本:
-rwxr-x 1 josemar josemar 8368 Nov 4 07:26 img.bin*-rwxr-x 1 josemar josemar 75960 Nov 4 07:26 img.elf*
使用错误的脚本:
-rwxr-x 1 josemar josemar 532676644 Nov 4 07:28 img.bin*-rwxr-x 1 josemar 133236 Nov 4 07:28 img.elf*
ENTRY(_Reset)
SECTIONS
{
    .text 0xA0000000  : { *(.text) }
    .data : { *(.data) }
    .bss : { *(.bss) }
    . = . + 0x1000; /* 4kB of stack memory */
    .stack ALIGN( 16 ) :{ *(.stack) }
    _stacktop = ALIGN(16);
    .boottext 0xBFC00000 : { obj/startup.o(.text) }
}