RealView - ARM Information Center
RealView - ARM Information Center
RealView - ARM Information Center
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
使 用 基 本 链 接 器 功 能使 用 以 下 命 令 行 选 项 控 制 跳 转 内 联 :--no_branchnop链 接 器 将 任 何 跳 转 替 换 为 一 个 重 定 位 , 该 重 定 位 可 解 析 为 具 有 NOP的 下 一 条 指 令 。 这 是 缺 省 行 为 。 但 是 , 在 某 些 情 况 下 可 能 需 要 禁 用该 选 项 , 例 如 , 执 行 验 证 或 管 道 刷 新 时 。使 用 --no_branchnop 选 项 可 禁 用 该 行 为 。--inline 启 用 跳 转 内 联 。 有 关 详 细 信 息 , 请 参 阅 第 3-21 页 的 控 制 内 联 。--tailreorder如 果 可 能 , 将 尾 调 用 节 移 到 紧 靠 其 目 标 的 前 面 , 以 便 优 化 函 数 调用 。 有 关 详 细 信 息 , 请 参 阅 第 3-22 页 的 处 理 尾 调 用 节 。如 果 启 用 跳 转 内 联 ,armlink 将 扫 描 映 像 中 的 每 个 函 数 调 用 , 然 后 在 适 当 位 置 内联 。 在 内 联 函 数 时 ,armlink 会 从 调 用 者 删 除 对 被 调 用 函 数 的 引 用 。 在 删 除 任 何未 使 用 节 之 前 ,armlink 会 应 用 该 优 化 , 这 样 可 以 删 除 任 何 始 终 内 联 的 节 。使 用 --info 命 令 行 选 项 可 显 示 有 关 跳 转 内 联 的 信 息 :--info inline每 次 内 联 函 数 时 显 示 一 条 消 息 并 提 供 内 联 的 总 数 , 例 如 :Small function inlining resultsInlined function __Heap_DescSize from object h1_alloc.o at offset0x5c in section .text from object malloc.o.Inlined function __ieee_status from object istatus.o at offset0x40 in section .text from object _printf_fp_dec.o..Inlined total of 6 calls.控 制 内 联如 果 已 启 用 跳 转 内 联 , 函 数 必 须 满 足 某 些 特 定 条 件 才 能 内 联 :• armlink 只 处 理 最 简 单 的 情 况 , 并 且 不 内 联 读 取 或 写 入 PC 的 任 何 指 令 , 因为 这 取 决 于 函 数 的 位 置 。• 如 果 映 像 同 时 包 含 <strong>ARM</strong> 和 Thumb 代 码 , 则 必 须 构 建 从 其 他 状 态 调 用 的 函数 以 便 进 行 交 互 操 作 。 如 果 等 效 的 <strong>ARM</strong> 指 令 可 用 , 则 <strong>ARM</strong> 调 用 函 数 可 能会 内 联 Thumb 被 调 用 函 数 。 但 是 ,Thumb 调 用 函 数 不 能 内 联 <strong>ARM</strong> 被 调 用函 数 。 同 时 ,armlink 最 多 可 以 内 联 两 个 16 位 Thumb 指 令 。 但 是 ,<strong>ARM</strong> 调用 函 数 只 能 内 联 一 个 16 位 Thumb 指 令 。<strong>ARM</strong> DUI 0349AC 版 权 所 有 © 2007 <strong>ARM</strong> 公 司 。 保 留 所 有 权 利 。 3-21