02.11.2014 Views

RealView 编译工具要点指南 - ARM Information Center

RealView 编译工具要点指南 - ARM Information Center

RealView 编译工具要点指南 - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

创 建 应 用 程 序<br />

2.2 使 用 <strong>ARM</strong> 编 译 器<br />

<strong>ARM</strong> 编 译 器 armcc 可 将 C 和 C++ 源 代 码 编 译 为 <strong>ARM</strong> 和 Thumb 代 码 。<br />

通 常 , 可 按 如 下 方 式 调 用 <strong>ARM</strong> 编 译 器 :<br />

armcc [options] ifile_1 ... ifile_n<br />

可 以 指 定 一 个 或 多 个 输 入 文 件 。<br />

有 关 <strong>ARM</strong> 和 Thumb 的 编 译 , 以 及 如 何 根 据 您 指 定 的 文 件 扩 展 名 调 整 编 译 器 启<br />

动 配 置 的 详 细 信 息 , 请 参 阅 《 编 译 器 用 户 指 南 》 中 的 第 2 章 <strong>ARM</strong> 编 译 器 使 用<br />

入 门 。<br />

2.2.1 生 成 Dhrystone 示 例<br />

示 例 目 录 下 安 装 了 一 系 列 应 用 程 序 的 示 例 C 源 代 码 。 每 个 示 例 都 有 一 个<br />

readme.txt 文 件 , 该 文 件 介 绍 示 例 代 码 以 及 如 何 编 译 该 代 码 。<br />

例 如 ,Dhrystone 基 准 程 序 的 源 代 码 安 装 在 示 例 目 录 中 的 ...\dhrystone 之 下 。 这<br />

个 程 序 可 用 于 评 估 系 统 的 整 数 处 理 性 能 。<br />

编 译 Dhrystone 示 例 :<br />

1. 使 用 以 下 命 令 编 译 C 文 件 dhry_1.c 和 dhry_2.c:<br />

armcc -c -W --debug -O3 -Otime --no_inline --no_multifile -DMSC_CLOCK \<br />

dhry_1.c dhry_2.c<br />

以 下 是 常 用 选 项 :<br />

-c 指 示 编 译 器 只 编 译 而 不 链 接 。<br />

--debug 指 示 编 译 器 为 源 代 码 级 调 试 添 加 调 试 表 。<br />

-O3 指 示 编 译 器 应 用 最 高 优 化 生 成 代 码 。<br />

-Otime 指 示 编 译 器 优 化 代 码 以 提 高 速 度 , 而 不 是 节 省 空 间 。<br />

--no_inline 和 --no_multifile 选 项 是 保 留 Dhrystone 基 准 程 序 的 主 旨 功 能 所<br />

必 需 的 选 项 :<br />

• --no_inline 是 必 需 的 选 项 , 用 于 禁 用 函 数 内 联 , 因 为 Dhrystone 要 求<br />

不 合 并 过 程<br />

• --no_multifile 是 必 需 的 选 项 , 用 于 禁 用 多 文 件 编 译 , 因 为 Dhrystone<br />

要 求 分 别 编 译 两 个 源 文 件 。<br />

在 生 成 Dhrystone 编 译 文 件 时 还 会 用 到 下 列 选 项 :<br />

-W 指 示 编 译 器 禁 用 所 有 警 告 。<br />

<strong>ARM</strong> DUI 0202IC Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. 2-3<br />

Unrestricted Access<br />

Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!