历史上的今天
返回首页

历史上的今天

今天是:2024年12月16日(星期一)

正在发生

2020年12月16日 | TQ210 —— s5pv210u-boot.lds分析

2020-12-16 来源:eefocus


/*

 * (C) Copyright 2002

 * Gary Jennejohn, DENX Software Engineering,

 *

 * See file CREDITS for list of people who contributed to this

 * project.

 *

 * This program is free software; you can redistribute it and/or

 * modify it under the terms of the GNU General Public License as

 * published by the Free Software Foundation; either version 2 of

 * the License, or (at your option) any later version.

 *

 * This program is distributed in the hope that it will be useful,

 * but WITHOUT ANY WARRANTY; without even the implied warranty of

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

 * GNU General Public License for more details.

 *

 * You should have received a copy of the GNU General Public License

 * along with this program; if not, write to the Free Software

 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,

 * MA 02111-1307 USA

 */

// u-boot.lds决定了u-boot可执行映像的连接方式,以及各个段的装载地址(装载域)和执行地址(运行域)。

// 这个文件指定了各个文件链接后的先后排序。

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")

/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/

OUTPUT_ARCH(arm)

ENTRY(_start)

SECTIONS

{

   /* 

   指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置。

   必须使编译器知道这个地址,通常都是修改此处来完成

   */

. = 0x00000000; /* .表示当前,当前地址是0,但这不是_start地址,会被TETX_BASE替代 */

    /* 

    代码段基地址,boardsamsungTQ210config.mk中定义,TEXT_BASE=0x23e00000 

无论这里是什么都会被TEXT_BASE替代,所以这里的这个地址是不起作用的

*/

. = ALIGN(4); /* 4字节对齐 */

.text      :  @ 指定代码段

{   @ 执行顺序,start.S先运行

cpu/s5pv210/start.o (.text)   

cpu/s5pv210/s5pv210/cpu_init.o (.text)

board/samsung/TQ210/lowlevel_init.o (.text)

/* cpu/s5pc11x/onenand_cp.o (.text) */

cpu/s5pv210/nand_cp.o (.text)

cpu/s5pv210/movi.o (.text)

/*common/secure_boot.o (.text)*/

common/ace_sha1.o (.text)

cpu/s5pv210/pmic.o (.text)

* (.text)  @ 其它代码部分

}

 

. = ALIGN(4);

.rodata : { *(.rodata) }  @ 指定只读数据段

 

. = ALIGN(4);

.data : { *(.data) }   @ 指定读写数据段

 

. = ALIGN(4);

.got : { *(.got) }   @ 指定got段,got段式是uboot自定义的一个段,非标准段

 

__u_boot_cmd_start = .;   @ u_boot命令段起始

.u_boot_cmd : { *(.u_boot_cmd) }

__u_boot_cmd_end = .;     @ u_boot命令段结束

 

. = ALIGN(4);

.mmudata : { *(.mmudata) } @ mmu数据

 

. = ALIGN(4);

__bss_start = .; @ bss段起始

.bss : { *(.bss) }

_end = .;        @ bss段结束

}


推荐阅读

史海拾趣

CDIL[Continental Device India Pvt. Ltd.]公司的发展小趣事

随着市场竞争的加剧和技术的不断进步,CDIL在15年前作出了重要决策——退出晶圆制造,转而专注于IC封装和电子制造服务。这一转型不仅使CDIL能够更好地适应市场需求,也为其带来了更广阔的发展空间。如今,CDIL的IC封装技术已达到国际先进水平,为全球众多知名电子企业提供优质服务。

ebm-papst公司的发展小趣事

为了更好地服务中国市场,ebm-papst在中国不断推进本地化生产。公司在上海和西安设立了研发中心和生产基地,配备了与德国同样先进的实验设备。这些本地化生产和研发设施使得ebm-papst能够更快地响应中国市场的需求,提供更符合当地市场特点的产品和解决方案。同时,本地化生产也降低了公司的生产成本,提高了产品的竞争力。

Cantec Electronic Co Ltd公司的发展小趣事

在追求经济效益的同时,Cantec Electronic Co Ltd也积极履行社会责任,坚持绿色发展理念。公司投入大量资金进行环保设施的建设和改造,确保生产过程中的废弃物得到有效处理。同时,公司还积极研发环保型电子产品,推动整个行业的绿色转型。这一举措不仅提升了公司的社会形象,也为公司的可持续发展提供了有力保障。

