在WEC7主板上启动VFP硬件浮点处理器-英创.PDF

在WEC7主板上启动VFP硬件浮点处理器-英创.PDF

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在WEC7主板上启动VFP硬件浮点处理器-英创

在WEC7 主板上启动VFP 硬件浮点处理器 英创公司 2017 年3 月 关于ARM 指令 英创公司开发的基于WEC7 的工控主板目前包括3 种型号: 主板型号 CPU 架构 其他重要技术指标 ESM6802 Cortex-A9 双核 ESMARC 主板架构体系,主推产品型号 ESM3354 / ESM3352 Cortex-A8 ESMARC 主板架构体系,主推产品型号 EM335x / EM3352 Cortex-A8 成熟产品型号 在使用英创的WEC7 主板时,用户需要使用Visual Studio 2008 (简称VS2008 )来开发其 应用程序。尽管Cortex-A8 和Cortex-A9 处理器均支持性能更高的ARMv7 指令集,但微软在 VS2008 中所仍然使用ARMv4i 指令集的通用arm 编译器(编译器版本号为:15.00.20720)。 而A8 、A9 处理器所带的矢量浮点处理器(Vector Float-Point Processor)都需要在ARMv7 指 令下才能正常启动运行。换句话说,在ARMv4i 指令集下,对浮点的处理仍然是采用软件仿 真包来实现,而没有用到高端ARM 处理器自带的硬件浮点处理器。这对涉及大量浮点处理 应用的客户来说是很遗憾的事。 本文将以ESM3354 为测试平台,介绍在现有VS2008 基础上实现硬件浮点处理的方法。 编译器及SDK 的准备 我们为需要浮点处理的客户准备了ARMv7 编译工具以及基于ARMv7 工具的SDK ,具体 如下表所示: ARMv7 编译工具包 ms-armv7-compiler.tar 编译器版本 15.01.50304.03 ESM335x SDK ESM335XARMV7SDK.msi ESM6802 SDK ESM6802ARMV7SDK.msi 客户需要首先安装新的AMRv7 的SDK ,ARMv7 的SDK 与原来的ARMv4i 的SDK 是独立 并行的,并不需要卸载原来的SDK 。安装完成后,再把ARMv7 编译器工具包解压到本地硬 1 盘上,例如D:\ms-armv7-compiler 。 建立测试程序1 打开VS2008 ,建立测试程序3354_armv7_t1 ,平台(platform)选择ESM335XARMV7SDK, 用户可以看到其指令集显示为armv7 : 点击next,选择Console Application, 2 最后点击finish ,进入代码窗口。以下是测试的完整代码,客户可拷贝粘贴到所生成 的代码窗口区域中。 // 3354_armv7_t1.cpp : Defines the entry point for the console application. // #include stdafx.h int _tmain(int argc, _TCHAR* argv[]) { double f1 = 2.200002; double f2 = 2.200001; double ans = 1.0; longiterations = 5 * 1000 * 1000; DWORD dwStartTick, dwEndTick; _tprintf(TEXT(Microsoft compiler version: %d\r\n),_MSC_FULL_VER); _tprintf(TEXT(ARM instruction set: %d\r\n),_M_ARM); if(argc 1) { f1 = _wtof(argv[1]); } 3 if(argc 2) {

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档