タグ別アーカイブ: ARM

mbed OS 5 CLI

mbed OS5をオフラインで使うためにmbed-cliの開発環境を作りました。
https://os.mbed.com/
mbedは、初代LPC1768を使用しました。

Windows10での環境構築は以下のURLに詳しく書かれています。
https://os.mbed.com/users/ytsuboi/notebook/ja-setup-mbed-cli-on-windows/
LINUXでの環境構築は以下のURLに詳しく書かれています。
LINUXはUbuntu16.04LTSを使用しました。
https://qiita.com/hotchpotch/items/4d87c13b97d236db5b4f
どちらもほぼ同じ手順で環境構築できます。
Windowsには、Installerが用意されている分、簡単に構築できます。
https://github.com/ARMmbed/mbed-cli-windows-installer/releases/tag/v0.4.10
動作確認にmbed-os-example-blinkyサンプルプロフラムを使用します。
https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-blinky/

mbed targetを実行すると実際にUSB でつながているmbedボードが認識されます。

mbed compileを実行するとサンプルプログラムがビルドされます。
…\mbed-os-example-blinky\BUILD\LPC1768\GCC_ARMフォルダの中にmbed-os-example-blinky.binファイルが作成されます。
後はいつものようにmbedドライブに書き込みRESTすればサンプルプログラムが動作します。
コマンドプロンプトでの操作になりますが、mbedがLOCAL環境で
開発できるようになりました。

BeagleBoard-xM Update

久しぶにBeagleBoard-xM のOSを入れ替えました。最新のUbuntu18.04LTSを入れました。
https://elinux.org/BeagleBoardUbuntu
ここからUbuntuをダウンロードできます。
https://rcn-ee.com/rootfs/2018-12-10/microsd/bbxm-ubuntu-18.04.1-console-armhf-2018-12-10-2gb.img.xz
SDへの書き込みは、Win32DiskImagerを使用しました。
最近は、http://etcher.ioでの書き込み例が多いいですが
Win32DiskImagerも簡単です。
BeagleBoard-xM はシリアルポートがついているのでコンソールで立ち上げができます。
有線LANは、初めからDHCPで認識されますが、16.04で認識されていたWiFiは有効になりません。USB無線LAN子機は、BuffaloのWLI-UC-GNM2Sを使用しています。lsusbで確認するとUSBには認識されます。16.04で使っていたwpa_supplicant.confでの設定ではなく、Network Managerを使うようです。
sudo apt-get install network-manager
でインストールします。
nmcliコマンドで設定をしていくようです。
詳しい設定は、以下を参考にしました。
▼RHEL7 / CentOS 7 で、NetworkManager 管理下で WiFi の自動接続をコマンドラインで設定する▼
非常に助かりました。ありがとうございます。
SSIDやセキュリティの設定後、必ずnmcliコマンドでsaveして保存を行うことを忘れないようにしてください。
設定後、Network Managerを再起動するとWiFIがAPと接続し、IPが取得できました。
sudo service network-manager restart

最後に自動起動するように設定します。
sudo systemctl enable NetworkManager
これで電源投入後自動的にWiFiが接続します。
WiFi経由でSSHが使えるようになるととても操作が楽になります。

3.5″LCD DISPLAY2

Raspberry Pi2 model BにQuimat 3.5インチタッチスクリーンを接続しました。LCDの表示は、ドライバなしで表示できますが、タッチ操作には、ドライバが必要です。ドライバは、付属CDのDriverフォルダ内にあります。LCD-show.tar.gzファイルがドライバです。USBメモリでRaspberry piの/bootフォルダにコピーしました。ドライバのインストール方法は、付属CDのDocumentフォルダに入っています。MPI3508用户手册_V1.0.pdfファイルに書いてあります。中国語ですが4ページ目の
步骤5,在terminal终端中输入如下指令:
を実行します。ターミナルを開いて以下のコマンドを実行します。
cd /boot
cp LCD-show.tar.gz ~
cd ~
sudo tar zxvf LCD-sudo.tar.gz
cd LCD-show/
sudo ./MPI3508_480_320-show

再起動が行われタッチ操作が可能になります。

3.5″LCD DISPLAY

Raspberry Pi2 model Bに3.5インチのタッチパネルディスプレイを接続しました。
RaspberryPi2 Model B (ラズベリーパイツーモデルビー) RS版
http://akizukidenshi.com/catalog/g/gM-09024/
Quimat 3.5インチタッチスクリーン HDMIモニタTFT LCDディスプレイ Raspberry Pi 3 2 Model B Rpi B B+ A A+ 映画 アーケードゲーム オーディオ入力 RPi GPIOブレークアウト拡張ボード 保護ケースキット アクリル(透明) QC35Chttps://www.amazon.co.jp/gp/product/B075K56C12/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
Quimat 3.5インチタッチスクリーン は、HDMIで接続するLCDディスプレイです。ケースなしもありますが今回はケースありを選択しました。
HDMIの小型タッチパネルはいくつかありますが、本品は、GPIOピンが引き出せます。
開封した写真です。

GPIOが引き出せるのでタッチパネルに使用していないピンは使用できます。
組立後の写真です。

Raspberry PI2 + Chainer


Raspberry PI2でAIを試すためChainerをインストールしました。
https://chainer.org/
Pythonは、raspbian9.1に初めからインストールされています。
バージョンは、Python 2.7.13 を使用しました。
以下の物をインストールしました。
sudo apt-get install python-dev
sudo pip install chainer
Chainerは、3.3.0がインストールされました。
テストのため デモプログラムtrain_mnist.pyを実行しました。
sudo python train_mnist.py
動作完了までに112091 秒かかりました。約31時間かかったことになります。
いろいろやってみようと思います。

