DIY编程器网
标题:
ARM体系下浮点数Middle
[打印本页]
作者:
liyf
时间:
2012-1-27 15:27
标题:
ARM体系下浮点数Middle
随着嵌入式微处理器芯片性能的日益提高,嵌入式设备也得到了广泛的应用。随着应用的扩展,嵌入式软件开发也呈现出功能多样化、平台多样化、体系结构多样化的特点。
由于可移植性好,相当一部分嵌入式软件都是用C/C++语言开发的,而C/C++语言编写的程序中数据存储字节顺序是与编译平台所用的CPU相关的,所以嵌入式软件移植过程中,数据存储字节顺序是需要重点处理的地方。
在嵌入式GIS软件从x86体系结构下移植到ARM体系结构的过程中,遇到了浮点数据存储字节顺序的问题。该问题既不是Big-Endian,也不是Little-Endian,而是Middle-Endian字节顺序。本文先介绍该嵌入式GIS软件开发平台和运行平台,再对移植过程中遇到的问题进行跟踪和分析。找到问题根源,最终给出两种解决方案。
1 嵌入式GIS软件
嵌入式GIS软件是用C++语言开发的,运行在PDA上的嵌入式软件。该软件系统结构如图l所示。
在以嵌入式硬件设备为硬件平台的基础上,内核版本为2.4.30的嵌入式Linux操作系统和QT/Embedded图形界面开发包构成了嵌入式GIS软件的软件平台。嵌入式GIS软件通过第三方库GDAL/OGR,提供对多种格式(如Shapefile、mapinfo)等矢量电子地图的读取操作。
嵌入式GIS软件的运行平台是以ARM920T为处理器的三星公司的SMDK开发板。电子地图数据来自官方发布的某区域电子地图数据。
嵌入式GIS软件在x86上调试通过后,使用2.95.3版本的arm-linux-gcc编译器交义编译嵌入式GIS软件和其他组件;最终将该软件移植到SMDK上运行。
欢迎光临 DIY编程器网 (http://diybcq.com/)
Powered by Discuz! X3.2