版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.1 裸机开发环境ADS集成开发环境的运用裸机开发环境何谓“裸机?裸机是指无操作系统下的ARM系统开发其特点是一切硬件资源均开放可以把它了解为一个高级单片机的开发裸机开发的作用更能深化地从底层去了解ARM CPU的操作过程及系统设计为日后自行设计系统打下根底为bootloader的编写打好根底开发环境的作用ADS下嵌入式系统开发方式模拟方式仿真方式调试方式开发环境开发软件有:SDTSoftware Development Toolkit2.51ADSARM Developer Suite1.2RealView调试软件有:AXD(ARM eXtended Debugger):ARM扩展调试器;
2、ARMSD(ARM Symbolic Debugger):ARM符号调试器;ADW/ADU(Application Debugger Windows/Unix):与老版本兼容的Windows或Unix下的ARM调试工具。ADS集成开发环境ARM公司推出的新一代ARM集成开发工具相对于SDT全称:Metrowerks CodeWarrior for ARM Developer Suite v1.2ADS的CodeWarrior IDE基于Metrowerks CodeWarrior IDE 4.2版本它经过适当的裁剪以支持ADS工具链ADS集成开发环境组成ADS的主要组成部件有:命令行开发工具A
3、RM运转时库GUI开发环境(Code Warrior和AXD) 有了这些部件,用户就可以为ARM系列的RISC处置器编写和调试本人的开发运用程序命令行开发工具完成将源代码编译,链接成可执行代码的功能类似于8086汇编环境下的masm和link工具命令行开发工具需求记忆较多的命令参数,但效率高;通常用集成开发环境IDE替代ADS提供下面的命令行开发工具:Armcc:ARM C编译器 Armcpp: ARM C+编译器 Armasm:ARM汇编编译器 :Armlink:ARM衔接器Armccarmcc用于将用ANSI C编写的程序编译成32位ARM指令代码armcc最根本的用法为: armcc o
4、ptions file1 file2 . filen这里的option是编译器所需求的选项,fiel1,file2filen是相关的文件名举例:armcc -c init.s led.s-c:表示只进展编译不链接文件; -C:(留意:这是大写的C)制止预编译器将注释行移走;-D:定义预处置宏,相当于在源程序开头运用了宏定义语句#define symbol ,-E:仅仅是对C源代码进展预处置就停顿;-g:指定能否在生成的目的文件中包含调试信息表;-I:将directory所指的途径添加到#include的搜索途径列表中去;-o:指定编译器最终生成的输出文件名。-O0:不优化;-O1:这是控制代码
5、优化的编译选项,大写字母O后面跟的数字不同,表示的优化级别就不同,-O1封锁了影响调试结果的优化功能;-O2:该优化级别提供了最大的优化功能;-S:对源程序进展预处置和编译,自动生成汇编文件而不是目的文件;-U:取消预处置宏名,相当于在源文件开头,运用语句#undef symbol;-W:封锁一切的或被选择的警告信息;有关更详细的选项阐明,读者可查看ADS软件的在线协助文件。armasmarmasm是ARM和Thumb的汇编器它对用ARM 汇编言语和Thumb 汇编言语写的源代码进展汇编ARM运转时库运转时库就是 C run-time library他的 C 程序运转时需求这些库中的函数C r
6、un-time library里面含有初始化代码,还有错误处置代码(例如divide by zero处置)假设没有了C run-time库,main()就不会被调用,exit()也不能被呼应。由于C run-time library包含了C程序运转的最根本和最常用的函数库的作用当用户对汇编程序,C程序或C+程序进展链接的时候,链接器会根据在建立时所指定的选项,选择适当的C或C+运转时库的类型选项各种不同组合都有一个相应的ANSI C库类型ADS提供以下的运转时库来支持被编译的C和C+代码:ANSI C库函数:C+库函数:ANSI C库函数由以下几部分组成:在ISO C规范中定义的函数;在sem
7、ihosted环境下用来实现C库函数的与目的相关的函数;被C和C+编译器所调用的支持函数C+库函数由以下几部分组成的:版本为2.01.01的Rogue Wave Standard C+库;C+编译器运用的支持函数;Rogue Wave库所不支持的其他的C+函数库途径构造库途径是在ADS软件安装途径的lib目录下的两个子目录假设,ADS软件安装在e:armadsv1_2目录,那么在e:armadsv1_2lib目录下的两个子目录armlib和cpplib是ARM的库所在的途径armlib这个子目录包含了ARM C 库,浮点代数运算库,数学库等各类库函数ARM C库函数是以二进制格式提供的与这些库
8、相应的头文件在e:armadsv1_2include目录中cpplib这个子目录包含了Rogue Wave C+库和C+支持函数库Rogue Wave C+库和C+支持函数库合在一同被称为ARM C+库与这些库相应的头文件安装在e:armadsv1_2include目录下CodeWarrior集成开发环境(IDE)为管理和开发工程提供了简单多样化的图形用户界面用户可以运用ADS的CodeWarrior IDE为ARM和Thumb处置器开发用C,C+,或ARM汇编言语的程序代码 全面的工程管理功能CodeWarrior for ARM是一套完好的集成开发工具,充分发扬了ARM RISC 的优势在
9、整个开发周期中,开发人员无需分开CodeWarrior开发环境,提高了效率可以在CodeWarrior IDE为ARM配置以上所引见的各种命令工具,实现对工程代码的编译,汇编和链接功能特征源代码编辑器集成在CodeWarrior IDE的阅读器中,可以根据语法格式,运用不同的颜色显示代码;源代码阅读器保管了在源码中定义的一切符号,可以运用户在源码中快速方便的跳转;查找和交换功能用户可以在多个文件中,利用字符串通配符,进展字符串的搜索和交换;文件比较功能可以运用户比较途径中的不同文本文件的内容适用程序 fromELF这是ARM映像文件转换工具该命令将ELF格式的文件作为输入文件,将该格式转换为各
10、种输出格式的文件,包括plain binary(BIN格式映像文件), Motorola 32-bit S-record format(Motorola 32位S格式映像文件), Intel Hex 32 format(Intel 32位格式映像文件),和 Verilog-like hex format(Verilog 16进制文件) armarARM库函数生成器将一系列ELF格式的目的文件以库函数的方式集合在一同,用户可以把一个库传送给一个链接器以替代几个ELF文件。与调试相关工具链在该集成环境中没有实现但与ARM调试器(AXD)能进展无缝地衔接调用根本概念target在CodeWarrio
11、r IDE中所涉及到的target有两种不同的语义目的系统(Target system)特指代码要运转的环境,是基于ARM的硬件。比如,要为ARM开发板上编写要运转在它上面的程序,这个开发板就是目的系统。生成目的(Build target)指用于生成特定的目的文件的选项设置(包括汇编选项,编译选项,链接选项以及链接后的处置选项)和所用的文件的集合。实例阐明功能:循环点亮LED灯跑马灯实现方法:汇编言语加C言语混合编程目的学习ADS的运用学习ARM开发言语的编写与调试建立工程 在磁盘里新建一个目录“D:arm翻开ADS软件点击工具栏“File,下拉点击“New选择工程类型输入工程称号及其目录Le
12、dcircle工程建立新建工程后的目录新建文件Init.s文件Main.c添加文件到工程添加到targetDebugRel:运用该目的,在生成目的的时候,会为每一个源文件生成调试信息;Debug:运用该目的为每一个源文件生成最完全的调试信息;Release:运用该目的不会生成任何调试信息。文件添加终了编译衔接进入编译衔接设置设置窗口目的设置ARMASM编译器设置ARMCC编译器设置文件输出设置编译衔接文件输出AXD调试工具在软件开发的最初阶段,能够还没有详细的硬件设备。假设要测试所开发的软件能否到达了预期的效果,这可以由软件仿真来完成。当然,也可以搭建一个PCB板,这个板上可以包含一个或多个处置器,在这个板上可以运转和调试运用软件。只需当经过硬件或者是软件仿真所得到的结果到达了预期的效果,才算是完成了运用程序的编写任务。调试器可以发送以下指令:装载映像文件到目的内存;启动或停顿程序的执行;显示内存,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化发展对商贸流通企业创新的影响:绩效、模式与效率
- 教师资格考试初中学科知识与教学能力化学试题及答案指导
- 2024年度腻子行业培训合作协议
- 04股权激励合同关于高科技企业员工股权激励的全面协议
- 2024年度“智能物流”系统合同
- 04XX光伏发电项目开发合作协议
- 2024年幼儿园环境创设合同
- 2024年建筑用管桩采购合同
- 2024年废弃物土方利用协议
- 2024年外籍企业法律顾问聘请合同
- YY∕T 1782-2021 骨科外固定支架力学性能测试方法(高清最新版)
- 西亚教学设计与反思
- 乙酸乙酯的反应器设计流程图
- EM277的DP通讯使用详解
- 耐压绝缘测试报告
- 野兽派 beast 花店 调研 设计-文档资料
- 水泵房每日巡视检查表
- 杭州市区汽车客运站临时加班管理规定
- 垫片冲压模具设计毕业设计论文
- 冷库工程特点施工难点分析及对策
- Python-Django开发实战
评论
0/150
提交评论