moerjielovecookie

Sawen_Blog

一个普通工科牲的博客网站
x
github
follow
email

OK3568開発環境設定-Ubuntu-22.04

OK3568 の公式資料と Ubuntu22.04 の仮想マシンイメージは以下の通りです:
ネットワークドライブで共有されたファイル:OK3568 - 資料 - 開発仮想マシン

1 システムイメージのコンパイル#

ネットワークドライブからソースコードをダウンロードし、解凍すると OK3568_Linux_fs.tar が得られます。 OK3568_Linux_fs.tardl.tar.bz2 を解凍し、 dlOK3568_Linux_fs/buildroot に移動すると、システムイメージのコンパイルが加速されます。
システムイメージのコンパイル手順は以下の通りです:
04_関連コードコンパイル

2 クロスコンパイルによるソフトウェアのインストール#

クロスコンパイラのパスは OK3568_Linux_fs/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- です。 ~/.bashrc に環境変数を設定します export PATH="/home/forlinx/3568/OK3568_Linux_fs/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:$PATH"

2.1 ffmpeg-2.4.14#

ソースコードフォルダ内で最初に configure スクリプトを実行します。

./configure \
--prefix=/usr/local \
--cross-prefix=aarch64-none-linux-gnu- \
--arch=aarch64 \
--target-os=linux \
--enable-cross-compile \
--disable-static \
--enable-shared \
--pkg-config-flags="--static"
  • --prefix=/usr/local: FFmpeg のターゲットマシン上のインストールパスを指定します。
  • --cross-prefix=aarch64-none-linux-gnu-: 最も重要なパラメータで、 configure スクリプトにすべてのコンパイラとツールのプレフィックスとして aarch64-none-linux-gnu- を使用するよう指示します。
  • --arch=aarch64: ターゲット CPU アーキテクチャを指定します。
  • --target-os=linux: ターゲットオペレーティングシステムを Linux に指定します。
  • --enable-cross-compile: クロスコンパイルモードを明示的に有効にします。
  • --disable-static: 動的ライブラリ(.so ファイル)のみをコンパイルし、最終ファイルのサイズを通常小さくします。
  • --enable-shared: 動的リンクライブラリをコンパイルします。
  • --pkg-config-flags="--static": クロスコンパイル時に pkg-config がホストマシンで動的ライブラリを探そうとするのを防ぎます。
    設定が成功したら makesudo make install を実行し、コンパイルされたライブラリファイル、ヘッダーファイル、実行可能ファイルを /usr/local ディレクトリにインストールします。

2.2 log4cplus-2.0.7#

configure コマンドは以下の通りです:

./configure --host=aarch64-none-linux-gnu --prefix=/usr/local
  • --host=aarch64-none-linux-gnu:これは最も重要なパラメータで、 make コマンドが正しいクロスコンパイラを呼び出すことを保証します。
  • --prefix=/usr/local:このパラメータは log4cplus のターゲットマシン上のインストールパスを指定します。指定しない場合、デフォルトでも /usr/local になります。

2.3 zeromq-4.0.8#

configure コマンドは以下の通りです:

./configure --host=aarch64-none-linux-gnu --prefix=/usr/local --enable-shared --disable-static
  • --host=aarch64-none-linux-gnu: 最も重要なパラメータで、 configure スクリプトに対して、 aarch64 アーキテクチャのためにクロスコンパイルを行っていることを伝えます。
  • --prefix=/usr/local: ZeroMQ のターゲットマシン上のインストールパスを指定します。
  • --enable-shared: 動的リンクライブラリ(.so ファイル)をコンパイルします。
  • --disable-static: 最終ファイルのサイズを小さくするために静的ライブラリ(.a ファイル)をコンパイルしません。
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。