顯示具有 NEON 標籤的文章。 顯示所有文章
顯示具有 NEON 標籤的文章。 顯示所有文章

2013年12月8日 星期日

[ Android JNI ] NEON用C及ASM來實作

以下是利用NEON技術來進行灰階轉換

以下是利用ASM技術來進行灰階轉換



[ Android JNI ] 使用NEON及ASM技術來進行灰階轉換

承接上一篇文章

http://cheng-min-i-taiwan.blogspot.tw/2013/12/android-jni-ndkneon.html
以上程式請修訂在前一篇文章test.c中

 以下是新增函式


[ Android JNI ] 使用NDK及NEON技術來進行灰階轉換

請先閱讀上一篇文章
http://cheng-min-i-taiwan.blogspot.tw/2013/12/android-jni.html
本篇文章僅呈現有關NEON部份的程式碼
test.c程式列表,紅色圈起來地方表示有改變的部份
2. Android.mk 設備NEON編譯方式
3. Application.mk 指定編繹種類
4.執行結果





2012年11月11日 星期日

[ Android NEON] HelloNeon範例編譯和執行

讀可以先看看步驟14,奇怪事情發生了,可以編譯,但因有錯誤所以沒辦法執行。

1. 在eclipse上選擇File->Import。
 2.滙入helloneon專案
 3.記得要勾選Copy Project into Workspace
 4.匯入的檔案結構
5. 點選helloneon.c會發現許多.h前面都標示"?",表丕找不到該檔案。 
 6.執行結果失敗,其原因是因為沒有.so。
7. 執行時可以發現有關c的程式沒有被編譯,在專案上按下mouse右鍵,選擇Android Tools->Add Native Support。
8.刪除 com.example.neon.HelloNeon.cpp這個檔案是自動產生的。
 9.打開helloneon.c可以看到蟲蟲了,所以沒法編譯。
10.設定專案的properties。
 11.選擇C/C++ Genera->Paths and Symbol設定路徑。
 12.設定路徑
 13.所有.h都找到但helloneon-intrinsics.c還是有問題
 14.奇怪事情發生了,可以編譯,但因有錯誤所以沒辦法執行。
 15.只好把錯誤訊息變成警告,讀者若有更好的辦法,請告訴敏哥。
 16.執行結果
後記:
文子提供的畫面

另外文子測試結果
使用android-ndk-r8b版本在同一支程式中沒有蟲出現,以下是我測試環境:
Win7 SP1
Eclipse 3.7.2
Java 1.6.0_35
JDT 20.0.3
NDK r8b
另外,跟敏哥部落格文章差別在Paths and Symbol設定路徑(這是自動帶出來的):
C:\cygwin\android-ndk-r8b\sources\android\cpufeatures

C:\cygwin\android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.6.x-google\include

C:\cygwin\android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.6.x-google\include-fixed

C:\cygwin\android-ndk-r8b\platforms\android-14\arch-arm\usr\include

敏哥也按照文子建議,重新下載NDK r8b,結果還是一樣,不過我使用的環境是XP。

[ Android NEON ] 測試 Android NDK 提供的 NEON 程式範例

在Android NDK中有提供一支範例,來介紹NEON的使用,以下是測試的結果。

使用AVD SDK 4.03版測試,有支援ARMv7 CPU。這個測試有違背常理,理論上要比較快,是不是因為採用模擬的結果,使得結果相反。

 使用AVD SDK 2.2版測試,沒有支援ARMv7 CPU。
 使用三星平板GalaxyTab P7510 10.1",CPU不支援,有點失望。
使用HTC Desire HD,測試結果很不錯。
長高設備 210L,測試結果還不錯
 長高 6410XP因為是ARM11不支援NEON
asus nexus測試結果 


[ ARM NEON ] NEON加速資料處理能力

今天我們要介紹NEON技術,當您使用維基百科查詢時,會發現Neon是氖,它是一種化學元素,其符號是Ne,原子序數是10,是一種無色的稀有氣體,在放電時呈現橙紅色,因此廣泛用於霓紅燈之中。 不過今天要跟大家分享是有關於ARM的NEON。NEON是一種進階SIMD延伸集,結合64位元和128位元的單指令多資料指令集(SIMD),可加速多媒體和訊號處理的處理。NEON技術用於ARM Cortex-A系列處理器其性能至少為ARM v5的3倍。