ARM下C语言编程解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 编译器 ADS提供多ห้องสมุดไป่ตู้编译器,以支持ARM和Thumb指令的编译,
主要有:
·armcc:是ARM C编译器。 ·tcc:是Thumb C编译器。 ·armcpp:是ARM C++编译器。 ·tcpp:是Thumb C++编译器。 ·armasm:是ARM和Thumb的汇编语言编译器。
ARM9处理器C语言编程
ADS 1.2开发环境创建与简介
ADS1.2开发环境创建
ADS1.2概述
ADS是个集成开发环境,主要包括编译器、链接器、调试 器、C和C++库等,是ARM公司推出的新一代ARM集成开 发工具。最新版本是ADS1.2,该版本支持包括Windows和 Linux在内的多种操作环境。ADS1.2的组成如下所述。
2.2 ADS集成开发环境的使用
2.2.1建立一个新工程
运 行 ADS1.2 集 成 开 发 环 境 ( CodeWarrior for ARM Developer Suite),点击File|New,在New对话框中,共有 7项,ARM Executable Image是ARM的通用模板。选中它 即可生成ARM的执行文件,如图2-8所示。
2. 链接器 armlink是ARM链接器。该命令既可以将编译得到的 一个或多个目标文件和相关的一个或多个库文件进 行链接,生成一个可执行文件,也可以将多个目标 文件部分链接成一个目标文件,以供进一步的链接。 3 符号调试器 armsd是ARM和Thumb的符号调试器,能进行源码 级程序调试。用户可以在用C或汇编语言写的代码中 进行单步调试、设置断点、查看变量值和内存单元 的内容。
有了这些部件,用户就可以为ARM系列的RISC处理器编写 和调试自己的开发应用程序了。
ADS1.2的安装
ADS全称为ARM Developer Suite,是ARM公司推出的新 的一代ARM集成开发工具。现在ADS的最新版本是1.2, 它取代了早期的ADS1.1和ADS1.0,该版本支持包Windows 和Linux在内的多种操作系统。安装步骤如下:
在ADS1.2的安装盘中运行setup.exe,安装ARM Developer Suite v1.2。出现图2-1对话框和图2-2对话框,同意产权协 义,选省缺安装路径(C:\Program Files\ARM\vADS1.2)和 典型安装模式(Typiflcation),按Next进入下一步,出现选 文件夹、编程语言和当前设定对话框,均按Next,开始安 装,如图2-3示。
项,在Post-linker栏中选中ARM fromELF项。按OK确定。 这是为生成可执行的代码的初始开关。 3. 在如图2-12中,点击ARM Assembler ,在Architecture or
Processer
栏中选ARM920T。这是项目选择的CPU类型。 4. 在如图2-13中,点击ARM C Compliler ,在Architecture or Processer栏中选ARM920T。这是要编译的CPU核。
安装结束,安装许可文件(Install License),这一步可 按安装向导进行,单击“下一步”按钮,会出现如图2-4 和图2-5所示的对话框。
在图2-5对话框中选浏览(Browser)查许可文件,在Program Files\ARM\ADSV1_2\license\中选license.dat文件并打开, 单击“下一步”按钮,如图2-6,即可完成ADS1.2的安装。 最后,程序还要注册,注册文件在Program Files\ARM\ADSV1_2文件夹中,单击注册文件,即完成程 序注册,如图2-7所示。
5. 在如图2-14中,点击ARM linker ,在outpur栏中设定程序 的代码段地址,以及数据使用的地址。图中的RO Base栏中 填写程序代码存放的起始地址,RW Base栏中填写程序数据 存放的起始地址。该地址是属于SDRAM的地址。
在options栏中,如图2-15,Image entry point要填写程序代码 的入口地址,其他保持不变,如果是在SDRAM中运行,则 可在0x30000000—0x33ffffff中选值,这是64M SDRAM的地址,
4 fromELF 将ELF格式的文件转换为各种格式的输出文件,包 括BIN格式映像文件、Motorola32位S格式映像文件、 Intel32位格式映像文件和Verilog十六进制文件。 FromELF命令也能够为输入映像文件产生文本信息, 例如代码和数据长度。
5 armar armar是ARM库函数生成器,它将一系列ELF格式 的目标文件以库函数的形式集合在一起。用户可以 把一个库传递给一个链接器以代替几个ELF文件。
ARMulator是一个ARM指令集仿真器,集成在ARM 的调试器AXD中,提供对ARM处理器的指令集的仿 真,为ARM和Thumb提供精确的模拟。用户可以在 硬件尚未做好的情况下开发程序代码,利用模拟器方
式调试。
·Angel是ARM公司常驻在目标机Flash中的监控程序, 只需通过RS-232C串口与PC主机相连,就可以对基于 ARM架构处理器的目标机进行监控器方式的调试。 C和C++库
ADS提供ANSI C库函数和C++库函数,支持被编译的C和 C++代码。用户可以把C库中的与目标相关的函数作为自己应 用程序中的一部分,重新进行代码的实现。这就为用户带来 了极大的方便,针对自己的应用程序的要求,对与目标无关 的库函数进行适当的裁剪。在C库中有很多函数是独立于其他 函数的,并且与目标硬件没有任何依赖关系。对于这类函数, 用户可以很容易地在汇编代码中使用。
还要在Project name栏中输入项目的名称,以及在Location 中输入其存放的位置,按确定保存项目。
2.2.2 开发环境设置
在新建的工程中,选择Debug版本,如图2-9,使用 Edit|Debug Settings菜单对Debug版本进行参数设置。
在如图2-10中,点击Debug Setting 按钮,弹出2-11图,选 中Target Setting
主要有:
·armcc:是ARM C编译器。 ·tcc:是Thumb C编译器。 ·armcpp:是ARM C++编译器。 ·tcpp:是Thumb C++编译器。 ·armasm:是ARM和Thumb的汇编语言编译器。
ARM9处理器C语言编程
ADS 1.2开发环境创建与简介
ADS1.2开发环境创建
ADS1.2概述
ADS是个集成开发环境,主要包括编译器、链接器、调试 器、C和C++库等,是ARM公司推出的新一代ARM集成开 发工具。最新版本是ADS1.2,该版本支持包括Windows和 Linux在内的多种操作环境。ADS1.2的组成如下所述。
2.2 ADS集成开发环境的使用
2.2.1建立一个新工程
运 行 ADS1.2 集 成 开 发 环 境 ( CodeWarrior for ARM Developer Suite),点击File|New,在New对话框中,共有 7项,ARM Executable Image是ARM的通用模板。选中它 即可生成ARM的执行文件,如图2-8所示。
2. 链接器 armlink是ARM链接器。该命令既可以将编译得到的 一个或多个目标文件和相关的一个或多个库文件进 行链接,生成一个可执行文件,也可以将多个目标 文件部分链接成一个目标文件,以供进一步的链接。 3 符号调试器 armsd是ARM和Thumb的符号调试器,能进行源码 级程序调试。用户可以在用C或汇编语言写的代码中 进行单步调试、设置断点、查看变量值和内存单元 的内容。
有了这些部件,用户就可以为ARM系列的RISC处理器编写 和调试自己的开发应用程序了。
ADS1.2的安装
ADS全称为ARM Developer Suite,是ARM公司推出的新 的一代ARM集成开发工具。现在ADS的最新版本是1.2, 它取代了早期的ADS1.1和ADS1.0,该版本支持包Windows 和Linux在内的多种操作系统。安装步骤如下:
在ADS1.2的安装盘中运行setup.exe,安装ARM Developer Suite v1.2。出现图2-1对话框和图2-2对话框,同意产权协 义,选省缺安装路径(C:\Program Files\ARM\vADS1.2)和 典型安装模式(Typiflcation),按Next进入下一步,出现选 文件夹、编程语言和当前设定对话框,均按Next,开始安 装,如图2-3示。
项,在Post-linker栏中选中ARM fromELF项。按OK确定。 这是为生成可执行的代码的初始开关。 3. 在如图2-12中,点击ARM Assembler ,在Architecture or
Processer
栏中选ARM920T。这是项目选择的CPU类型。 4. 在如图2-13中,点击ARM C Compliler ,在Architecture or Processer栏中选ARM920T。这是要编译的CPU核。
安装结束,安装许可文件(Install License),这一步可 按安装向导进行,单击“下一步”按钮,会出现如图2-4 和图2-5所示的对话框。
在图2-5对话框中选浏览(Browser)查许可文件,在Program Files\ARM\ADSV1_2\license\中选license.dat文件并打开, 单击“下一步”按钮,如图2-6,即可完成ADS1.2的安装。 最后,程序还要注册,注册文件在Program Files\ARM\ADSV1_2文件夹中,单击注册文件,即完成程 序注册,如图2-7所示。
5. 在如图2-14中,点击ARM linker ,在outpur栏中设定程序 的代码段地址,以及数据使用的地址。图中的RO Base栏中 填写程序代码存放的起始地址,RW Base栏中填写程序数据 存放的起始地址。该地址是属于SDRAM的地址。
在options栏中,如图2-15,Image entry point要填写程序代码 的入口地址,其他保持不变,如果是在SDRAM中运行,则 可在0x30000000—0x33ffffff中选值,这是64M SDRAM的地址,
4 fromELF 将ELF格式的文件转换为各种格式的输出文件,包 括BIN格式映像文件、Motorola32位S格式映像文件、 Intel32位格式映像文件和Verilog十六进制文件。 FromELF命令也能够为输入映像文件产生文本信息, 例如代码和数据长度。
5 armar armar是ARM库函数生成器,它将一系列ELF格式 的目标文件以库函数的形式集合在一起。用户可以 把一个库传递给一个链接器以代替几个ELF文件。
ARMulator是一个ARM指令集仿真器,集成在ARM 的调试器AXD中,提供对ARM处理器的指令集的仿 真,为ARM和Thumb提供精确的模拟。用户可以在 硬件尚未做好的情况下开发程序代码,利用模拟器方
式调试。
·Angel是ARM公司常驻在目标机Flash中的监控程序, 只需通过RS-232C串口与PC主机相连,就可以对基于 ARM架构处理器的目标机进行监控器方式的调试。 C和C++库
ADS提供ANSI C库函数和C++库函数,支持被编译的C和 C++代码。用户可以把C库中的与目标相关的函数作为自己应 用程序中的一部分,重新进行代码的实现。这就为用户带来 了极大的方便,针对自己的应用程序的要求,对与目标无关 的库函数进行适当的裁剪。在C库中有很多函数是独立于其他 函数的,并且与目标硬件没有任何依赖关系。对于这类函数, 用户可以很容易地在汇编代码中使用。
还要在Project name栏中输入项目的名称,以及在Location 中输入其存放的位置,按确定保存项目。
2.2.2 开发环境设置
在新建的工程中,选择Debug版本,如图2-9,使用 Edit|Debug Settings菜单对Debug版本进行参数设置。
在如图2-10中,点击Debug Setting 按钮,弹出2-11图,选 中Target Setting