Google AIY VOICE KIT ASSEMBLY

Google AIY VOICE KITを組み立てます。
カラー冊子のマニュアルに詳しい組立方法が記載されています。
またプロジェクトのホームページにも組立方法があります。
https://aiyprojects.withgoogle.com/voice#assembly-guide
樹脂の支柱を2本取り付けてVoice HATを取り付けます。支柱の取り付けは固いので破損させたり、怪我したりしないように注意してください。

付属品の他に、小さいプラスドライバと両面テープが必要です。プラスドライバは、スピーカ接続に使用します。

ケーブルでマイクボードを接続します。

ボタンケーブルを接続します。

次に箱ケースを組み立てます。

中箱を組み立てます

スピーカをはめ込みます。

中箱を箱ケースに収めます。

ボタンを上蓋にはめ込み配線します。配線ピンを間違えないように接続します。

両面テープは、マイクボードを貼り付けるに使用します。マイクはボードの左右にあり、箱の小さい穴にマイクが合うように貼り付けます。

蓋を閉じて完成です。

次にSDカードを焼き、起動確認します。

LPC4370 UART2

デバッグ等で使用できるようにLPC4370のUART機能を使用してみました。USBシリアル変換に以下のモジュールを使用しました。
超小型USBシリアル・モジュール【MPL2303SA】http://www.marutsu.co.jp/pc/i/137791/
periph_uart_rbサンプルプログラムでループバックの確認をしました。
LPC-LINK2が1.27㎜ピッチコネクタなので以下基板を使用しました。
10ピン2.54ピッチ(2×5)←→1.27ピッチ(1×10)変換基板 (4個入)
http://akizukidenshi.com/catalog/g/gP-07380/
他に1.27mmピッチボードソケット 2列80PとI型ヘッダーソケット 2列x5(10pin)
http://eleshop.jp/shop/g/gE2P134/
http://eleshop.jp/shop/g/gDA9364/
を使用して配線できるようにしました。
Jpeg
USBのCDCとUART2が使用できるようになりました。

LPC-LINKⅡ AS AN LPC4370 EVALUATION BOARD

HSADCを体験したくLPC4370の評価ボードとしてLPC-LINK2を購入しました。
http://akizukidenshi.com/catalog/g/gM-06706/
Jpeg
LabTool 、デバッガ用のLPC-LINK2が既にあるので今回3枚目のLPC-LINK2となります。同じボードとしては一番多く保有するボードとなりました。
開発環境で若干問題がありました。LPC-LINK2をCMSISM-DAPとして使用するとSPIFIのフラッシュに書き込みができませんでした。CMSISM-DAPはあきらめRedLinkを試すことにしました。新しいLPCXpressoは、デフォルトのデバッガがCMSISM-DAPなので、ちょっと古いものを使用しました。
LPCXpresso v7.1.1_125がPCに入っているのでこれで試したところ問題なくデバッグができるようになりました。
LPCXpresso v7.1.1_125でサクッとLED点滅の「periph_blinky」サンプルが動いたので、動作確認でUSBでシリアル通信が使用できるように「usbd_rom_cdc_vcom」サンプルを試しました。
CDCのドライバは、」以下のURLからダウンロードしました。
https://www.lpcware.com/content/nxpfile/lpcxpresso-link2-usb-driver-package
lpc_driver_setup.exe
この実行ファイルをダウンロードして実行します。
LPC USB VCom Portとして認識されました。
2016-05-16
無事、Tera termでループバック通信ができました。
2016-05-16-1
それにしてもLPC4370は、コアが3つもあるのですね。現状Cortex-M4だけを使用しています。いずれトリプルコアも使ってみたいですがまずはデュアルですね。

LPC4330-Xplorer i2s Reberve

Jpeg
LPCOpenの periph_i2sプロジェクトを改造して簡単な
Reberveを作成します。 前回のDelayを改造するので、設定は同じサンプリング周波数は32kHz16bitデータ長のステレオ設定としました。 データ取得も同じ、割り込みで取得します。 
一番単純な1系統のフェードバック系だけを作成します。入出力はステレオですが、バッファリングは、メモリ節約を考えて16bit符号なし整数としました。反響音は、左右同じ音を使用します。バッファ長は、100msecとし、32003.2kBとなります。フィードバック量は、まず、0.2で試しました。原音0.8に対して100msecバッファの音0.2を足し合わせて出力します。Delayとの違いは、バッファに、原音でなく足し合わせた音を保存するところです。 
フェードバック量を変えると長い反響が続き面白かったです

LPC4330-Xplorer i2s DELAY

LPCOpenの periph_i2sプロジェクトを改造して簡単なDELAYを作成します。 
Jpeg
サンプリングレートからi2sの通信速度を設定できるのでこちらを利用することにしました。 
 サンプリングレートは、48kHzも必要なく、処理時間を確保したいので32kHzとします。16bitデータ長のステレオ設定としました。 
データは、割り込みで取得します。とりあえず、0.5秒間のDELAYを実現するために32bit符号なし整数のバッファを作成します。バッファ長は、32000の半分なので16000個、64kBとなります。リングバッファで使い、今回のデータと16000回のデータを足し合わせて出力しました。 
今回、これだけです。まずは、足し合わせはできることが確認できました。もっと複雑な処理に挑戦したいと思います。

© 2014 Spineedge Corporation.