RealView微控制器开发套件(MDK-ARM)提供了一系列的功能,非常适合于标准的微控制器(MCU)设备,使用户更快、更容易的进行项目开发。本应用笔记介绍如何将ARM RealView Development Suite(RVDS)项目导入到MDK-ARM中。

MDK-ARM详细介绍:http://www.myir-tech.com/products/arm/mdk-arm/index.htm

RVDS详细介绍:http://www.myir-tech.com/products/arm/rvds/index.htm

Tool Component RealView Development Suite
(RVDS)
RealView Microcontroller Development Kit
(MDK-ARM)
Compiler RVCT C/C++ Compiler, armcc RVCT C/C++ Compiler, armcc
Assembler RVCT ARM Assember, armasm RVCT ARM Assember, armasm
Linker RVCT ARM Linker, armlink RVCT ARM Linker, armlink
IDE CodeWarrior μVision
Debugger RealView Debugger μVision
Simulator RealView ISS μVision
Cores Supported All ARM Cores N/A
Devices Supported N/A >150 ARM based MCU's (www.keil.com/arm/chips.asp)

这两款产品(RVDS和MDK-ARM)使用相同的RealView编译工具,这样转换起来并不困难。而它们的不同之处是,项目的处理和目标调试的接口:

  • RVDS中的IDE/调试器支持所有ARM内核(ARM7TDMI,ARM966E-S等),是内核定制的。
  • μVision IDE/调试器针对特定的微控制器,这在创建项目时选择。

要将RVDS项目转换到MDK-ARM,需按照以下步骤:

  1. 创建一个新的项目,并指定目标设备
  2. 将汇编源文件和C源文件添加到项目
  3. 配置设备的具体参数并输入内存配置
  4. 选择工具特定选项,如编译器优化级别
  5. 重新编译项目

步骤1:创建一个新的项目

转换项目的第一步是,在μVision RealView MDK-ARM(IDE)上创建一个新的项目,并选择正确的目标设备。

创建新项目

打开µVision.

  • 使用Project - New Project创建一个新项目
  • 从设备Database中选择目标设备。

  • 提示将启动代码复制到项目文件夹中
    • 如果已经有了启动代码,点击NO并且添加该启动代码(添加方法见下一步)。
    • 如果没有,点击YES导入制定的启动代码到项目中。

步骤2:将源文件添加到项目

下面需要增加你的C源代码文件,并重新编译新的项目。

添加项目源代码

  • 右击 “Source Group 1”
  • 选择 “Add Files to Group 'Source Group 1' ”
  • 浏览C文件并添加到项目中。

步骤3:配置设备参数

设备相关的内存映射和调试参数需要进行配置,以符合你的项目。

使用 Project - Options for Target来打开选项。

  • 为项目配置正确的设备属性,如XTAL或存储区。

  • Debug 标签. 为选项配置 Simulator 或者 ULINK ARM Debugger.

步骤4:选择工具特定选项

使用Project - Options for Target 对话框中的选项,进行配置 C/C++(编译器)、ASM(汇编)和连接器。

RealView MDK和ARM RVDS一样,也使用RealView编译工具。配置C/C++,汇编,连接器选项,以匹配以前的RVDS项目。

  • 有两种方法创建scatter文件:

    1. 如果选择Use Memory Layout from Target Dialog,µVision会根据上面的步骤创建scatter文件。
    2. 如果已经有了scatter文件,则关闭 Use Memory Layout from Target Dialog,然后选择scatter文件。

步骤5:重新编译项目

使用Project - Build target生成应用程序,这将生成可执行映像文件。该项目现在可以用μVision调试器连接模拟器或ULINK ARM调试器进行测试和验证。

要在目标硬件上进行测试,需连接ULINK仿真器,然后使用Flash - Flash Download命令下载应用程序。如果更改Flash编程选项,可在项目Project - Options for Target - Utilities - Settings进行配置

使用Debug - Start/Stop Debug Session 启动程序调试,它同样可以测试程序。

下表简要介绍了几个调试命令。

调试命令 描述
 Step Into
 Set Breakpoint
 Run
调试器命令允许您单步执行代码,设置断点,并运行目标程序。ISD51可配置Flash断点,即使你设置断点也允许实时执行程序代码。
 Watch Window Watch窗口允许您查看多组程序变量
 Show next statement 目前的程序行(汇编语言或C语言)都标有一个黄色的箭头。你可以使用 Show next statement 按钮来查看源代码。

