新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Android的ARM匯編語言系列之六:NEON指令集與VFP指令集

        基于Android的ARM匯編語言系列之六:NEON指令集與VFP指令集

        作者: 時間:2016-11-09 來源:網絡 收藏
        章節列表

        之一:ARM匯編語言開篇
        之二:C/C++程序生成ARM匯編程序的過程分析
        之三:ARM匯編語言程序結構
        之四:ARM處理器的尋址方式
        之五:ARM指令集與Thumb指令集
        之六:NEON指令集與VFP指令集

        本文引用地址:http://www.104case.com/article/201611/317692.htm

        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



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 馆陶县| 南岸区| 南京市| 岳普湖县| 拜泉县| 建湖县| 伊吾县| 体育| 庐江县| 衡南县| 永德县| 佛教| 安溪县| 沐川县| 澜沧| 秀山| 中卫市| 盐津县| 红原县| 瑞丽市| 禄丰县| 昂仁县| 冷水江市| 衡阳县| 永康市| 祁门县| 若羌县| 高青县| 琼中| 夏津县| 沙河市| 柘荣县| 平塘县| 五寨县| 团风县| 石泉县| 延边| 南宫市| 法库县| 商城县| 石门县|