NXPサポーターの皆様
弊社はSE050を使用したデバイスを保有するOEM開発会社です。SM6225チップセットAndroid 13を使用しています。開発チームが SE050 と通信するためのネイティブ ライブラリを提供するには、SE050 ミドルウェアを構築する必要があります。以前SE050ナノパッケージをビルドして成功したのですが、フルミドルウェアバージョン04.07.01をビルドすると、私も同じことをしましたが、ネイティブ ライブラリを使用してデバイスにプッシュした例は実行できず、ミューテックス エラーが報告され、中止されました。これを構築する方法に関するドキュメントや手順書はあるでしょうか?以下の手順に従ってビルドを展開します。
cd EdgeLock_SE05x_PlugAndTrust_Middleware/SE-PLUG-TRUST-MW_04.07.01/simw-top/scripts
エクスポート ANDROID_NDK_ROOT=/media/tuananh/data/tuananh/Android/Sdk/ndk/28.0.12433566
エクスポート TOOLCHAIN=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/Linux-x86_64/bin
エクスポート TARGET=aarch64-linux-android
エクスポートAPI=21
エクスポート CC=$TOOLCHAIN/ ${TARGET} ${API} -clang
エクスポート CXX=$TOOLCHAIN/ ${TARGET} ${API} -clang++
PKG_CONFIG_PATH=/data/local/tmp/lib/pkgconfig をエクスポートします。
エクスポート CFLAGS="$CFLAGS -DDISABLE_SYSTEMD"
ソース ./env_setup.sh
python3 create_cmake_projects.py
cd ../../simw-top_build/android_arm64
CD ../..&&
cmake ../../simw-top \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=arm64-v8a \
-DANDROID_PLATFORM=android-$API \
-DANDROID_NDK=$ANDROID_NDK_ROOT \
-DCMAKE_SYSTEM_NAME=Android \
-DPTMW_Host=Android \
-DSSS_HAVE_HOST_ANDROID=1 \
-DSSS_HAVE_HOST_PCWINDOWS=0 \
-DSSS_HAVE_MBEDTLS=1 \
-DSSS_HAVE_RTOS=0 \
-DSSS_HAVE_APPLET=SE05X_A \
-DCMAKE_BUILD_TYPE=リリース\
-DBUILD_SHARED_LIBS=オン\
-DPLUGANDTRUST_DEBUG_LOGS=オン\
-DPLUGANDTRUST_SE05X_AUTH=なし
-j$(nproc) を作成します
注:
EdgeLock_SE05x_PlugAndTrust_Middleware/SE-PLUG-TRUST-MW_04.07.01/simw-top_build/android_arm64/bin のファイル bin の例
ライブラリネイティブ .soで:
EdgeLock_SE05x_PlugAndTrust_Middleware/SE-PLUG-TRUST-MW_04.07.01/simw-top_build/android_arm64/hostlib/hostLib/se05x
こんにちは@anhttさん、
いいえ、Android 13 プラットフォームで試す機会はありませんが、CASE、Yocto クロスコンパイル ツールチェーンがすでに利用可能な場合は、それをアクティブ化します。
. /opt/fsl-imx-xwayland/6.1-langdale/environment-setup-armv8a-poky-linux
次に、標準の cmake 呼び出しを使用して cmake 構成を作成します (代わりに、create_cmake_projects.py によってクロスコンパイル設定もいくつか作成されます)。
extnb012@grkextnb012:~/se_mw/preview/se05x_mw_v04.05.00_20231204$ cd simw-top_build/
extnb012@grkextnb012:~/se_mw/preview/se05x_mw_v04.05.00_20231204/simw-top_build$ mkdir cc_se05x
extnb012@grkextnb012:~/se_mw/preview/se05x_mw_v04.05.00_20231204/simw-top_build$ cd cc_se05x/
extnb012@grkextnb012:~/se_mw/preview/se05x_mw_v04.05.00_20231204/simw-top_build/cc_se05x$
extnb012@grkextnb012:~/se_mw/preview/se05x_mw_v04.05.00_20231204/simw-top_build/cc_se05x$ cmake -DPTMW_Applet=SE050_E -DPTMW_HostCrypto=OPENSSL -DPTMW_Host=iMXLinux -DPTMW_SMCOM=T1oI2C -DCMAKE_BUILD_TYPE=Debug ../../simw-top
-- Toolchain file defaulted to '/opt/fsl-imx-xwayland/6.1-langdale/sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake'
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/fsl-imx-xwayland/6.1-langdale/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/fsl-imx-xwayland/6.1-langdale/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BUILD_TYPE: Debug
-- Found OpenSSL: /opt/fsl-imx-xwayland/6.1-langdale/sysroots/armv8a-poky-linux/usr/lib/libcrypto.so (found version "3.0.7")
-- Found: /opt/fsl-imx-xwayland/6.1-langdale/sysroots/armv8a-poky-linux/usr/lib/libssl.so/opt/fsl-imx-xwayland/6.1-langdale/sysroots/armv8a-poky-linux/usr/lib/libcrypto.so
-- CMAKE_CXX_COMPILER_ID = GNU
-- CMAKE_SYSTEM_NAME = Linux
-- Found Git: /usr/bin/git (found version "2.25.1")
-- Could not detect git directories. Using STUB Values for GIT Version
-- CMake version: 3.24.0
-- CMake system name: Linux
-- Timestamp is 2023-12-15T23:15:41Z
accessManager is not copied to default binary directory upon install
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/extnb012/se_mw/preview/se05x_mw_v04.05.00_20231204/simw-top_build/cc_se05x
その後、通常の cmake ビルド実行により、クロスコンパイルされたバイナリが作成されます。
同様の環境かどうかは分かりませんが、参考までに。
お役に立てれば幸いです。
すてきな一日を、
カン
---------------------------------------------------------------------------------
注記:
- この投稿があなたの質問への回答である場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう!
- Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。
後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。
---------------------------------------------------------------------------------