书签 分享 收藏 举报 版权申诉 / 12
上传文档赚钱

类型Bootloader及GNU映像机理课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3606258
  • 上传时间:2022-09-24
  • 格式:PPT
  • 页数:12
  • 大小:134KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Bootloader及GNU映像机理课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Bootloader GNU 映像 机理 课件
    资源描述:

    1、Makefile及Bootloader源代码结构vBootloader源代码结构vMakefile-mapcs-32:生成可以运行在具有32位程序计数器的处理器上的目标文件,并且遵循APCS-32函数调用标准。-mcpu=strongarm110:目标处理器是strongarm110MakefileCC=/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gccOBJCOPY=/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-objcopyINCLUDE=-I./includeCFLAGS=-O2-nostdin

    2、c-mcpu=strongarm110-mapcs-32-fomit-frame-pointer-fPIC$(INCLUDE)-Wall$(CFLAGSII)OCFLAGS=-O binary-R.note-R.comment SLDFLAGS=-static nostdlibELF32_LDFLAGS=-Wl,-T ld-xscaleCOMPILE=$(CC)$(CFLAGS)CFILES=$(wildcard*.c)SFILES=$(wildcard*.S)OBJ_FILES=$(SFILES:%.S=%.o)$(CFILES:%.c=%.o)BIN_FILE=x-boot255all:$

    3、(OBJ_FILES)$(CC)$(LDFLAGS)-o$(BIN_FILE)-elf32$(ELF32_LDFLAGS)$(OBJ_FILES)lgcc$(OBJCOPY)$(OCFLAGS)$(BIN_FILE)-elf32$(BIN_FILE)ELF文件格式vELF Executable&Linkable Formatv三种类型可重定位目标文件(relocatable object):保存着代码和适当的数据,用来和其他目标文件一起创建一个可执行文件或目标文件可执行文件(executable):保存着代码和适当的数据,是一个可执行的程序;exec用来它创建进程映像共享目标文件(shared

    4、 object):保存着代码和适当的数据。相当于Windows的DLL。从不同角度观察ELF文件格式几个重要的sectionvAn object file written by as has at least three sections,any of which may be empty.These are named text,data and bss sections.text-程序的“text”或可执行指令,相当于RO。.data-程序的初始化数据,相当于RW。.bss-未初始化数据。该section不占文件空间,相当于ZI。当程序运行时,系统初始化这些数据为0。vWithin the

    5、 object file,the text section starts at address 0,the data section follows,and the bss section follows the data section.rodata段v.rodata 保存着只读数据,在进程映像中构造不可写的段。系统自动生成v生成最终的可执行文件时,仅连接.text,.rodata,.data,.bss段。一般.rodata连接到.text段中。用readelf查看文件格式vreadelf a main.o用objdump查看ELF文件格式vobjdump h main.old连接工具和连接

    6、脚本vThe main purpose of the linker script is to describe how the sections in the input files should be mapped into the output file,and to control the memory layout of the output file.vOUTPUT_ARCH(arch)Specify a particular output machine architecture.vENTRY(symbol)定义程序入口点vSECTIONS The SECTIONS command

    7、 tells the linker how to map input sections into output sections,and how to place the output sections in memory.v一个连接脚本文件-ldxscale:ENTRY(_start)OUTPUT_FORMAT(elf32-littlearm,elf32-littlearm,elf32-littlearm)OUTPUT_ARCH(arm)SECTIONSldxscale文件SECTIONS .=ALIGN(4);.text 0 xA4000000-0 x80000:_ld_text_star

    8、t=.;*(.text)*(.got)*(.got.pld)*(.rodata)_ld_text_end=.;_ld_text_size=SIZEOF(.text);.=ALIGN(4);.data _ld_text_end:AT(ADDR(.text)+SIZEOF(.text)_ld_data_start=.;*(.data)_ld_data_end=.;_ld_data_size=SIZEOF(.data);_ld_text_and_data_size=SIZEOF(.text)+SIZEOF(.data);.=ALIGN(4);.bss:_ld_bss_start=.;*(.bss)*(COMMON)_ld_bss_end=.;_ld_bss_size=SIZEOF(.bss);_ld_stack_address=_ld_text_start+0 x80000;用objdump查看最终的文件vobjdump h x-boot255

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Bootloader及GNU映像机理课件.ppt
    链接地址:https://www.163wenku.com/p-3606258.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库