从ADS到RealViewMDK_上_
ADS操作简略

; dmc.o (+RW, +ZI) dmc_library.o (+RW, +ZI) } }
复杂的分区 简单的 AXF 的分区,认为程序只有一个 RO 段,一个 RW 段。但是在嵌入式程序,很多程 序需要更为复杂的分区,可能有好几个 RO 分不在同地址。在 GCC 中,非常规的分段需要 ld 调用 lds 脚本来设定,在 ADS 中,需要调用 scatter 描述文件来设置. 以下就是 6410 test 的 scatter 描述文件内容 可以看到除了传统的 RO,RW 外,它还增加了 IRAM 和 ITCM 段. DRAM 0x50200000 { CODE 0x50200000 { startup.o (Init,+FIRST) scatter_load.o (+RO)
ADS 的 IDE 实际上也是调用这一些工具来编译程序。如果你愿意,可以写脚本直接调用命 令行工具来编译。象 MTK 就是这样做的,它们写了一个 Makefile 脚本来直接调用编译器来 编译器---因为这个项目文件太多了。。
AXF 分区命名
一般的 C 程序对于程序分区,一般采用 TEXT/BSS/DATA 这样的分区.Gcc 的编译程序文件 成 功 后 , 最 后 都 会 生 一 个 .out 或 ELF 格 式 的 可 执 行 文 件 , 这 个 文 件 通 常 都 包 含 三 个 段.text,.data 和.bss 段,运行时,会在进程空间会生成.text,.data.bss 和 stack,heap 五个区. AXF 对于不同程序的分区采用另外命名.跟 GCC 程序对应,ADS 编写的程序也有两种状态, 一个保存状态.对于 ELF 可执行文件,一种是运行态,对应进程空间分区.
芯达STM32入门系列教程之五《如何安装RealView MDK软件》

STM32入门系列教程如何安装RealView MDK软件Revision0.01(2010-04-16)考虑到大多数同学都是从单片机过渡到STM32,因此我们将采用MDK作为我们STM32的调试软件。
该软件的界面为KEIL界面,对很多熟悉51的朋友来说,绝对能够轻松上手。
本期教程将讲述如何安装MDK软件。
打开芯达STM32光盘,在“软件工具”目录下,即可看见:双击打开后,可找到MDK3.80a版本。
可能有同学会有疑问,现在最新版本已经都到MDK4.11了,为啥还用3.80版本呢?经过高手前辈的经验确认,发现兼容性最好的,还是MDK3.80a,因此本期教程采用该版本来讲解,以后所有的教程、例程均采用MDK3.80A,不再重复说明。
如下右图所示,双击它。
出现如下窗口,直接点击“Next”进入下一步。
在出现的窗口中,选中I agree to all…,再点击Next,进入下一步。
接着选择你要安装的目录,笔者在这里直接默认安装在C盘下的keil目录中,然后点击Next。
下面填写你的姓(First Name)和电子邮件地址。
填写英文名字,以及电子邮件地址。
然后点击Next进入下一步。
接着系统进入安装界面,这个过程根据电脑配置的不同,可能需要几十秒至几分钟不等的时间,请耐心等待。
安装完成后,进入如下界面:这时,要选择一个工程例程,笔者这里选择了CQ-STM32的目标板的例程。
实际上,这一步不是必要的,大家也可以选择其他例程,例程供参考而已。
然后点击“Finish”,即可安装完成。
现在回到桌面,就可以看到多了一个图标:因为我们刚才安装的是MDK3.80a版本,属于Keil uVision3,因此图标上显示Keil uVision3的字样。
如果安装的是MDK4.11版本,则图标下显示的是Keil uVision4。
OK,软件安装完毕,这就表明我们安装成功了吗?NO!我们还需要激活它。
笔者建议使用正版软件,合法获取授权文件及序列号。
介绍如何使用RVMDK——keil

介绍RVMDK开发板拿到手之后,不要浪费时间,第一步就要建立一个学习平台。
一个好学习平台很重要,在不同程度上提高了我们的学习效率。
此外,养成良好的资料整理能力,让工程构造,文档资料清晰明了。
编译软件:RealView MDK-ARM 4.12,简称MDK或KEIL相信大多数读者是从51单片机那接着学过来的,对于KEIL C51的熟悉程序就不用说了。
刚接触新的事物,找点熟悉的来增强信心很重要。
用IAR的人也不少,两者的区别不大。
在这里,我们建议你先熟悉使用MDK.调试软件:JLINK V8拥有一个调试软件来学习,效率会快很多。
除了让我们更容易地找出代码的错误之处,还能让我们越来越熟悉STM32的内部寄存器。
有ST LINK的同学用ST LINK也行。
这里我们选择SEGGER公司JLINK,理由很简单:便宜。
接着我们用MDK来构建一个工程,貌似一些新手会觉得麻烦。
在后面的程序中,我们将一直沿用这种结构的工程,但不必每次都经历繁琐的建立过程。
在你想要的位置建立以下文件夹:Code(文件夹)Libraries(文件夹)-CMSIS(文件夹)-STM32F10x_StdPeriph_Driver(文件夹)Obj(文件夹)Utilities(文件夹)-Common-STM3Fire_Bull打开MDK, New Vision Project, 选择工程模板文件夹中,输入Project,CPU的选型STMicroelectronics—>STM32F103VC(按实际芯片类型来选,你不是这个就选别的)接着会弹出如下对话框:启动代码是一段和硬件相关的汇编代码.是必不可少的!这代码具体如何工作的,这个我们不必太关心,感兴趣的朋友可以去研究下。
在弹出的选择是否添加启动代码的窗口,我们选否,因为我们在后面会选择使用ST官方提供的启动代码。
启动代码是根据芯片类型来决定的,工程里包含了两个启动代码的话,编译会出事。
ARM Realview MDK集成开发环境(行业信息)

通常情况下,ARM程序都需要初始化代码来配置所对应的 目标硬件。
S3C2410A.s就是系统自带的启动代码。这段代码是CPU复位 后首先要执行的代码
图5启动代码文件配置向导 学习课件
图6 加入启动代码后的工程16
4. Realview MDK的使用
4.3 建立一个新的源文件
学习课件
图4 选择处理器
14
4. Realview MDK的使用
在设备数据库里选择一款CPU后,可以在Project Workspace – Books里打开相应设备的用户数据手册。
双击打开相应的手册, 可以进行相应的修改
图4 相应的设备数据手册
学习课件
15
4. Realview MDK的使用
创建一个新工程需要:选择工具集,创建 工程并选择处理器,配置对应的启动代码, 配置硬件选项,创建源文件及文件组,最 后编译链接生成HEX文件。
工欲善其事,必先利其器,所以必须熟练 掌握环境的使用。
学习课件
31
参考文献
学习课件
32
谢谢!
学习课件
33
学习课件
26
4. Realview MDK的使用
4.6 工程的编译链接
编译链接:
编译结果:
学习课件
27
4. Realview MDK的使用
4.7 工程的调试
点击Debug中的“Start/stop debug session“,进入调试状态
debug选项:
debug调试工具
学习课件
① 按照4.5小节中的“工具配置”的要求选择正确的flash算 法
② 连接好ULINK2仿真器 ③ 点击工具栏中的“load”按钮,如下图所示,实现镜像文
ARM 仿真器 ULINK2 + RealView MDK 开发套件

ARM仿真器ULINK2 + RealView MDK 开发套件ULINK2仿真器ULINK2是ARM公司最新推出的配套RealView MDK使用的仿真器,是ULink仿真器的升级版本。
ULINK2不仅具有ULINK仿真器的所有功能,还增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。
开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。
ULINK2 新特点标准Windows USB驱动支持ULINK2即插即用支持基于 ARM Cortex-M3的串行调试支持程序运行期间的存储器读写、终端仿真和串行调试输出支持10-pin 连接线(也支持20-pin 连接线)ULINK2主要功能:USB通讯接口高速下载用户代码存储区域/寄存器查看快速单步程序运行多种程序断点片内Flash编程ULINK2技术参数特性RAM 断点UnlimitedROM断点(ARM7/9) 2 maxROM断点(Cortex-M3) 6 maxExecution断点(Set While Executing)√Access断点(ARM7/9) 2 max (R/W Only,With Value)Access 断点(Cortex-M3)4 max (With Value) Trace History× Real-Time Agent√ JTAG 时钟<= 10MHz JTAG RTCK 支持(Return Clock)√Memory R/W(Bytes/sec)≈28K Flash R/W(Bytes/sec)≈25K Single-Step(Fast)(Instructions/sec) ≈50ULINK2支持的处理器【ARM7/ARM9/Cortex-M3】LPC2101, LPC2102, LPC2103, LPC2104, LPC2105, LPC2106, LPC2114, LPC2119,LM3S101, LM3S102, LM3S301, LM3S310, LM3S315, LM3S316, LM3S328,S3C2410A, S3C2440A, S3C44B0X, S3C4510BAT91C140, AT91F40416, AT91F40816, AT91FR40162, AT91FR4042, AT91FR4081,STR710FZ1, STR710FZ2, STR711FR0, STR711FR1, STR711FR2, STR712FR0,ADuC7019, ADuC7020, ADuC7021, ADuC7022, ADuC7024, ADuC7025, ADuC7026,ADuC7027, ADuC7032, ADuC7033, ADuC7128, ADuC7129MAC7101, MAC7104, MAC7105, MAC7106, MAC7111, MAC7112, MAC7114,MAC7115, MAC7116, MAC7121, MAC7122, MAC7124, MAC7125, MAC7126,ML674000, ML674001, ML674002, ML674003, ML675001, ML675002, ML675003,ML67Q4050, ML67Q4051, ML67Q4060, ML67Q4061, ML696201, ML69Q6203 TMS470R1A128, TMS470R1A256, TMS470R1A288, TMS470R1A384,TMS470R1A64, TMS470R1B1M, TMS470R1B512, TMS470R1B768MAC7101, MAC7104, MAC7105, MAC7106, MAC7111, MAC7112, MAC7114,MAC7115, MAC7116, MAC7121, MAC7122, MAC7124, MAC7125, MAC7126,MAC7131, MAC7134, MAC7135, MAC7136, MAC7141, MAC7142, MAC7144ML674000, ML674001, ML674002, ML674003, ML675001, ML675002, ML675003,ML67Q4050, ML67Q4051, ML67Q4060, ML67Q4061, ML696201, ML69Q6203TMS470R1A128, TMS470R1A256, TMS470R1A288, TMS470R1A384,TMS470R1A64, TMS470R1B1M, TMS470R1B512, TMS470R1B768RealView MDK开发套件RealView MDK开发套件源自德国Keil公司,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。
Realview MDK中链接脚本的详细解析

例 2 一个加载区域,多个非连续的执行区域。
LR_1 0x010000 { ER_RO +0 { * (+RO) } ER_RW 0x040000 ; 定义可读写数据段 ER_RW 的起始地址为 0x040000. { * (+RW) } ER_ZI +0; 清零数据段 ER_ZI 紧接 ER_RW 段的尾地址存放,即为 0x040000 + ER_RW 的容量。 { * (+ZI) } } ; 所有清零数据都连续地放在这个区域。 ; 所有的可读写的程序都连续地放在这个区域。 ; 所有的只读代码段都连续地放在这个区域。 ;执行区域 ER_RO 的起始地址紧接载于区域 LR_1 的起始地址,即为 0x010000. ; 定义载入区域 LR_1 的起始地址为 0x010000。
例 3 二个加载区域,多个非连续的执行区域。
-1-
LR_1 0x010000 { ER_RO +0 { * (+RO) } } LR_2 0x040000 { ER_RW +0 { * (+RW) } ER_ZI +0 { * (+ZI) } }
; 载入区域 LR_1 的起始地址为 0x010000。 ; ER_RO 段的起始地址为 0x010000.
Realview MDK中链接脚本详细解析
Eembest 徐良平 使用 Realview MDK 时不可避免的要涉及到链接脚本文件, 特别是编译链接那些大的工程文件时更 是如此。在链接脚本中可以指定代码的存储布局,可以将代码段、只读数据段、可读写的数据段分别存 放,甚至可以精确地指定代码放置的位置,这一点是很关键的,譬如说启动代码就必须放在可知型文件 的开始位置。由于链接脚本重要性,开发者必须掌握其编写的方法。 Realview MDK 链接程序使用了两种方式控制程序的链接,即链接控制命令选项和链接脚本文件。 当使用链接控制命令选项时, 链接器定义了 Image$$RW$$Base、 Image$$RW$$Limit、 Image$$RO$$Base、 Image$$RO$$Limit、Image$$ZI$$Base 和 Image$$ZI$$Limit 等 6 个段地址描述符。这 6 个描述符可以直 接在程序中引用。而在使用链接脚本文件后,这 6 个描述符号没有了,取而代之的是链接脚本文件中的 段描述符,格式为:Image$$段名$$Base 和 Image$$段名$$Limit。下面将结合 3 个具体的例子说明链接 脚本文件的使用。 例 1 一个加载区域,多个连续的执行区域。
4、MDK的介绍与使用

1.1.RVMDK简介RVMDK源自德国的KEIL公司,是RealView MDK的简称,RealView MDK集成了业内最领先的技术,包括μVision4集成开发环境与 RealView编译器。
支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。
1.2.MDK 4.12集成开发环境的组成MDK又称叫RVMDK,源自德国的KEIL公司,是RealView MDK的简称,RealView MDK 集成了业内最领先的技术,包括μVision4集成开发环境与 RealView编译器。
支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。
1.3.MDK工程的编辑1.3.1.新建RVMDK工程1)点击WINDOWS操作系统的【开始】Æ【程序】Æ【Keil uVision4】启动Keil uVision 或在桌面双击【Keil uVision4】快捷方式启动。
启动MDK4.12如图所示:2)点击之后,出现启动画面:1)点击“project---New uVision Project”新建一个工程2)在对话框,选择放在刚才建立的“新建文件夹”下,给这个工程取个名后保存,不需要填后缀:3)弹出一个框,在CPU类型下我们找到并选中“STMicroelectronics”下的STM32F103RB:4)出现一个提示框,是否复制STM32启动代码到工程文件夹,我们选择【是】,就可以看到STM32的启动代码自动添加进来了:5)到这里工程全部建立完毕1.3.2.建立文件建立一个文本文件,以便输入用户程序。
JLINK及KEIL MDK使用手册

