(3) Make可以编译整个工程,并生成映像文件.在ADS中,ARM提供了三种映像文件, 
     1. Debug:      使用本生成目标生成的映像文件中包含了所有的调试信息,用于开发过程中使用 
     2. Release:    使用本生成目标生成的映像文件中不包含调试信息,用于生成实际发行的软件版本 
     3. DebugRel: 使用本生成目标生成的映像文件中包含了基本的调试信息(常用的是DebugRel映像文件). 
(4) 使用Make编译整个工程文件时,可能提示: 
      Error:(Fatal) Could not open file 
E:2440test/DMA/DMA_Data/DebugRel/ObjectCode/2440init.o      这是由于用户改变了用户在Make之前改变了整个工程文件的路径,解决途径是执行菜单Project/Remove Object Code,清除以前已编译过的目标文件,再重新编译即可. 
(5) Dubug按钮用于调适,单击按钮后自动运行AXD Debugger,其功能有: 
    1. 下载目标映像文件到目标系统中. 
    2. 在目标程序中设置断点,包括程序端点和数据端点.     3. 查看和修改断点处处理器状态.     4. 查看和修改目标程序中变量的值. 
    5. 单步执行目标程序,并可以显示反汇编的代码或者源程序代码.

(四)CodeWarrior IDE新建工程文件 
步骤1:打开CodeWarrior IDE.执行菜单File/New,弹出新建对话框.在Project内选择ARM Executable Image(ARM可执行镜像).输入工程的名字及保存路径.注意,只需要输入工程名,不需要结尾,且保存路径必须是英文路径.这样就生成了以.mcp为结尾的工程文件. 
        例如,输入工程名LED,路径D:/ARM/LED,这样就在D:/ARM下自动生成了LED文件夹,在LED文件夹下有两个文件,分别是LED_Data、LED.mcp. 步骤2:向工程中添加新建文件 
         执行菜单File/New,弹出新建对话框.在File内输入文件的名字及保存路径.注意,需要输入以某种类型结尾的文件名,且保存路径必须是英文路径(系统默认新建文件的路径即为工程路径).选中"Add to Project",在Project栏内选择需要添加文件的工程,在Targets栏内只选择编译选项DebugRel(生成的镜像中只包含基本的调试信息).这样用户就可以在文件内进行编程,然后保存. 
        例如,输入文件名main.c,(默认)路径D:/ARM/LED,选中Add to Project,在Project内选择需要添加文件的工程LED.mcp,   在Targets栏内只选择编译选项DebugRel. 步骤3:向工程中添加已存在的文件 
       将已有文件或文件夹复制到新建工程的路径下,执行菜单Project/Add Files,添加文件夹内的各个文件,注意只能添加文件,不能添加文件夹.在添加文件的过程中,CodeWarrior IDE会提醒用户来选

择编译选项,这里只选择DebugRel(生成的镜像中只包含基本的调试信息),不选择Release、Debug. 
       比如,复制系统文件夹system、文件夹uart到路径D:/ARM/LED下,执行菜单Project/Add Files,添加文件夹system、uart下的各个文件,并选择编译选项DebugRel. 
步骤4:新建的文件以及新加文件都被列出来,为了将这些文件按功能进行分类,执行菜单Project/Create Group,新建组.在 
Enter name for new group内输入组名,用户可以将各个文件按功能拖入组内.例如,执行菜单Project/Create Group,Enter name for new group内分别输入组名src、inc.其中,src表示存放系统的源码文件,inc表示存放系统的头文件,然后将以.c结尾的文件拖入组src内,将.h结尾的文件拖入组inc内.当然,如果工程较大,可以按模块进行分组,这样便于管理. 
  
(五)CodeWarrior IDE的设置 
  单击按钮DebugRel Settings,弹出DebugRel Settings对话框. <1>Target Settings 
     如果要生成可执行文件,则在Post-linker内选择ARM fromELF.如果不想生成可执行文件,则选择None. <2>ARM Assembler 
     在Architecture or Processor内选择ARM920T. <3>ARM C Compiler 
     在Architecture or Processor内选择ARM920T.

<4>ARM C++ Compiler 
     在Architecture or Processor内选择ARM920T. <5>Thumb C Compiler 
     在Architecture or Processor内选择ARM920T. <6>Thumb C++ Compiler 
     在Architecture or Processor内选择ARM920T. <7>ARM Linker 
  1.Output/Simple image栏:RO是内存的起始地址,即输入0x30000000. 
  2.Options/Image entry point栏:填入内存的起始地址,即输入0x30000000. 
  3.Layout/Place at beginning of image/Object/Symbol栏:指定初始化代码的目标文件. 
     初始化代码是已添加的汇编文件2440init.s,该文件编译后生成2440init.o,即输入2440init.o 
  4.Layout/Place at beginning of image/Section栏:输入Init      打开初始化代码文件2440init.s,找到 
     IMPORT Main The main entry of mon program    //main函数的入口地址 
     AREA   Init,CODE,READONLY                     //定义名为Init的只读代码段. 
     这个Init就是Section栏需要输入的.当然,用户也可以修改名字Init,然后将修改后的名字填入Section即可.此时,在Equivalent Command Line内会出现用户所设置的参数

