12.07.2015 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.

编 译 器 特 有 的 功 能4.7.13 __force_stores此 内 在 函 数 导 致 将 在 当 前 函 数 外 部 可 见 的 所 有 变 量 写 回 到 内 存 中 ( 如 果 它 们 已更 改 ), 如 将 其 指 针 传 递 到 该 函 数 或 从 该 函 数 中 传 出 的 变 量 。此 内 在 函 数 还 用 作 调 度 屏 障 。语 法void __force_stores(void)另 请 参 阅• 第 4-83 页 的 __memory_changed• 第 4-91 页 的 __schedule_barrier4.7.14 __ldrex此 内 在 函 数 在 编 译 器 生 成 的 指 令 流 中 插 入 LDREX[size] 格 式 的 指 令 。 它 允 许 在 C或 C++ 代 码 中 使 用 LDREX 指 令 从 内 存 中 加 载 数 据 。 LDREX[size] 中 的 size 是 B( 代 表 字 节 存 储 ) 或 H ( 代 表 半 字 存 储 )。 如 果 没 有 指 定 大 小 , 则 执 行 字 存 储 。语 法unsigned int __ldrex(volatile void *ptr)其 中 :ptr 指 向 要 从 内 存 中 加 载 的 数 据 的 地 址 。 若 要 指 定 要 加 载 的 数 据 类 型 ,请 将 参 数 类 型 转 换 为 相 应 的 指 针 类 型 。指 令 加 载 的 数 据 大 小 C 类 型 转 换LDREXB 无 符 号 字 节 (unsigned char *)LDREXB 有 符 号 字 节 (signed char *)LDREXH 无 符 号 半 字 (unsigned short *)LDREXH 有 符 号 半 字 (short *)LDREX 字 (int *)表 4-8 __ldrex 内 在 函 数 支 持 的 访 问 宽 度<strong>ARM</strong> DUI 0348BC Copyright © 2007-2009 <strong>ARM</strong> Limited. All rights reserved. 4-79ID090708Non-Confidential, Unrestricted Access

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

Saved successfully!

Ooh no, something went wrong!