从RVDS(ARM RealView Development Suite)迁移到RealView微控制器开发套件(MDK-ARM)相关推荐

  1. RealView Development Suite 4.0 Professional安装

    我所做的嵌入式系统以ARM为主,用的开发工具是ADS1.2,这套工具说实话不甚好用,尤其是用过了Eclipse编写Java和C的程序以后,对ADS的编辑器CodeWarrior简直到了深恶痛绝的地步, ...

  2. 基于VS Code搭建通用ARM微控制器开发平台

    基于VS Code搭建通用ARM微控制器开发平台 Data Author Version Note 2022.04.12 Dog Tao V1.0 Release as V1.0 - 使用基于STM3 ...

  3. 基于ARM Cortex-M4处理器的32位RISC微控制器

    Spansion是全球最大的专门提供闪存解决方案的公司.几乎所有电子设备中都会用到闪存产品,如手机.汽车.打印机.网络设备.机顶盒.高清电视.游戏机及其他电子消费品.如今人们不论在家中.办公室或是外出 ...

  4. RVDS-RealView Development Suite 4 0 Professional软件

    RVDS-RealView Development Suite 4.0 Professional软件     RealView Development Suite 4.0 Professional 软 ...

  5. 痞子衡嵌入式:ARM Cortex-M内核那些事(2)- 第一款微控制器

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是第一款Cortex-M微控制器. 1.天生荣耀:ARM Cortex-M处理器由来 ARM公司自2004年推出ARMv7内核架构时,摒弃 ...

  6. 清华大学视频:ARM微控制器与嵌入式系统

    清华大学视频课件:ARM微控制器与嵌入式系统(2017) 本课程课程要求学生具备C语言编程基础,在课程中逐步讲解ARM微控制器(单片机)与嵌入式系统,面向实践安排教学,鼓励动手实践和自由创新,适合想参 ...

  7. toad dba suite for oracle 12,Toad DBA Suite 和Toad Development Suite的区别

    这两个版本都包括了Toad.Sql Optimizer.Data Modeler.Toad DataAnalysi.Konwledges等基本软件.DBA版又增加了Spotlight On Oracl ...

  8. 从应用迁移到平台微认证:鲲鹏技术解读

    摘要:山西鲲鹏开发训练营主要分为鲲鹏生态介绍.鲲鹏应用代码迁移指导.C/C++和 Java 代码迁移沙箱实践及微认证几大环节. 8 月 27 日,华为 DevRun 开发者沙龙来到太原,在山西转型综合 ...

  9. 意法半导体STM32 ARM Cortex 32位微控制器

    STM32系列32位微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供新的开发自由度.它包括一系列产品,集高性能.实时功能.数字信号处理.低功耗/低电压操作.连接性等特性于一身,同时 ...

最新文章

  1. Mac OS X安装Git
  2. C#中Socket多线程编程实例
  3. 直播预告:基于强化学习的关系抽取和文本分类 | PhD Talk #18
  4. 蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)
  5. php crypt mysql password_使用PHP 5.5的password_hash和password_verify函数
  6. Pandas时序数据处理入门
  7. console中应用MFC类的方法
  8. jquery mysql表格_使用jQuery设计数据表格:设计表格基类
  9. sql语句分析是否走索引_mysql sql语句执行时是否使用索引检查方法
  10. vue ui创建项目时ERROR Failed to get response from Error: JAVA_HOME is not set./vue-cli-version-marker
  11. [kuangbin带你飞] 专题一 简单搜索 题解(超详细注释,史上最强题解)
  12. XXX集团财务决策支持系统的起因(系列二)
  13. 配置项目构建完成后文件移动---- Jenkins自动化部署学习笔记(三)
  14. Android开发之so文件使用方法详解
  15. 【process on】 怎么绘制直线
  16. python语音播报天气预报_Python3爬虫之自动查询天气并实现语音播报
  17. STM32中的串口通信的基础知识
  18. 【徒手训练】来自美国特种部队的徒手三角肌训练法
  19. Vivado中Simulator仿真软件的使用
  20. JS中 new FormData() - FormData对象的作用及用法

热门文章

  1. Mybatis-plus进阶之分布式id生成
  2. 并行计算模型有哪些?
  3. 宿主机(Windos)上文件上传至Ubuntu (linux)
  4. 东风风神S30 1.5MT 模仿中进步
  5. 百度全民小视频主播火热招募中,星球传媒教你如何实现自己的主播梦
  6. 接口Mock测试结合postman运用
  7. SD-WAN设备白盒刷机
  8. 搞点Python骚操作,自动美化excel表格
  9. LaTex书写日文教程 / upLaTex、pLaTex的使用 / latex配置日语编译环境方法
  10. 2020 CCF 非专业级别软件能力认证第一轮(CSP-S) 提高级 C++ 语言试题