基于Android的ARM汇编语言系列之六:NEON指令集与VFP指令集
时间:11-09
来源:互联网
点击:
章节列表
之一:ARM汇编语言开篇
之二:C/C++程序生成ARM汇编程序的过程分析
之三:ARM汇编语言程序结构
之四:ARM处理器的寻址方式
之五:ARM指令集与Thumb指令集
之六:NEON指令集与VFP指令集
NEON指令集与VFP指令集是ARM指令集的扩展,多用于多媒体编程和浮点运算。
一 Android平台使用NEON指令集与VFP指令集
Android NDK从r3版本开始也添加了对NEON指令集与VFP指令集的支持。使用方法如下所示:
1 运行时检测处理器是否支持NEON指令集与VFP指令集
Android NDK提供了一个cpufeatures的库来让开发者在运行时检测处理器是否支持NEON指令集与VFP指令集。要使用cpufeatures库,
(1) 首先在Android.mk中添加以下内容:
$(call import-module, android/cpufeatures)
(2) 然后在C/C++代码中包含头文件cpu-features.h文件。该文件包含以下函数。
- android_getCpuFamily():获取处理器家族信息,对于ARM处理器,该函数始终返回常量值ANDROID_CPU_FAMILY_ARM。
- android_getCpuFeatures():检测处理器支持的指令集,如果支持NEON指令集,则返回的64位数据中ANDROID_CPU_ARM_FEATURE_NEON标志就会被置位。如果支持VFPv3指令集,则返回的64位数据中ANDROID_CPU_ARM_FEATURE_VFPv3标志就会被置位。
- android_getCpuCount():获取处理器的核心数。
z只需要在Android.mk添加一下内容即可使用。
TARGET_ARCH_ABI:=armeabi-v7aLOCAL_ARM_:=true
AndroidARM汇编语言NEONVF 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)