From 6b316d80390a72a3cc822521bb37c5299fe223c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=82=89=E5=A4=B4=E5=90=9B?= Date: Mon, 8 May 2023 18:49:46 +0800 Subject: [PATCH] add kisfft MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 小肉头君 --- thirdparty/kissfft/HPKBUILD | 53 +++++++++++ thirdparty/kissfft/README.OpenSource | 11 +++ thirdparty/kissfft/README_zh.md | 12 +++ thirdparty/kissfft/SHA512SUM | 1 + thirdparty/kissfft/docs/hap_integrate.md | 90 ++++++++++++++++++ .../kissfft/docs/pic/kissfft_install_dir.png | Bin 0 -> 18612 bytes thirdparty/kissfft/docs/pic/kissfft_test.png | Bin 0 -> 8443 bytes thirdparty/kissfft/docs/pic/kissfft_usage.png | Bin 0 -> 61545 bytes 8 files changed, 167 insertions(+) create mode 100644 thirdparty/kissfft/HPKBUILD create mode 100644 thirdparty/kissfft/README.OpenSource create mode 100644 thirdparty/kissfft/README_zh.md create mode 100644 thirdparty/kissfft/SHA512SUM create mode 100644 thirdparty/kissfft/docs/hap_integrate.md create mode 100644 thirdparty/kissfft/docs/pic/kissfft_install_dir.png create mode 100644 thirdparty/kissfft/docs/pic/kissfft_test.png create mode 100644 thirdparty/kissfft/docs/pic/kissfft_usage.png diff --git a/thirdparty/kissfft/HPKBUILD b/thirdparty/kissfft/HPKBUILD new file mode 100644 index 00000000..a3a4379d --- /dev/null +++ b/thirdparty/kissfft/HPKBUILD @@ -0,0 +1,53 @@ +# Contributor: 小肉头君 +# Maintainer: 小肉头君 + +pkgname=kissfft +pkgver=131.1.0 +pkgrel=0 +pkgdesc="a Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid." +url="https://github.com/mborgerding/kissfft" +archs=("armeabi-v7a" "arm64-v8a") +license=("BSD-3-Clause") +depends=("libpng" "zlib") +makedepends=() +source="https://github.com/mborgerding/$pkgname/archive/refs/tags/$pkgver.tar.gz" + +autounpack=true +downloadpackage=true + +builddir=$pkgname-$pkgver +packagename=$builddir.tar.gz + +prepare() { + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + # KISSFFT_TEST=OFF是因为Test模块依赖python,无法编译成功 + PKG_CONFIG_PATH="${pkgconfigpath}" ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" -DKISSFFT_STATIC=ON -DCMAKE_INSTALL_INCLUDEDIR="$LYCIUM_ROOT/usr/$pkgname/$ARCH/include" -DKISSFFT_TEST=OFF -DOHOS_ARCH=$ARCH -B$ARCH-build -S./ -L > `pwd`/$ARCH-build/build.log 2>&1 + make -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 + # 对最关键一步的退出码进行判断 + ret=$? + cd $OLDPWD + return $ret +} + +# 安装打包 +package() { + cd $builddir + make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1 + cd $OLDPWD +} + +# 测试,需要在 ohos 设备上进行 +check() { + echo "The test must be on an OpenHarmony device!" + # real test CMD + # ./fftconv-float +} + +# 清理环境 +cleanbuild(){ + rm -rf ${PWD}/$builddir #${PWD}/$packagename +} \ No newline at end of file diff --git a/thirdparty/kissfft/README.OpenSource b/thirdparty/kissfft/README.OpenSource new file mode 100644 index 00000000..517d1134 --- /dev/null +++ b/thirdparty/kissfft/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "kissfft", + "License": "BSD-3-Clause", + "License File": "LICENSES", + "Version Number": "131.1.0", + "Owner": "chenbaodi@huawei.com", + "Upstream URL": "https://github.com/mborgerding/kissfft/archive/refs/tags/131.1.0.tar.gz", + "Description": "a Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid" + } +] diff --git a/thirdparty/kissfft/README_zh.md b/thirdparty/kissfft/README_zh.md new file mode 100644 index 00000000..234c8a90 --- /dev/null +++ b/thirdparty/kissfft/README_zh.md @@ -0,0 +1,12 @@ +# kissfft三方库说明 +## 功能简介 +kissfft是提供快速傅立叶变换算法能力的库。 +## 使用约束 +- IDE版本:DevEco Studio 3.1 Beta2 +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:v1.0.2 +- 当前适配的功能:支持开源密码算法 +- [BSD-3-Clause](https://github.com/mborgerding/kissfft/blob/master/LICENSES/BSD-3-Clause) + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/kissfft/SHA512SUM b/thirdparty/kissfft/SHA512SUM new file mode 100644 index 00000000..db83b0ac --- /dev/null +++ b/thirdparty/kissfft/SHA512SUM @@ -0,0 +1 @@ +bd715868ce0e93a291a0592fb1f8b960e832fc64efe863755e52b67d5addff9bcb444a1bf2570d1914c52b41dad1023d0d86400f5ea30c9fb84cd6b4f7210708 kissfft-131.1.0.tar.gz diff --git a/thirdparty/kissfft/docs/hap_integrate.md b/thirdparty/kissfft/docs/hap_integrate.md new file mode 100644 index 00000000..78dbbe74 --- /dev/null +++ b/thirdparty/kissfft/docs/hap_integrate.md @@ -0,0 +1,90 @@ +# kissfft 集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 3.2.11.9 (API Version 9 Release)](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fohos-sdk-windows_linux-public.tar.gz) +- [DevEco Studio 3.1 Beta2](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2Ff3%2Fv3%2FuJyuq3syQ2ak4hE1QZmAug%2Fdevecostudio-windows-3.1.0.400.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230408T013335Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D96262721EDC9B34E6F62E66884AB7AE2A94C2A7B8C28D6F7FC891F46EB211A70) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) + +## 编译三方库 + +- 下载本仓库 + + ```shell + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` + +- 三方库目录结构 + + ```shell + tpc_c_cplusplus/thirdparty/kissfft #三方库kissfft的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将kissfft拷贝至tools/main目录下 + + ```shell + cd tpc_c_cplusplus + cp thirdparty/kissfft tools/main -rf + ``` + +- 在tools目录下编译三方库 + + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + + ```shell + cd tools + ./build.sh kissfft + ``` + +- 三方库头文件及生成的库 + + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ```shell + kissfft/arm64-v8a kissfft/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 +   + + ![thirdparty_install_dir](pic/kissfft_install_dir.png) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + + ```shell + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/kissfft/${OHOS_ARCH}/lib/libkissfft-float.a) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/kissfft/${OHOS_ARCH}/include) + ``` + + ![kissfft_usage](pic/kissfft_usage.png) + +## 测试三方库 + +三方库的测试使用原库自带的可执行文件来做测试 + +进入到构建目录,再进入tools目录,执行./fftconv-float(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + ![kissfft_test](pic/kissfft_test.png) + +## 参考资料 + +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) \ No newline at end of file diff --git a/thirdparty/kissfft/docs/pic/kissfft_install_dir.png b/thirdparty/kissfft/docs/pic/kissfft_install_dir.png new file mode 100644 index 0000000000000000000000000000000000000000..14fa02031efe9bef645948d6bb99cab46dea4f96 GIT binary patch literal 18612 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 literal 0 HcmV?d00001 diff --git a/thirdparty/kissfft/docs/pic/kissfft_test.png b/thirdparty/kissfft/docs/pic/kissfft_test.png new file mode 100644 index 0000000000000000000000000000000000000000..8a8330d3c194750aab3339aa04a1f813599a0089 GIT binary patch literal 8443 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 J10IJ{e+Mz8iNgQ@ literal 0 HcmV?d00001 -- Gitee