小编use*_*493的帖子

保留一部分SDRAM以在U-Boot和Linux内核之间传递数据

如何保留SDRAM的一部分,比如4个字节,在U-Boot和Linux内核之间传递一个标志,以便链接器不会初始化这个保留的内存位置,并在热启动后保留该值?我试图避免使用bootargs来最小化嵌入式应用中使用的NAND闪存的磨损.我的问题可以被认为是对解决方案的扩展: 如何在ARM处理器上检测冷启动与热启动?

我使用下面的链接器脚本构建了u-boot.lds并使用以下命令构建它:-fno-zero-initialized-in-bss但没有成功.

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) …
Run Code Online (Sandbox Code Playgroud)

memory arm linux-kernel embedded-linux u-boot

8
推荐指数
1
解决办法
2167
查看次数

标签 统计

arm ×1

embedded-linux ×1

linux-kernel ×1

memory ×1

u-boot ×1