ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
*****************************************************
ARM映像文件
*****************************************************
1.ELF格局文件的布局
1.1映像文件构成部分
**一个映像文件有一个或多个域构成
**每个域包括一个或多个输出段
**每个输出段包括一个或多个输入段
**各输入段中包括了目标文件中的代码和数据
输入段中包括了四类内容:代码、已经初始化的数据、未经初始化的存储地区、内容初始化成0的存储地区。每个输入段有相应的属性,可以为只读的(RO)、可读写的(RW)以及初始化成0的(ZI)。ARM连接器根据个输入段的属性将这些输入段分组,再构成差别的输出段及域。
一个输出段中包括了一系列的具有雷同的RO、RW和ZI属性的输入段。输出段的属性与此中包括的输入段的属性雷同。在一个输出段的内部,各输入段是根据肯定的规矩排序的,这将在1.3节油细致地先容。
一个域中包括1-3个输出段,此中个输出段的属性各不雷同。各输出段的分列次序是由其属性决定的。此中RO属性的输出段排在最前面,其次是RW属性的输出段,末了是ZI属性的输出段。一个域通常映射到一个物理存储器上,如ROM或RAM。
1.2ARM映像文件各构成部分的地点影射
ARM映像文件各构成部分在存储体系中的地点有两种:一种是映像文件位于存储器中时(也便是该映像文件运行之前)的地点,称之为加载地点;一种是映像文件运行时的地点,称之为运行时地点。之以是有这两种地点,是由于映像文件在运行时,此中的有些域是可以移动的新的存储地区。比如,已经初始化的RW属性的数据地点的段运行之前大概生存体系的ROM中,在运行时,他被移动至RAM中。
通常,一个映像文件包括多少个域,各域又包括多少的输出段。ARM连接器必要知道如下的信息,已决定怎样天生相应的映像文件。
**分组信息 决定怎样将个输入段构导致相应的输出段和域。
**定位信息 决定个域在存储空间地点中的肇始地点。
根据映像文件中地点映射的巨大程度,有两种要领来报告arm连接器这些相干信息。对付映像文件中地点映射干系比较大略的环境,可以利用下令行选项;对付映像文件中地点映射干系比较巨大的环境,可以利用一个配置文件。
2.arm映像文件的入口点
2.1arm映像文件的入口点有两种范例:一种是映像文件运行时的入口点,称为初始入口点(initial entry point),另一种是平凡入口点(entry point).
初始入口点是映像文件运行时的入口点,每个映像文件只有一个唯一的初始入口点,它生存在ELF头文件中。要是映像文件是被操纵体系加载的,操纵体系是通过跳转到该初始入口点处来加载该映像文件。
平凡的入口点是在汇编中用ENTRY伪操纵定义。他通常用于标记该段代码是通过非常停止处理惩罚步伐进入的。如许连接器删除无用的段时不会将该段代码删除。一个映像文件中可以定义多个平凡入口点。
应该细致的是,初始入口点可以使平凡入口点,但也可以不是平凡入口点。
2.2定义初始入口点
初始入口点必须餍足下面两个条件:
**初始入口点必须位于映像文件的运行时域内。
**饱含初始入口点的运行时域不克不及被包围,他的加载地点和运行地点必须是雷同的。
可以利用连接选项-entry address来指定映像文件的初始入口点。这时,address指定了映像文件的初始入口点的地点值。
对付地点0x0处为rom的嵌入式应用体系,可以利用-entry 0x0来指定映像文件的初始入口点。如许当体系复位后,主动跳转到该入口开始实行。
要是映像文件是被一个加载器加载的,该映像文件该映像文件必须包括一个初始化入口点。这种映像文件通常还包括了其他平凡入口点,这些平凡入口点一样平常为非常停止处理惩罚步伐的入口地点。
当用户没有指定-entry address时,连接器根据下面的规矩决定映像文件的初始入口点。
**要是输入的目标文件中只有一个平凡入口点,该平凡入口点被连接器当成映像文件的初始入口点。
**要是输入的目标文件中没有一个平凡入口点,大概此中的平凡入口点多于一个,则连接器天生的映像文件中不包括初始入口点,并孕育产生告诫信息。
2.3平凡入口点的用法
平凡入口点是在汇编中用ENTRY 伪操纵定义。在嵌入式应用中,各别常停止的处理惩罚步伐入口利用平凡入口点标示。如许连接器在删除无用段时不会将该段代码删除。
一个映像文件中可以定义多个平凡入口点。没有指定连接选项-entry addres时,要是输入的目标文件中只有一个平凡入口点,该入口点被连接器当成映像文件的初始入口点。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号