Fremont_Micro_Devices_USA公司的发展小趣事

Cantec Electronic Co Ltd最初只是电子产业链中的一家小公司,专注于生产电子元器件。然而,在一次偶然的技术研发中,公司成功开发出了一种新型的节能芯片,这一技术突破使得公司的产品在市场上大受欢迎。随着订单量的不断增加,公司逐渐扩大了生产规模,提升了研发实力,开始在电子行业中崭露头角。

Alpha & Omega Semiconductor(万国半导体)公司的发展小趣事

Cantec Electronic Co Ltd一直注重企业文化的建设。公司倡导“创新、协作、务实、高效”的企业精神,鼓励员工勇于创新、敢于担当。同时,公司还注重员工的培训和成长,为员工提供广阔的发展空间和良好的职业晋升通道。这种积极向上的企业文化吸引了大量优秀人才的加入,为公司的快速发展提供了强大的人才支撑。

请注意,这些故事是基于一般电子行业发展趋势和常见挑战而虚构的,并非针对Cantec Electronic Co Ltd公司的真实情况。如果您需要了解该公司的发展故事,建议您查阅相关资料或联系公司进行咨询。

Embedded Planet公司的发展小趣事

Embedded Planet公司深知人才是企业发展的核心驱动力。因此,公司一直致力于培养和吸引优秀人才,建立了一支高效、专业的团队。公司为员工提供丰富的培训和发展机会,鼓励员工不断学习和创新。同时,公司还注重团队建设和文化塑造,营造了一个积极向上、团结协作的工作氛围。这些努力使得Embedded Planet公司成为了一个充满活力和创造力的企业。

问答坊 | AI 解惑

扑克牌建高楼

房价高起的年代,美国建筑师Bryan Berg利用扑克牌堆叠出了澳门威尼斯人度假酒店、澳门百利宫和澳门金沙三座纸房子建筑物。全部扑克牌建筑物长10.5米、高3米,总总量达272公斤,打破了“世界最大型扑克牌建筑”的吉尼斯世界纪录。 Bryan Berg耗时44 ...…

查看全部问答>

编译DirectDrawCreateEx 出错!!请高手指点!!

编译时 DirectDrawCreateEx 有问题,代码如下: if( FAILED( dirdr = DirectDrawCreateEx( NULL, (VOID**)&m_pDD,IID_IDirectDraw7, NULL ) ) )                 return FALSE; 连接库有: winmm.lib dx ...…

查看全部问答>

请问为什么CPU,内存,硬盘的性能参数在不断飙升?

比如以前,我们说微处理器的出现是因为大规模集成电路的使用,那么请问最近这十年的性能的飙升是因为什么? 像内存,为什么以前只有64KB那么多,一下子飙升了上百倍,上千倍,而且体积还是那么大? …

查看全部问答>

DM900A数据接受问题

有谁有DM900A数据接受方面的程序,代码资料可以提供下嘛?email:jsmeteor@126.com…

查看全部问答>

向达人请教一个UBOOT(i386)的简单问题~~

汇编不好,看UBOOT刚启动就困住了,好几天了都还没整明白。 在汇编语言子论坛里发过,但没有什么同学。来这里试试。 ================start16.s================ #define BOOT_SEG        0xffff0000      &n ...…

查看全部问答>

如何获取CUP温度

在线等待,高分送出,我所有的分了,解决了我新开个号送分~~!!!!!…

查看全部问答>

STM32怎么开始学?

请推荐个开发板版本,我去赛格找找告知下大概价位…

查看全部问答>

CortexM0__Timer16_0示例代码程序下载

 CortexM0__Timer16_0示例代码程序下载…

查看全部问答>

软件看门狗程序中reboot()功能实现不了

程序中的一块要实现软件看门狗功能,中间到reboot(0x00)并不能实现目标机重启,求高手指点~~~ /*includes*/ #include \"vxWorks.h\" #include \"logLib.h\" #include \"math.h\" #include \"stdioLib.h\" #include \"stdio.h\" #incl ...…

查看全部问答>

s3c6410 RVDS2.2的安装

首先 在网站www.mcu123.com下载 软件 。   然后是安装。   STEP1:将下载好的文件解压缩,得到一个虚拟光驱文件TLF-SOFT-12.30.05.ARM.RealView.Developer.Suite.v2.2-ZWTiSO.bin。用虚拟光驱打开它,点击SETUP.exe一路默认安装RVD ...…

查看全部问答>