ADS1.2_map文件说明
ARMads1.2开发环境的搭建使用
ARMads1.2开发环境的搭建使⽤ARM开发环境的搭建安装平台(ads_1.2(arm 开发⼯具).iso,⽬前存放在D:\汇⽂\arm\⼯具及软件),在windows下安装。
步骤1:双击打开:ads_1.2(arm 开发⼯具).iso-》双击setup.exe,此软件安装完成后需要注册,注册⽂件在ads_1.2(arm 开发⼯具).iso中的crack⽂件夹的license.dat中,将此⽂件导⼊完成后即安装完毕。
步骤2:打开AXD进⾏配置(1):点击进⼊(2):(3)(4):ADD 完成后点击进⼊configure(5)先选择TCP/IP,然后填⼊127.0.0.1的本地回环,过后还要修改回来。
进⼊JTAG,修改JTAG为4800KHZ;(6)完后后会提⽰出错,(7)完成以上步骤后保存设置:file-》save session (保存地址最好在根⽬录下,最好不要有中⽂(⽬前我的安装版本保存在:D:\AXD_session 下;))(8)以上完成后开始OXD-》option-》configure interface,导⼊完成后从新保存并覆盖上⼀步的保存信息。
下次使⽤的时候需要将这些保存信息导⼊才能使⽤。
以上过程可打开jlink的GDB⼯具,⽤于监视单板的连接情况。
(打开SEGGER->jlink GDB)(9)完成以上步骤后,开始进⼊《metroworks codewarrior for ARM Developer suite v1.2》进⾏设置1.⾸先在file 内open⼀个已经ok的程序(在D:\AXD_session\YC2440_LED中的YC2440_LED.mcp),进⼊以下界⾯:备注:metroworks codewarrior for ARM Developer suite v1.2同AXD 的关系,metroworks codewarrior for ARM Developer suite v1.2⽤于编辑,AXD⽤于调试2.点击seting 进⼊设置界⾯:Run ,点击后会运⾏此程序,运⾏时会⾃动打开AXDARM :32位指令, Thumb :16位精简指令使⽤介绍:1:⽣产.bin⽂件,⽤于烧录到单板中。
第六章_ADS1.2开发工具的使用
2.函数下拉莱单 单击 图标,会弹出一个函数下拉菜单。在这个下拉菜单中,包含当 前文件所有的函数。函数排列的顺序有两种:第一种默认按照在源文 件中的先后顺序排列;另外一种也可以设置为按英文字符顺序排列。
3.标签下拉菜单 单击 图标,会弹出一个标签下拉菜单。在这个下拉菜单中,包含 当前文件中所有的标签。标签排列的顺序与源文件中的先后顺序一致。
6.文件修改标志 文件修改标志包括 和 ,这两个标志在编辑屏幕的右上角。如果当 前程序从上一次存储以来没有修改过,则显示 标志;如果程序被修 改过,则显示 标志,程序存储后又重新显示 标志。
17
1.3 编辑画面的设置
通用设置 编辑画 面设置 调试器
设置
18
1.Editor Settings选项卡
7
2.ADS环境中的重要目录
假设ADS1.2开发工具包的安装路径为install_directory, ① ARM中C/C++ 库的存放位置:install_directory\lib\armlib; install_directory\lib\cpplib,对应的头文件存放在nstall_directory\include下。 ② ARM中工具文件的存放位置:所有的工具文件都在路径为install_ directory\bin的目录下,在这个bin目录下包含了一些非常重要的工具文件, 如图所示。
目标板jtag下载线电源下载器电源jtag并行下载线主机调试器armmcuaxd调试界面硬件调试示意图11ads集成开发工具名称描述使用方式集成开发环境codewarrioradside开发环境集成了工程管理程序编辑编译和链接等功能代码生成工具针对arm的汇编器cc编译器链接器dos命令行方式调用或ide图形方式调用调试器axdadwaduarmsd仿真调试下载指令模拟器armulator由axd调用软件仿真arm开发包一些底层的例程实用程序用户使用arm应用库函数库等用户程序使用armads全称为armdevelopersuite是arm公司推出的新一代arm集成开发工具
ARM集成开发工具ADS1.2介绍
[推荐]ARM集成开发工具ADS1.2介绍ADS全称为ARM Developer Suite。
是ARM 公司推出的ARM 集成开发工具。
现在ADS 的最新版本是1.2 ,它取代了早期的ADS1.1 和ADS1.0。
ADS 由命令行开发工具,ARM 时实库,GUI 开发环境(Code Warrior 和AXD),实用程序和支持软件组成。
有了这些部件,用户就可以为ARM 系列的RISC 处理器编写和调试自己的开发应用程序了。
本文讲解了ADS1.2开发工具包的一些功能特性及其在开发过程中所起到的作用。
使用ADS开发嵌入式程序时,需要着重考虑以下几个问题:1.与硬件相关的C语言库函数的使用;2.某些C语言库函数使用了调试环境中的资源,要把这些使用的资源重定向到目标系统中的硬件上来;3.可执行映象文件的存储器映射必须根据目标硬件的存储器分布进行裁剪;4.在主程序执行前,嵌入式应用程序必须先完成系统的初始化。
一个完整的初始化包括用户的启动执行代码和ADS中C库函数的初始化过程。
图1 Semihosting的实现举例图2 C语言库函数结构图3 缺省的存储器映射图4 连接器布局规则缺省的工程项目设置刚开始一个嵌入式应用软件开发时,ADS用户可能并不完全清楚目标硬件的一些参数指标。
比如有关外设、存储器地址分布,甚至处理器类型等一些细节,可能还没有最终确定。
为了在所有这些细节全部就绪前就能进行软件开发,ADS工具有一套程序构建和调试的缺省设置。
了解这套缺省的工程项目设置方法,对于掌握最终的移植步骤非常有好处。
ADS1.2C语言函数库Semihosting在ADS的C语言函数库中,某些ANSIC的功能是由主机的调试环境来提供的,这套机制有一个专门术语叫Semihosting。
Semihosting通过一组软件中断(SWI)指令来实现。
如图1所示,当一个Semihosting软中断被执行时,调试系统先识别这个SWI请求,然后挂起正在运行的程序,调用Semihosting的服务,完成后再恢复原来的程序执行。
ADS1.2使用文档
ADS1.2使用文档1、点击“开始”-“所有程序”中找到“ARM Developer Suite v1.2”-点击软件开发环境“CodeWarrior for ARM Developer Suite”,即可进入ADS1.2开发环境界面2、新建工程“File”-“New”,弹出如下对话框,填写“Project name”,然后选择工程存放路径,点击确定即可。
3、点击红色标注图标,即可新建一个源代码文件,在该新建的空白文档中输入要调试的程序代码,点击保存按钮,将其保存到工程文件目录下,比如刚才步骤2中选择的“D:\My Documents\Pactice”下,并命名该文件名为:如果是汇编程序则为*.s,如果是C程序则为:*.c。
然后点击保存。
4、然后在工程窗口空白处,点击鼠标右键将新建源程序文件(比如“0514.s”)添加到工程“Practice.mcp”中5、添加完成后的界面如下所示,点击红色标注的“Debug”按钮,即可进入程序调试界面6、调试界面如下7、选择,即可在窗口左侧出现然后点击“Current”前的加号,即可展开当前各个寄存器的状态,将我们程序中用到的寄存器的值有当前默认的十六进制表示形式改为十进制表示(本例中用到的事r0,r1两个寄存器,对它们做修改),如下所示:8、然后摁F10运行,观察寄存器值的变化如下图所示9、如果源程序代码是C语言编写的,则从步骤3开始有所区别。
点击红色标注图标,即可新建一个源代码文件,在该新建的空白文档中输入要调试的C程序代码,点击保存按钮,将其保存到工程文件目录下,比如刚才步骤2中选择的“D:\My Documents\Pactice”下,并命名该文件名为:“0514.c”然后点击保存。
最后在工程窗口空白处,点击鼠标右键将新建源程序文件“0514.c”添加到工程“Practice.mcp”中即可。
10、将源程序文件添加到工程中后,点击红色标注的“Debug”按钮,程序进入“AXD”调试界面11、此时会在ADS开发环境下弹出“Error & Warnings”窗口,如下图所示:12、按红色标注区域所示,回到源程序代码修改所提示的“Error & Warnings”,重新保存源代码,重新点“Debug”按钮编译,直到没有错误为止如下图所示。
ADS1.2使用手册2
ADS1.2使用手册(3)2008/01/06 08:05第三课编译Translated from 第一步:理解编译阶段我们的前面的课程中已经学到,源程序输入完之后的工作就是要编译它。
编译源程序就是计算机把你所写(通常是用C 或C++编写的)的源代码进行分解、分析,然后转化为机器语言。
机器语言是一种计算机能够理解阿语言,而且它运行起来比C 或C++ 也要快得多。
编译的大致过程如下:1. 用C 或C++ 编写代码:#includevoid main(void) {int c;printf("Hello World on Windows!\n");c = getchar();}2. 进行编译。
CodeWarrior 编译上述代码并把它翻译成机器语言,结果如下:符号名:1: _main 2: _@8 3: _printf 4: ___files 5: _fwide 6: ___get_char==================================================== =========== SECTION SIZE = 0x0000003C; NAME =?.text DEFINED SYMBOLS: name = _main offset = 0x00000000; type =0x0020; class = 0x0002 00000000: 68 00 00 00 00 push offset _@8 00000005: E8 00 00 00 00 call _printf 0000000A: 59 pop ecx 0000000B: 6A FF push -1 0000000D: 68 00 00 00 00 push offset___files 00000012: E8 00 00 00 00 call _fwide 00000017: 85 C0 test eax,eax 00000019: 59 pop ecx 0000001A: 59 pop ecx 0000001B: 7D 1E jge $+32 ; --> 0x003b 0000001D: 83 2D 2C 00 00 00 sub dword ptr ___files+44,1 00000023: 01 00000024: 72 0A jb $+12 ; --> 0x0030 00000026: FF 05 28 00 00 00 inc dword ptr ___files+40 0000002C: EB 0D jmp $+15 ; --> 0x003b 0000002E: 89 C0 mov eax,eax 00000030: 68 00 00 00 00 push offset ___files 00000035: E8 00 00 00 00 call ___get_char 0000003A: 59 pop ecx 0000003B: C3 ret near ==================================================== ========= SECTION SIZE = 0x00000019; NAME = .data 00000000: 48 65 6C 6C 6F 20 57 6F 72 6C 64 20 6F 6E 20 57 Hello World on W 00000010: 69 6E 64 6F 77 73 21 0A 00 indows! DEFINED SYMBOLS: name = _@8 offset = 0x00000000; type = 0x0000; class = 0x0003==================================================== ==========上述机器代码难于阅读,不要去管它。
ads1.2的安装问题和编写程序的初始过程
ADS1.2 破解版的安装过程(含问题展示)和编写程序的过程(******************2013年10月17日)首先,请允许我表达一下我惊喜高兴的心情。
装过这些比较“苦逼”的软件的同志们都知道这些东西不好装成功,或者装成功了不知道怎么开始用。
我并不是强调这是一个很牛逼或者很带技术性的活儿。
但是没装好很折腾人或者很灰心,因为你将会面临:卸载(不一定卸的干净)重装、重新下载、或者放弃等等选择。
好了,进入正题:第一部分:ADS1.2破解版的安装过程和问题展示介绍一个ADS1.2破解版下载地址(本人亲测能用):大小是136.14M,压缩格式。
直接点击即可连接到迅雷下载。
http://120.209.129.67/ads1.2.rar?fid=AiXnxGYLAXKiTESighgrZBkjued7P4IIAAAAAGrH FoNg8Q50gOKeRIdnv-SQARwL&mid=666&threshold=150&tid=56BC405B08E6758FD 562D0E069A0B628&srcid=119&verno=11. 下载成功之后,第一步:解压。
如图1:(图1)2. 此时有个关键问题需要你关注就是如图2:需要你打开这个文档看一下,看完你会发现提示你看另一个文件夹CRACK ,因为安装信息在这里面。
(图2)接下来就是图3所示:你需要点击看看INSTALL.TXT,这里有后面很关键的一步说明。
(图3)3. 然后找到SETUP.EXE,鼠标右键选择:用管理员身份运行。
也可以直接双击运行,不过不知道后面会不会出现什么新问题。
建议采取用管理员身份运行。
运行完了之后,你就见到安装软件常见的界面,自己选择好就一直点下一步。
中建有两个地方需要提示的:第一个就是路径问题:你可以选择默认也可以换到其他盘,我是换到了D盘。
第二个是安装类型选择问题:我选择的typical,基本上够你用。
ADS1.2使用说明解析
2. 工程的编辑
Hex文件的生成 点击“DebugRel Settings…”图标按钮,即可进行工程的地址设置、输出文件设置、编 译选项等,如图9 所示。对于一般的软件开发,只需进行编译输出文件类型设置。
生成文件类型 生成文件目录
方法: •在“ARM fromELF” 页面中【Output format】 中选择“Intel 32 bit Hex”选项; •然后【Output file name】中设置输出 Hex文件的存放路径和 文件名称 •最后点击【OK】就 设置完成。
“New Text File”图标按钮。
2. 工程的编辑
添加文件到工程 在“建立新代码文件”之后,需要将源文件加入工程。
在工程窗口中添加源文件
选择需要添加的源文件
在工程窗口中【Files】页空白处右击鼠标,弹出浮动菜单,选择“Add Files…” 即可弹出“Select files to add…”对话框,选择相应的源文件,点击【打开】按钮即可。
2. 工程的编辑
• 工程编译连接
基本功能简介 如下图所示为工程窗口中的图标按钮,通过这些图标按钮,您可以快速的进行工程设 置、编译连接、启动调试等操作。它们从左至右分别为:
当前生成的目标 • DebugRel Settings…:工程设置,如地址设置、输出文件设置、编 译选项等,其中DebugRel 为当前的生成目标(target system)。 • Synchronize Modification Dates:同步修改日期,检查工程中每个文件的修改日 期,若发现有更新(如使用其它编辑器编辑源文件),则在Touch 栏标记“√”。 • Make:编译连接。 • Debug:启动AXD进行调试。 • Run:启动AXD进行调试,并直接运行程序。 • Project Inspector:工程检查,查看和配置工程中源文件的信息。
ads1.2使用手册
ADS1.2 集成开发环境的安装及使用一、安装ADS1.2软件:1.打开桌面上ADS1.2的文件夹,双击SETUP.EXE。
安装界面如下图1-1,选择“Next”继续。
图1-12.选择“YES”,同意安装许可,如同1-2。
图1-23.选择安装路径,安装到适当的地方,保证空间足够(200M 左右),此处默认为C:\Program Files\ARM,选择“Next”继续,如同1-3。
图1-34.选择完全安装Full的方式,点击“Next”继续,如图1-4。
图1-45. 连续点击“Next”继续,如图1-5,图1-6,图1-7。
图1-5图1-66.开始安装,界面如图1-8。
7.选择“下一步”,如图1-9。
图1-98.选择“Install License”项,如图1-10,点击“下一步”,如图1-11。
图1-10图1-119.此步骤是安装License,需要用到安装包里的CRACK文件夹,将此文件夹复制到软件安装目录的ADSv1_2下,此处为C:\Program Files\ARM\ADSv1_2。
拷贝完后点击图1-11中的“Browse”按钮,出现如图1-12所示界面,在查找范围处浏览到安装目录下C:\Program Files\ARM\ADSv1_2\CRACK文件夹并双击“LICENSE.DAT”即可,此时出现如图1-13所示界面。
图1-12图1-1310.依次点击“下一步”,“完成”,“Finish”,完成整个安装过程。
二、使用ADS1.2软件:1.新建工程现在可以通过“开始”—“程序”—“ARM Developer Suite v1.2”—“CodeWarrior for ARM Developer Suite”来打开开发软件了,如图1-14所示。
图1-14启动Metrowerks CodeWarrior for ARM Developer Suite v1.2后界面如图1-15所示。
图1-15在CodeWarrior中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮,如图1-16所示。
Map文件解读
Code RO Data RW Data ZI Data Debug
948 60 0 96 0 Grand Totals
==================================================
Total RO Size(Code + RO Data) 1008 ( 0.98kB)
Total RO Size(Code + RO Data) 1008 ( 0.98kB)
Total RW Size(RW Data + ZI Data) 97 ( 0.09kB)
Total ROM Size(Code + RO Data + RW Data) 1009 ( 0.99kB)
==================================================
Code RO Data RW Data ZI Data Debug
948 61 0 96 0 Grand Totals
=================================================
Total RO Size(Code + RO Data) 1009 ( 0.99kB)
ADS_1.2使用指南中文版
ADS_1.2使⽤指南中⽂版⼀步⼀步基于ADS1.2进⾏设计开发⽬录1 ADS1.2集成开发环境简介 (2)2利⽤H ELLOWORLD来学习使⽤ARMSYS (2)3编写好源程序代码 (3)4使⽤C ODE W ARRIOR建⽴⼯程并进⾏编译 (4)4.1调⼊模板或重新建⽴项⽬ (4)4.2在⼯程中添加源⽂件 (8)4.3进⾏编译和链接 (10)5使⽤AXD进⾏仿真调试 (11)5.1硬件准备 (11)5.2使⽤UART串⼝和超级终端进⾏系统调试 (11)5.3运⾏JTAG调试代理软件 (12)5.4调试器设置 (13)5.5调试器的使⽤ (15)5.6观察窗⼝ (16)5.7全速运⾏ (17)6 USB⼝下载⼯具 (17)7代码固化 (21)7.1空板烧录 (22)7.2 FLASH内代码的覆盖烧录 (22)1 ADS1.2集成开发环境简介ADS1.2是⼀个使⽤⽅便的集成开发环境,全称是ARM Developer Suite v1.2。
它是由ARM公司提供的专门⽤于ARM相关应⽤开发和调试的综合性软件。
在功能和易⽤性上⽐较SDT都有提⾼,是⼀款功能强⼤⼜易于使⽤的开发⼯具。
以下就我们对ADS1.2进⾏⼀些简要的介绍。
ADS囊括了⼀系列的应⽤,并有相关的⽂档和实例的⽀持。
使⽤者可以⽤它来编写和调试各种基于ARM家族RISC处理器的应⽤。
你可以⽤ADS来开发、编译、调试采⽤包括C、C++和ARM汇编语⾔编写的程序。
ADS主要由以下部件构成:n 命令⾏开发⼯具;n 图形界⾯开发⼯具;n 各种辅助⼯具;n ⽀持软件。
其中重点介绍⼀下图形界⾯开发⼯具。
n AXD提供给基于Windows和UNIX使⽤的ARM调试器。
它提供了⼀个完全的Windows和UNIX环境来调试你的C, C++, 和汇编语⾔级的代码。
n CodeWarrior IDE 提供基于Windows使⽤的⼯程管理⼯具。
它的使⽤使源码⽂件的管理和编译⼯程变得⾮常⽅便。
ADS1.2 使用教程(中文VS英文)
第一课认识 CodeWarriorTranslated from CodeWarrior 能做些什么?当你知道自己能写更好的程序时,你一定不会再使用别人开发的应用程序。
但是常常会发生这种情况,就是当你写了无数行代码后,却找不到使得整个程序出错的那一行代码,导致根本没法编译和链接整个程序。
这可能更令人灰心丧气。
本文将告诉你如何使用CodeWarrior 这一工具解决上述问题。
从现在开始,我们将集中精力学习如何在CodeWarrior 中使用C/C++ 进行编程。
为了学习本课程,你必须已经能够比较熟练地使用上述两种语言之一。
CodeWarrior 也可以支持Java 开发,但那是另一门课程的内容。
本课程仅限于在Windows 平台上使用CodeWarrior 进行的开发。
一旦你精通了CodeWarrior 编程后,你可以试试在其它平台上使用CodeWarrior。
本文中讨论过的大部分内容都可以应用到开发Mac 应用程序中。
CodeWarrior 能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描你的代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行你的程序。
你所使用过的每个应用程序都经过了使用象CodeWorrior 这样的开发工具进行编码、编译、编辑、链接和调试的过程。
现在你在我们的指导下,自己也可以去做这些工作了。
你可以使用CodeWarrior 来编写你能够想象得到的任何一种类型的程序。
如果你是一个初学者,你可以选择编写一个应用程序(比如一个可执行程序),比如象微软公司的文本编辑器WordPad 这样的应用程序。
应用程序可能是最容易编写的程序了,而那些庞大的商业软件,比如象Adobe Photoshop,Microsoft Word 以及CodeWarrior 软件都是极其复杂的。
其它类型的程序指的是控制面板(control panels),动态链接库(dynamic linked libraries,DLLs) 和插件(plug-ins)。
ADS1.2操作步骤(下载)(最新整理)
ADS1.2操作1.ADS1.2简介ADS开发环境是ARM公司较早推出的ARM核微控制器集成开发工具,英文全程为ARM Developer Suite,成熟版本为ADS1.2。
ADS1.2支持ARM10之前的所有ARM 系列微控制器,支持软件调试以及JTAG硬件仿真调试,支持汇编、C和C++源程序,具有编译效率高、系统库功能强等特点,可以在Windows98、WindowsXP、Windows2000以及RedHat Linux上运行。
2.ADS1.2集成开发环境的组成简介ADS1.2由6个部分组成,如下表所示。
表4.3-1 ADS1.2的组成部分名称描述使用方式代码生成工具ARM汇编器,ARM的C、C++编译器,Thumb的C、C++编译器,ARM连接器由Code Warrior IDE调用集成开发环境Code Warrior IDE工程管理,编译连接调试器AXD,armsd仿真调试指令模拟器ARMulator由AXD调用ARM开发包一些底层的例程,实用程序(如fromELF)实用程序由Code WarriorIDE调用ARM应用库C、C++函数库等由用户程序调用3.操作步骤选择Windows操作系统的“开始”->“程序”->ARM Develop Suite v1.2->CodeWarrior for ARM Develop Suite命令启动Metrowerks CodeWarrior,或者双击CodeWarrior for ARM Develop Suite快捷方式启动。
启动ADS1.2 IDE如图1所示。
图 1 启动ADS1.2 IDE单击菜单File,选择New菜单项即弹出New对话框,如图2所示。
图2 New对话框选择工程模板为ARM可执行映像(ARM Executable Image),Thumb可执行映像(Thumb Executable Image),或者Thumb和ARM交织映像(Thumb ARM Interworking Image),然后在Location项选择工程存放路径,并在Project Name项输入工程名称,单击“确定”按钮即可建立相应工程,工程文件后缀为.mcp,具体如图3.图3 新建工程会弹出test1.cmp工程管理对话框,,此时没有文件,管理文档的对话框时空的,点击File下的New,选择File新建文件,,里面可选的只有Text File,c语言的加.C后缀,ARM汇编或是Thumb汇编用.s后缀,如图4图4 新建文件在回看工程管理文件,里面多了新建的test.s文件,图5图5在test1.s中输入汇编代码,具体如下图64.编译连接工程如图7所示为工程窗口中的图标按钮,通过这些图标按钮,用户可以快速的进行工程设置、编译连接、启动调试等等(在不同的菜单项上可以分别找到对应的菜单命令)。
ads1.2使用手册
ADSI .2集成开发环境的安装及使用一、安装ADS1.2软件:1.打开桌面上ADS1.2的文件夹,双击SETUP.EXE。
安装界面如下图1-1, 选择“ NeXt”继续。
图1-12.选择“YES ”,同意安装许可,如同1-2。
图1-23.选择安装路径,安装到适当的地方,保证空间足够(200M左右),此处默认为C: 'Program FiIesSRM ,选择“ NeXt”继续,如同1-3。
图1-34.选择完全安装FUll的方式,点击“ NeXt ”继续,如图1-4。
图1-45. 连续点击“ NeXt ”继续,如图1-5 ,图1-6 ,图1-7。
图1-5AKV DcVelollCr Suit c : 2 Set UVSeIeCt IiIe type as^cciationsPleaSe ⅞e∣BC⅞ file e⅞{te⅞n^ior∣f to DCiale with CfldeWarriOr For ARM Dev⅞loρaι Suite;COdeWarrkir IPrc⅞ed file: β.mcp Y ∖■: j∣ji.-÷ fil÷ r;RCDii C++ InClUCIB Ne: x.hR C+* MUiCe IiIe K CPP∣7 CCM C++ ⅞otιrc⅛ FJ B:R As⅜enfibleι,MUiCe IliIe " $< B l aCJk ⅛!胡、I Ccncd图1-6ARM9嵌入式实验图1-9图1-87.选择“下一步”,如图1-9 。
ARl 1.3 rr'κn,3Et^ T ιιlWelCome to the ARM I ιcense∏⅛⅜ τ WirUr e Qyeu t⅛— lns ,t%J-L a tempor *ι-y I LC CrLSe — C r«⅞t a ⅞n ⅞pplιc⅛ti on f⅞rrr ∣ for «. p⅞rn im⅞nt. Ii CAllEa ■ Iπ≡⅛⅝ll y⅞ιJr ^⅛rm⅞xι⅛nX IiCa -« when y⅛⅛ receive itTo COiltin U4j CI i ClC NQKt∣τ≡猱矩②取洁 I 书助 I图1-7ARM9嵌入式实验8. 选择“ In stall LiCe nse ”项,如图1-10,点击"下一步”,如图1-11。
ADS1.2的详细安装步骤
ARM软件的安装一、ADS1.2的安装1、将光盘放入光驱,双击打开:2、双击打开名为ADS1.2的文件夹:3、我们选择其中的SETUP.EXE文件,进行安装4、点击Next:5、这是许可文件,如果同意的话选择Yes:6、选择安装目录,(这里使用默认的安装目录为大家演示)选完目录后点击Next:7、这里选择的是安装模式,有Compact(最小化安装),Custom(自定义安装),Full(完全安装),Typical(典型安装),这里使用完全安装为大家演示,点击Next:8、点击Next:9、选择可以打开的文件类型,点击Next:10、显示你前面所选的安装信息,点击Next:进入安装状态,11、安装完毕,这时需要我们输入序列号,点击Next:12、我们选择Install License点击Next:13、这里我们要输入序列号,序列号可以在光盘中找到:这里我们点击Browse:14、我们浏览到光盘里的ADS目录下15、选择CRACK,,打开16、选择LICENSE.DAT:,点击打开17、我们这时回到了刚才的界面,点击下一步即可:18、点击下一步19、点击完成20、点击FinishADS1.2的安装结束,到此可以正常使用了。
二、Mutil_ice2.2的安装1、浏览光盘的内容,选择mutil_ice2.22、选择SETUP.EXE3.进入安装画面,选择Next:4、如果同意,选择Yes5.选择安装目录,(这里我们使用默认的安装目录作为演示),点击Next:6.选择安装的组件,点击Next:7、选择Next:8.显示了先前了选择的安装信息,点击Next:9、进入了安装画面:10、安装完成,点击Finishmutil_ice2.2就安装完成。
11、mutil_ice2.2打补丁打开光盘\ multi-2.2.6\windows\目录,把文件夹下的四个文件复制到Multi-ICE Server.exe所在目录,覆盖掉原来的文件。
【推荐下载】ADS1.2连接器使用手册 有
ADS1.2 连接器使用手册有2011/06/30 891 3.1 指定映像结构一个映像的结构可由以下方面进行定义:l 它的连续区域和输出段的数目。
l 当映像被装载时这些区域和段在内存中的位置。
l 当映像被执行时这些区域和段在内存中的位置。
3.1.1 为目标文件和映像文件建立块一个映像也是一个被存储的可执行文件,由映像,区域,输出段和输入段的层级形式构成。
l 每个映像由一个或多个区域构成,每个区域又由一个或多个段构成。
l 每个输出段包含一个或多个输出段。
l 输出段是目标文件中的代码和数据信息。
l 输入段:每个输入段包含代码或初始化数据,或者描述没有被初始化或在映像执行前必须初始化为0 的的内存段。
输入段可以有RO,RW,ZI 三种属性。
Armlink 使用这些属性把多个输入段重组为更大的模块——输出段和域。
l 输出段:一个输出段是一系列连续的,具有相同属性(RO,RW,ZI)的输出段的组合。
一个输出段与组成它的输入段具有相同的属性。
在每个输出段内,输入段根据Section placement 的规则进行排序。
l 域:每个域由1~3 个输出段组成。
域中的输出段根据其属性进行排序。
首先是RO 输出段,然后是RW 输出段,最后是ZI 输出段。
每个域通常被映射为一个物理内存设备,如ROM,RAM 或外设。
3.1.2 映像的装载与执行角度当装载时,映像域被旋转在系统内存映射中。
在执行一个映像前,你可能得要把其中的一些域移到它们的执行地址处并且需要建立ZI 输出段。
例如,初始化好的RW 数据可能必须得从它在ROM 中的装载地址处拷贝到RAM 中的执行地址处。
3.1.3 指定一个映像的内存映射。
电子信息工程技术《ADS1.2软件使用说明》
ADS1.2软件使用说明ADS全称为ARM Developer Suite,它是ARM公司推出的新一代ARM集成开发环境,当前使用的版本为1.2,它取代了早期的ADS1.0和ADS1.1。
一、软件安装将发货光盘“tools”目录下的“ADS1.2.rar”压缩包解压,然后点击运行其中的“SETUP.EXE”程序,开始安装ADS1.2。
在安装界面中使用默认选择,然后点击“Next”按钮即可,直到出现“Welcome to the ARM License Wizard”对话框,如下图所示。
图4-114 安装ADS点击“下一步”出现下图:图4-115 安装证书点击“下一步”,在出现的对话框中单击“Location”项右端的“browse”按钮,选择解压的ADS1.2文件夹中“CRACK”目录下的“LICENSE.DA T”文件,如下图所示。
图4-116 选择安装证书路径点击“下一步”,选中“C:\Program Files\ARM\ADSv1_2\licenses\license.dat”,如下图所示。
图4-117 选择证书点击“下一步”,直到安装结束。
二、程序开发下面以创建LED 控制工程为例说明ADS1.2 软件的使用方法。
1.新建工程(1) 点击“开始→程序”,运行“CodeWarrior for ARM Developer Suite”程序。
点击“File”菜单,选择“New”,会打开如下图所示对话框。
工程类型选择“ARM Executeable Image”,然后设置工程名“Project name”和工程存放路径“Location”。
图4-118 建立工程(2) 设置完成后点击“确定”,即可建立一个名为LED Control工程,如下图所示。
图4-119 工程界面2.编写程序(1) 将发货光盘“No OS\Key\”目录下的utils.h、utils.c、startup.h、soc_cfg.h、s3c6410_addr.h 这5个文件拷贝到工程LED Control的存放路径下。
ADS1.2教程中文经典版
第8章ARM ADS集成开发环境的使用在这一章里,将介绍ARM开发软件ADS(ARM Developer Suite)。
通过学习如何在CodeWarrior IDE集成开发环境下编写,编译一个工程的例子,使读者能够掌握在ADS软件平台下开发用户应用程序。
本章还描述了如何使用AXD调试工程,使读者对于调试工程有个初步的理解,为进一步的使用和掌握调试工具起到抛砖引玉的作用。
本章主要内容有:- ADS软件组成介绍-使用ADS创建工程-用AXD进行代码调试8.1 ADS集成开发环境组成介绍ARM ADS全称为ARM Developer Suite。
是ARM公司推出的新一代ARM集成开发工具。
现在ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。
它除了可以安装在Windows NT4,Windows 2000,Windows 98和Windows 95操作系统下,还支持Windows XP 和Windows Me操作系统。
ADS由命令行开发工具,ARM时实库,GUI开发环境(Code Warrior和AXD),实用程序和支持软件组成。
有了这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序了。
下面就详细介绍一下ADS的各个组成部分。
8.1.1 命令行开发工具这些工具完成将源代码编译,链接成可执行代码的功能。
ADS提供下面的命令行开发工具:armccarmcc是ARM C编译器。
这个编译器通过了Plum Hall C Validation Suite为ANSI C的一致性测试。
armcc用于将用ANSI C编写的程序编译成32位ARM指令代码。
因为armcc是我们最常用的编译器,所以对此作一个详细的介绍。
在命令控制台环境下,输入命令:armcc –help可以查看armcc的语法格式以及最常用的一些操作选项armcc最基本的用法为:armcc [options] file1 file2 ... filen这里的option是编译器所需要的选项,fiel1,file2…filen是相关的文件名。
ads1.2使用手册与proteus仿真
ADS1.2 集成开发环境的安装及使用一、安装ADS1.2软件:1.打开桌面上ADS1.2的文件夹,双击SETUP.EXE。
安装界面如下图1-1,选择“Next”继续。
图1-12.选择“YES”,同意安装许可,如同1-2。
图1-23.选择安装路径,安装到适当的地方,保证空间足够(200M左右),此处默认为C:\Program Files\ARM,选择“Next”继续,如同1-3。
图1-34.选择完全安装Full的方式,点击“Next”继续,如图1-4。
图1-45. 连续点击“Next”继续,如图1-5,图1-6,图1-7。
图1-5图1-6图1-7 6.开始安装,界面如图1-8。
图1-8 7.选择“下一步”,如图1-9。
图1-98.选择“Install License”项,如图1-10,点击“下一步”,如图1-11。
图1-10图1-119.此步骤是安装License,需要用到安装包里的CRACK文件夹,将此文件夹复制到软件安装目录的ADSv1_2下,此处为C:\Program Files\ARM\ADSv1_2。
拷贝完后点击图1-11中的“Browse”按钮,出现如图1-12所示界面,在查找范围处浏览到安装目录下C:\Program Files\ARM\ADSv1_2\CRACK 文件夹并双击“LICENSE.DAT”即可,此时出现如图1-13所示界面。
图1-12图1-1310.依次点击“下一步”,“完成”,“Finish”,完成整个安装过程。
二、使用ADS1.2软件:1.新建工程(说明:使用工程模板可以更快捷的建立工程,详见工程模板使用说明.PDF)现在可以通过“开始”—“程序”—“ARM Developer Suite v1.2”—“CodeWarrior for ARM Developer Suite”来打开开发软件了,如图1-14所示。
图1-14启动Metrowerks CodeWarrior for ARM Developer Suite v1.2后界面如图1-15所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先声明,本文 MAP 文件是指包括了映像文件信息图和其他信息(更多信息可以 通过增加其他参数获得)的一个映射文件,为叙述方便笔者称为 MAP 文件,读者不必 较真。
在引入 MAP 文件以前对几个概念做一下说明。
段(section):描述映像文件的代码或数据块。 输入段(input section):它包含着代码,初始化数据或描述了在应用程序运 行之前必须要初始化为 0 的一段内存。 输出段(output section):它包含了一系列具有相同的 RO,RW 或 ZI 属性 的输入段。 RO:是 Read-only 的简写形式,包括 RO-DATA 和 RO-CODE。 RW:是 Read-write.的简写形式,包括 RW-DATA 和 RW-CODE,RWDATA 由程序初始化初值。 ZI:是 Zero-initialized 的简写形式,由编译器初始化为零。 加载域(load view):保留应用程序的代码和数据(典型应用为 ROM) 执行域(executive view):在程序执行的同时保留了程序的代码和数据。在 应用程序启动 期间,每个加载域都可创建一个或多个可执行域。
这里首先把前面提到的一些概念做一下对应,即对号入座
CODE 是 RO-CODE 同义词,也是.text 同义词,反之亦然; CONST 是 RO-DATA 同义词,也是. constdata 同义词,反之亦然; DATA 是 RW-DATA 同义词,也是.data 同义词,反之亦然; ZI 是.bss 的同义词,反之亦然
(2)totals--为输入对象文件和库,列出代码和数据(这里的数据包括,RO 数 据,RW 数据,ZI 数据和 Debug 数据) 总的大小;
(3)unused--列出由于使用-remove 选项而从映像文件中被删除的所有未使用段
生成 MAP 文件时最后包括以上参为-info sizes –info totals –info unused,或-info totals,sizes,unused
有时为了看 MAP 文件清晰方便可以选择-nodebug,即在输出文件中不包含调 试信息,但是注意不能进行源码级的调试。
其他一些 armlink 参数本文不再说明,请读者参阅相关的文献资料 。
二、MAP 文件结构与内容
在使用连接器时,如果使用了上述的参数选项就会生成一个统计信息的 MAP 文件,文件结构和内容取决于所用的参数。
背景
ARM(Advanced RISC Machines)微处理器实际上是采用 ARM 核的微处理器的通 称,ARM 处理器是在嵌入式系统中应用比较广的一种处理器。在手机终端中,ARM 核处理器占有很大的市场份额。本文是通过学习 ARM 核处理器来认识嵌入式系统,认 识怎样编写嵌入式系统软件。
ARM 编译连接过程
1.-map:此选项创建映像文件的信息图。映像文件信息图一般包括映像文件中的 每个加载域,运行域和输入段的大小和地址,这里的输入段还包括调试信息和连接 器产生的输入段。
2.-list file:此选项将-info,-map,-symbols,-xref,-xreffrom 和–xrefto 这几个选 项的输出重新定向到文件 file 中。这个定向的文件就是本文所指的 MAP 文件。
4.-symbols:此选项列出了连接的时候使用的每一个局部和全局符号该符号,还包 括连接生成的符号。
版权作者所有,欢迎转载
Yesterday is a history, tomorrow is a mystery, and today is god's gift, that's why we call it the
3.-info topics:此选项打印出关于指定种类的信息,这里的参数 topics 是指用逗号 间隔的类型标识符列表。类型标识符列表可以是下面所列出的任意一个:
(1)sizes--为在映像文件中的每一个输入对象和库成员列出了代码和数据(这里 的数据包括,RO 数据,RW 数据,ZI 数据和 Debug 数据)的大小;
. . . x unused section(s) (total xxxx bytes) removed from the image.//总数删除统计
2.域符号映射和全局,局部符号及生成符号映射统计信息
对应参数-symbols,示例如下: Image Symbol Table
Mapping Symbols//域空间地址映射(可以看出域空间使用情况)
一、ARM1.2
ADS1.2 是 ARM 公司推出的新一代 ARM 集成开发工具,提供了代码编辑,代码 调试,armasm(ARM 和 Thumb 的编译器),armcc(ARM C 的编译器),armcpp (ARM C++编译器),tcc(Thumb C 编译器),tcpp(Thumb C++编译器),armlink (ARM 连接器)和 fromelf(ARM 映象文件转换工具)等工具,可以适用于 AMR7、 ARM9 等 ARM 核处理器。用户可以建立 MCP 工程来编译代码工程,也可以写 bat 文 件或 makefile 文件用命令行方式来编译代码工程。armasm,armcc,armcpp,tcc, tcpp,armlink 和 fromelf 的使用说明可以在 command 下通过输入相应的 exe 文件得到。
二、ARMLINK 过程
一个比较典型的嵌入式系统编译连接工程所需元素基本包括以下几个元素:
汇编文件,即*.s 文件,负责 boot 过程、中断处理过程等 c 文件(或 c++文件)负责操作系统及其他具体应用实现 lib 文件,armlink 所需的库文件,也可能是部分连接(参数-partial)生成文 件,也可能是第三方提供的 lib 文件(需注意 endian 等因素影响) scatter file 文件,scatter file 文件是一个配置文件,用于实现分散加载技术。 分散加载技术 ARM 工具的一个特性,用来指定最终生成的目标映像文件运
Yesterday is a history, tomorrow is a mystery, and today is god's gift, that's why we call it the
present.
-1-
E_mail: ee_lyz@
MAP 文件认识初步
JOHNNY LEE
件,文件扩展名没有定死。
编译连接过程如图 1 所示
汇编文件
armasm
C/C++ 文件
armcc/tcc armcpp/tcpp
C/C++ 库文件
A
fromelf
bin 文件
R
M L
map 文件
I
N
K
符号文件
分散加载文件
图 1 ARM 编译连接过程
由图 1 可以看出整个编译连接的过程,输出的文件可以根据不同选项来选择,bin 文件类型也可以通过设置 linker 选项来设置,其他的一些 armlink 输出文件这里没有列 出,如 static graphic 文件。
版权作者所有,欢迎转载
Yesterday is a history, tomorrow is a mystery, and today is god's gift, that's why we call it the
present.
-2-
E_mail: ee_lyz@
行时的分布状态。连接参数为-scatter file,后面加*.scf 文件,因为是文本文
[-scatter file][-debug|-nodebug][-remove?RO/RW/ZI/DBG]|-noremove] [-entry location ]
[-keep section-id] [-first section-id] [-last section-id] [-libpath pathlist] [-scanlib|-noscanlib]
本文摘要:本文主要介绍了基于 ARM 核微处理器工程编译连接生成的 MAP 文件 结构、内容,简单分析工程各组成元素和生成的映象文件之间的关系。通过实际例子 分析说明 MAP 文件,并浅谈 MAP 文件对编写代码的作用,认识怎样编写嵌入式系统 软件。
关键词:ADS1.2,MAP 文件,输入段,输出段
如果上述 5 个参数在连接的时候都使用的话,那一个 MAP 文件包括以五部分 内容:
1.从映象文件中删除的输入段中未使用的段的统计信息
对应参数-remove(RO/RW/ZI/DBG),示例如下: Removing Unused input sections from the image.
Removing fs.o(.text), (40 bytes).//删除未用代码 Removing fs.o(.constdata), (350 bytes).//删除未用只读数据 Removing fs.o(.data), (42 bytes).//删除未用有初值的全局量
版权作者所有,欢迎转载
Yesterday is a history, tomorrow is a mystery, and today is god's gift, that's why we call it the
present.
-5-
E_mail: ee_lyz@
Removing fs.o(.bss), (12 bytes).//删除未用无初值的全局量
[-locals|-nolocals] [-callgraph] [-info topics] [-map] [-symbols] [-symdefs file] [-edit file] [-xref]
[-xreffrom object(section)] [-xrefto object(section)] [-errors file] [-list file] [-verbose]