埋め込み型ARMでは、ALSA USBカードを使用しています.


こんにちは凧のブログです.
私と一緒にたくさん交流してください.
Linuxを使用する利点の一つは、USBカードのような多くのドライバが統合されています.つまり、USBカードのようなプラグインは、いくつかのライブラリをダウンロードするだけでokです.私たちは今USBカードを使用したいです.alsa-libとalsa-utilのサポート、alsa-libダウンロードリンクが必要です.http://download.chinaunix.net/download/0001000/358.shtml
ここで使っているのは、alsa-lib-1.0.27.2です.そうすると、韋先生用の同期ができます.
tar xjf alsa-lib-1.0.27.2.tar.bz2
cd alsa-lib-1.0.27.2/
./configure --host=arm-linux --disable-python
make
必ずプラスしてください.disable-pythonでないと出現しません.python.cn:22:20:fatal error:Python.h:No such file or directoryしかも
設定時には使用しない–prefixはファイルシステムの構造を破壊するので、デフォルトパスを使って(ライブラリをコンパイルして/usrディレクトリにインストールしますが、/usrディレクトリはPCマシン用で、PCマシンと競合しないように配置前に/usrを/usrubakに名前を変えます.
sudo mv/usr/usrubak echo$PATH環境変数を確認します.私たちは/usr/下のすべてのファイルのパスを変更しましたので、新しい環境変数を変更します.
export PATH=/usr_bak/local/sbin:/usr_bak/local/bin:/usr_bak/sbin:/usr_bak/bin:/sbin:/bin:/usr_bak/games:/usr_bak/local/arm/opt/FriendlyARM/toolschain/4.9.3/bin:/snap/bin
しかし、私はUbuntuの中にexportがあっても、vi、mkdirなどのコマンドが見つけられないので、これらのコマンドの絶対パスしか使えません.スコマンドはrootユーザーに入ります.
export PATH=/usr_bak/local/sbin:/usr_bak/local/bin:/usr_bak/sbin:/usr_bak/bin:/sbin:/bin:/usr_bak/games:/usr_bak/local/arm/opt/FriendlyARM/toolschain/4.9.3/bin:/snap/bin
/usr_bak/bin/mkdir /usr
/usr_bak/bin/mkdir /usr/bin
cp /usr_bak/bin/install /usr/bin
/usr_bak/bin/make install
これでセットアップが成功しました./usrディレクトリの下です.
cp -rf /usr /work/alsa/
rm -rf /usr
mv /usr_bak /usr
exit  root
最後に環境変数を元に戻すとokです.
次にalsa-utilをコンパイルしますが、彼は依存が必要です.ncurses ncursesダウンロードサイト:https://ftp.gnu.org/pub/gnu/ncurses/ ここで使っているのは、ncurses-5.9.tar.gzです.
tar xzf ncurses-5.9.tar.gz
cd ncurses-5.9/
mkdir tmp
./configure --host=arm-linux --prefix=$PWD/tmp --with-shared
make && make install
このようにすれば、現在のディレクトリの/tmpディレクトリにインストールできます.
ncursesをコンパイルしたらalsa-utilがコンパイルできます.alsa-utilを使っています.alsa-utils-1.0.27.2.tar.bz 2
./configure --host=arm-linux --prefix=$PWD/tmp --with-curses=ncurses --disable-xmlto --disable-nls
出現:configure:error:panel library not found
cd /usr/local/arm/opt/FriendlyARM/toolschain/4.9.3/arm-cortexa9-linux-gnueabihf/lib
sudo ln -s libncurses.so libtinfo.so
make
sudo make install
インストールできます
インストールされたbinファイルといくつかの依存ライブラリをボードのルートファイルにコピーして使えばいいです.USBカードを使ってください.
参考:http://blog.sina.com.cn/s/blog_7d7e9d0f0101lqlp.html https://blog.csdn.net/qingkongyeyue/article/details/52504235 https://blog.csdn.net/cean1024/article/details/52247807