uboot 之uboot.lds分析

发布时间:2024-07-26  

//下面是Uboot/board/tc2410/u-boot.lds
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
//指定输出可执行文件是elf格式,32位ARM指令,小端*/
OUTPUT_ARCH(arm)
//指定输出可执行文件的平台为ARM*/
ENTRY(_start)
//指定函数入口点为_start。cpu/arm920t/start.S中定义。
SECTIONS
{
//指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置。必须使编译器知道这个地址,通常都是修改此处来完成*/
   . = 0x00000000;             //从0x0位置开始*/
   . = ALIGN(4);                //代码以4字节对齐*/
   .text    :
   {
   cpu/arm920t/start.o (.text) //代码的第一个代码部分*/
   *(.text)                       //其它代码部分*/
   }
   . = ALIGN(4);
   .rodata : { *(.rodata) }    //指定只读数据段*/
   . = ALIGN(4);
   .data : { *(.data) }           //指定读/写数据段*/
   . = ALIGN(4);
   .got : { *(.got) }          //指定got段, got段式是uboot自定义的一个段, 非标准段*/
   . = .;
                                     //把__u_boot_cmd_start赋值为当前位置, 即起始位置*/
   __u_boot_cmd_start = .; 
                                     //指定u_boot_cmd段, uboot把所有的uboot命令放在该段.*/
   .u_boot_cmd : { *(.u_boot_cmd) } 
                                     //把__u_boot_cmd_end赋值为当前位置,即结束位置*/
   __u_boot_cmd_end = .;
   . = ALIGN(4);
   __bss_start = .;             //把__bss_start赋值为当前位置,即bss段的开始位置*/
   .bss : { *(.bss) }          //指定bss段*/
   _end = .;                   //把_end赋值为当前位置,即bss段的结束位置*/
}

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>