JLINK及KEIL MDK使用手册概述本章对 JLINK 驱动程序的安装、使用和对 RealViewMDK (Keil μVision3)集成开发环境安装及其集成开发环境的基本使用和设置进行了介绍。
3.1、安装JLINK仿真器驱动程序JLINK仿真器驱动程序可以从付带光盘或 SEGGER网站/pub/jlink/Setup_JLinkARM_V402c.zip获取最新的安装文件(目前最新安装版本为 Software and documentation pack V4.02c [7177 kb]),下载完成后双击执行,出现如图 3.1所示的安装界面,根据界面安装向导的提示,完成JLINK仿真器驱动程序的安装。
假设安装在 D:\SEGGER目录下。
图3.1按Yes出现下图界面图3.2 按Next继续下一步操作图3.3选择安装目录后按Next继续下一步图3.4如果你还在以前装了IAR的集成开发环境将出现下面图3.5的提示,提示你选择更新IAR 下的JLINK仿真器的动态链接库文件,一般选上后按OK完成JLINK仿真器的安装。
图3.53.2、如何使用JLINK仿真器软件3.2.1、使用J-FLASH ARM 烧写程序到芯片FLASH运行J-FLASHARM 出现图3.6图3.6 进行烧写前的必要设置如:图3.7图3.7选择MINI-STM32开发板的CPU型号,选择完成后按确定退出设置。
图3.8设置完成后左边显示烧写信息图3.9连接目标板,连上后会有提示信息,见下边的状态拦。
图3.10连接成功后如图3.11图3.11接着File->open打开烧录文件,如图3.12图3.12加载完成后选择Target->Auto或快捷键F7进行自动烧录。
图3.13烧写状态,图3.14图3.14 烧写成功,图3.15图3.15关于J-FLASH ARM更详细的操作请参阅JLINK的用户手册。
3.2.2、使用J-Link command设置和查看相关调试信息J-Link command包含了所有设置和查看相关调试信息的命令,J-Link command基于命令行输入方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM ABI 是 Application Binary Interface for t he ARM Architect ure 的简称 ,是一系列 ARM 体系架构标准 的集合 ,囊括了 ARM 二进制代码交互 、开发工具以及操 作系统等方面 。
对目标文件进行链接之前 , MD K 工具的链接器会严 格检查各个目标文件 (object s) ,判断它们是否复合 ARM 体系结构的 ABI 标准 。而 MD K 与 ADS 编译 、链接工具 所遵循的 ARM ABI 是不同版本的 ,所以将 ADS 的遗留 工程直接移植到 MD K 并进行链接时 ,用户可能会遇到如 下的错误或者警告 : Error : L6238 E : foo. o ( . text ) contains invalid call f rom ’ ~
2. 4 分散加载注意事项
MD K 同样支持 ADS 的分散加载文件 ,但是当分散加 载文件中涉及到必须被放置 ROO T Region 中的 C 库函数 时 ,有时用户需要做少量修改 。
ROO T Region 的 load address 与 execution address 相 同 ,所以这部分代码在系统初始化时无需进行搬移操作 , 很多库函数 (如__scatter 3 . o 或者__ dc 3 . o) 必须被放置 在 Root Region 中 。
从 ADS 到 Re alVi e w MD K(上)
■ A RM 中国 姜宁
1 ARM 微控制器开发的新工具
Keil 是颇受业界欢迎的 51 单片机开发工具 ,它拥有 流畅的用户界面与强大的仿真功能 。ARM 将 Keil 公司 收购之后 ,正式推出了针对 ARM 微控制器的开发工具 RealView Microcont roller Develop ment Kit ( 简 称 Real2 View MD K 或者 MD K) ,它将 ARM 开发工具 RealView Develop ment Suite ( 简称 RVDS) 的编译器 RVCT 与 Keil 的工程管理 、调试仿真工具集成在一起 ,是一款非常强大 的 ARM 微控制器开发工具 。
}
paper @mesnet. com. cn (投稿专用)
8 5 2007 年第 9 期 Microcontrollers & Embedded Systems
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
当工程中包含汇编代码时 ,用户可能还需要做少量的 代码修改 。这些修改包括 :
①检查汇编源码中的指令 ,确保堆栈操作指令是 8
字节对齐的 。
例 1 中 ,ADS 的遗留代码一次性将 5 个寄存器压栈 ,
由于 ARM 的指令寄存器宽度为 32 位 (即 4 字节) ,显然 5
个寄存器入栈之后 ,堆栈指针不能够满足 64 位 、8 字节对
当用户没有该 ADS 遗留工程的全部源码 ,只拥有库 文件或者目标文件时 ,可以通过22apcs/ adsabi 编译选项强 制 MD K 的编译器产生复合 ADS ABI 要求的目标文件 , 以达到与遗留的 ADS 库文件 、目标文件兼容的目的 。
注意 : A RM 新工具将不会继续支持22apcs/ adsabi 选项 。建 议用户及时更新工具到最新版本 。
注 :“默认的编译选项”是指在没有其他编译选项时编译 器的缺省选项 。
2. 2 PO SIX 格式
MD K 集成了 RVDS 的编译工具 RVCT , 与 ADS 相 比 ,除去编译 、链接工具的可执行二进制文件不同之外 ,两
8 4
2007 年第 9 期
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
②在每个汇编文件的开头 , 添加“PRESERV E8”指Biblioteka 令 ,见例 2 。例2
A R EA Init , COD E , R EADONL Y ↓
PR ESERV E8
A R EA Init , COD E , R EADONL Y
2. 3. 2 使用22apcs / adsabi 编译选项
对于以上情况 ,用户可以通过简单修改代码并重新编 译 、链接 ,或者使用特殊的编译选项来解决 。
2. 3. 1 重新编译所有代码
当用户拥有该 ADS 遗留工程的所有源代码时 ,使用 MD K 重新编译 、链接全部代码是最好的解决方法 。MD K 中的新版本编译工具会重新生成满足堆栈 8 字节对齐要 求的目标文件 ,避免由于堆栈不对齐引起的链接错误 。
}
; MD K 中的分散加载文件 1
ROM_LOAD 0x0 { ROM_ EXEC 0x0 {
vectors. o (Vect , + First) 3 ( InRoot $$Sections)
} RAM_ EXEC 0x100000 {
}
3 . o ( + RO , + RW , + ZI)
PR ES8’ f unction to ’R EQ8’ f unctio n Warning : L6306W : ’~ PR ES8’ section foo . o ( . text) should not
use t he address of ’R EQ8’ f unction foobar
齐 。为了解决这种问题 ,可以将另外一个并不需要压栈的
寄存器( R12) 同时压栈 ,这样当 6 个 32 位寄存器进栈之
后 ,堆栈就能满足 64 位对齐了 。
例1
S TMFD sp ! , {r02r3 , lr}
;将 R0 ,R1 ,R2 ,R3 ,L R
; (奇数) 寄存器入栈
↓
S TMFD sp ! , {r02r3 , r12 , lr} ; 将偶数个寄存器入栈
adv @mesnet. com. cn (广告专用)
个不同版本编译器的很多编译 、链接选项也有所不同 。有 关编译 、链接选项的变化 ,用户可以参考 ARM 工具文档 “RVCT Compiler and Libraries Guide ”中 的 Table E22 Mapping of compiler options 。
表 1 工具结构对比
工具元件组成
RealView MD K
ADS
工程管理 uVision IDE
CodeWarrior IDE
编译器
ARM C/ C+ + Compiler RVCT ARM C co mpiler for ADS
调试器
uVision Debugger
ARM Extention Degugger ( AXD)
2 工具结构的改进
作为 ARM 的新一代微控制器开发工具 , RealView MD K 不 但 包 含 ARM 的 最 新 版 本 编 译 、链 接 工 具 ( 即 RVDS3. 0 的编译 、链接工具) ,而且根据微控制器调试开
发的特点采用了与 ADS、RVDS 完全不同的调试 、仿真环 境 uVision debugger 与 simulator 。因此 ,MD K 与 ADS 在 工具架构组成上有一些不同 ,这些区别包括 :不同的工程 管理器 ,不同版本的 ARM 编译器 (compiler) ,不同的调试 器( debugger) ,不同的仿真器 ( simulator) ,以及不同的硬 件调试单元 ,详见表 1 。
这是因为新工具的 ABI 要求在函数调用时 ,系统必 须保证堆栈指针 8 字节对齐 ,即每次进栈或者出栈的寄存 器数目必须为偶数 。这是为了能够更加高效地使用 STM 与 LDR 指令对“double”或者“long long”类型的数据进行 访问 。而老的 ARM 开发工具 ADS 并没有考虑到新的 ARM 内核架构 ,其 ABI 对于堆栈的操作仅仅要求 4 字节 对齐 。所以当用户将在 ADS 中编译 、链接成功的工程代 码移植到 MD K 上 ,或者将老的 、ADS 遗留的目标文件 、库 文件在新工具 MD K 中进行链接时 , MD K 的链接器就会 报出以上的错误 。
RVCT 采用了 POSIX 格式的编译 、链接选项 ,所有的 多字符选项前必须使用双中划线 。例如 : ADS 的编译选 项2cp u ,在 MD K 中需要改写成22cpu ,否则用户在 MD K 中 直接使用 ADS 的 makefile 时 ,工具会产生一个如下警告 :
Warning : L3910W : Old syntax , please use ’22cpu’
例 3 分散加载文件的修改 。 ; ADS 中的分散加载文件
ROM_LOAD 0x0 { ROM_ EXEC 0x0 {
vectors. o (Vect , + First) _ _main. o ( + RO) 3 ( Region $$Table) 3 ( ZISection $$Table) } RAM_ EXEC 0x100000 { 3 . o ( + RO , + RW , + ZI)
很多嵌入式系统开发工程师对 ARM 的老版本开发 工具 ADS 非常熟悉 ,而 RealView MD K 与 ADS 相比较 , 从外观 、仿真流程以及内部二进制编译 、链接工具上都有 了不少改进 ,用法稍有不同 。本文的主旨是介绍通用的流 程以及一些注意事项 ,帮助 ADS 用户将老的 、遗留的 ADS 工程转化成在 RealView MD K 中进行开发调试的工程 。
仿真器
uVision CPU & Perip heral ARMulator Si mulatio n