<8>ARM fromELF 
   1.Output format:设置输出可执行文件的类型.选择Plain binary(二进制文件). 
   2.Output file name:指定生成的可执行文件的文件名.当然也可以不用设置,系统默认生成以工程名加后缀.bin的文件.

ads的更多相关文章

  1. FineReport如何用JDBC连接阿里云ADS数据库

    在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...

  2. 【转】arm 开发工具比较(ADS vs RealviewMDK vs RVDS)

      ADS REALVIEW MDK RVDS 公司 ARM Keil(后被ARM收购) ARM 版本 最新1.2 ,被RVDS取代 最新4.0 是否免费 破解情况 有 有 工程管理 CodeWarr ...

  3. NTFS系统的ADS交换数据流

    VC++ 基于NTFS的数据流创建与检测 What are Alternate Streams?(交换数据流) NTFS alternate streams , 或者叫streams,或者叫ADS(w ...

  4. Search Ads 已经在美国区上线 - iOS 移动开发周报(46)

    Search Ads 已经在美国区上线 - iOS 移动开发周报(46) 新闻 Search Ads 上线 苹果的 AppStore 搜索广告终于 正式上线了 https://developer.ap ...

  5. ADS报错 Warning : L6301W:Could not find file C:\Program Files . Error : L6218 : Undefined symbol ......

    ADS1.2编译时,出现找不到一个不存在目录下的目标文件(*.o) 编译一个COPY到硬盘上的一个工程,出现以下的fatal error message: Error: (Fatal)L6002: C ...

  6. ads 的一些错误

    遇到动不动就有*.o文件找不到的情况,而且通常都是开始的时候可以正常LINK,而经过若干次重新LINK后却找不到(即使只是在代码中加一个无关紧要得空格),新建个工程,将目前的.C和.H文件原封不动加进 ...

  7. ads 错误

    这个问题已经不是第一次碰到了,每次弄周立功的EasyARM2210的时候都会遇见,每次都没有记住.就是要用ADS运行板子配套光盘里面的配套程序的时候会出现: (Fatal)L6002U:Could n ...

  8. ADs系列之通用数据解析服务GAS(即将开源)

    面对成百上千的生产系统用户操作数据接入落地,你是否厌倦了每次机械编写打包解包的代码?对一次性接入多个数据的时候,还要对不同人联调,费时费力,你是否还会手忙脚乱,忙中不断出错?是否当数据出问题了,用的时 ...

  9. ADS的使用

    ADS是一款强大的软件,应用程序不能直接操作硬件,而ADS程序是无操作系统支持的,可以直接操作硬件,下面来介绍一下ADS的基本使用方法. 编辑本段基本简介: ADS(ARM Developer Sui ...

随机推荐

  1. github中non-fast-forward错误的解决

    参考文献 1.http://www.linuxidc.com/Linux/2012-04/58985.htm 2.http://ihower.tw/blog/archives/2620 3.http: ...

  2. 自定义UserProvider,更改验证方法

    新建UserProvider,如果继承EloquentUserProvider,注入model是必须的,或者去继承interface,自己实现一些方法 use Illuminate\Auth\Eloq ...

  3. 源码分析-mysql

    问题: mysql GROUP BY 返回结果 各个字段所在行

  4. php数据缓存

    用php进行微信开发时,碰到access_token长久保存的问题,以前都是用框架里的Cache直接set.get一下就完了.现在没框架可用了,只好自己动手写一个cache暂时用. 这个Cache类用 ...

  5. java JDK8 学习笔记——第17章 反射与类加载器

    第十七章 反射与类加载器 17.1 运用反射 反射:.class文档反映了类基本信息,从Class等API取得类信息的方式称为反射. 17.1.1 Class与.class文档 1.java.lang ...

  6. Android高级之第十一讲Hybird开发

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 随着移动端应用平台的兴起,需求和交互方式的多样化,H5开发逐渐在移动端流行起来:常见的移动产品有We ...

  7. Best practice: escape, or encodeURI / encodeURIComponent

    escape() Don't use it, as it has been deprecated since ECMAScript v3. encodeURI() Use encodeURI when ...

  8. BeanUtils 学习教程

    what happens in more sophisticated environments where you do not necessarily know ahead of time whic ...

  9. Codeforces Round #376 (Div. 2) C. Socks---并查集+贪心

    题目链接:http://codeforces.com/problemset/problem/731/C 题意:有n只袜子,每只都有一个颜色,现在他的妈妈要去出差m天,然后让他每天穿第 L 和第 R 只 ...

  10. Processes vs Threads

    A process is an executing instance of an application. What does that mean? Well, for example, when y ...