导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→MDK中如何方便实现同一程序在不同地址运行的工程管理[讨论]

* 41714: MDK中如何方便实现同一程序在不同地址运行的工程管理[讨论]

   MICKEYMOUSE 
MICKEYMOUSE发表的帖子 

 MDK中如何方便实现同一程序在不同地址运行的工程管理[讨论]
在嵌入式程序的开发过程中,通常需要把程序运行在处理器地址空间的不同位置,比如内部RAM,外部RAM,内部Flash,外部Flash等。


通常以下两种方法:
    一是只建立一个工程,比如说运行在内部RAM中,然后通过修改其分散加载文件、调试初始化文件以及一些其他的配置选项来实现几种运行方式的切换。但由于在调试的过程中,可能存在对程序频繁的修改,工程师常常因为忘记修改某个配置选项,而造成了运行的不成功,给调试造成了极大的困难。


    二是为每一个运行方式创建一个工程,对于一个运行方式来说,只要修改其程序,而不需要对工程进行重新配置。然而这种方法也有其自身的缺陷,容易造成程序的不一致,几种运行方式不能实现程序的同步更新。


    那么,如何更方便有效地解决这个问题呢?其实,MDK提供了这样的一个工程管理的方法,既能对不同运行方式下工程的实现一次配置,又可以保证不同运行方式下程序的一致性。


    这里以英蓓特公司推出的AT91EB40X评估板为例。该款评估板支持AT91ER40162、AT91R40807、AT91M40800、AT91R40008处理器。EMBEST ATEB40X评估板除了CPU内部的存储器外,还有一片外部Flash和一片64K的EEPROM,另外,还可支持用户外扩SRAM。同时结合MDK的仿真功能,一个同样的例程可以运行在几种不同的运行方式:硬件仿真、片内RAM,片外RAM,片外Flash。

    下面介绍下工程管理的方法:
    1) MDK ->   Project ->   New uVision project,选择保存路径,选择处理器AT91R40008


    2) Project ->   Manage ->   Components,Enviroment,Books…,在选择卡Project Components ->  Project Targets中点击,并在光标处输入RAM AT91R40008。按此方法,依次建立Flash AT9140008,ERAM AT91R40008选项。同时将Target1选项更名为Sim AT91R40008。


    3) 在Groups和Files中,为所需的工程文件创建分组,并在各分组中加入相应的文件。如图1所示。通过点击Set as Current Target,可以设置当前运行的目标工程,如RAM AT91R40008。


按此在新窗口浏览图片


图 1

 

    4) 点击保存,则在MDK的工具栏上就会显示,按旁边的下拉箭头,操作结果如图2所示:

按此在新窗口浏览图片


图 2
    
    5) 分别对所建立的每个工程项目进行配置。以RAM,AT91R40008为例,点击工具栏中的按钮,对各个选项卡中的选项进行设置。对于运行在不同地址的工程,这里只需要对Target选项卡下的地址域,Linker选项卡下的分散加载文件以及Debug选项卡下的初始化文件,和Utilities选项卡下的Flash烧写算法等几个位置作修改即可。


    6) 每次调试运行时,只需要点击中的下拉箭头,选择所需选项,就可以方便地实现程序运行在不同的地址空间的切换。

 
 如果想看更多有关MDK的文章,下面是链接的地址(RealView中文社区) 
  

 
 


发表时间:2008年5月4日14:07:12

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:北京招聘单片机软件研发人员!!!我公司因项目需要急招单片机软件设计人员。薪金面议,有项目奖。
[下一篇帖子]:LED精选资料blog.ledclub.net LED俱乐部博主 http://bl