タグ別アーカイブ: ARM

STM32F051C8T6 PWM


PWMを試しました。LEDの輝度変更で確認しました。
STM32CubeIDEを使用しているのでSTM32CubeMXでコード生成が行えます。PWMは、TIM2を使用しました。設定方法さえわかればかなり簡単に実現できます。開発環境の重要性がわかります。

デバッグは、ST-LINK/V2で行っています。

STM32 Development Small Boards

海外通販サイトから小型のSTM32開発ボードを取り寄せました。
https://jp.banggood.com/ARM-Cortex-M0-STM32F051C8T6-STM32-Core-Board-Minimum-Development-Board-p-1316132.html?rmmds=mywishlist&cur_warehouse=CN
https://jp.banggood.com/STM32F401-Development-Board-STM32F401CCU6-STM32F4-Learning-Board-p-1568897.html?rmmds=myorder&cur_warehouse=CN
STM32F401CCU6とSTM32F051C8T6です。

STM32F401CCU6は、Cortex-M4、84MHz、FLASH 256kB、RAM 64kBの小型高性能のマイコンです。
https://www.stmcu.jp/stm32/stm32f4/stm32f401/12214/
STM32F051C8T6は、Cortex-M0、48MHz、FLASH 64kB、RAM 8kBの小規模マイコンです。
https://www.stmcu.jp/stm32/stm32f0/stm32f0x1/11868/
STM32CubeIDEで開発予定です。

NUCLEO-F303K8


https://www.st.com/ja/evaluation-tools/nucleo-f303k8.html
NUCLEO-F303K8です。チップワンストップで購入しました。送料無料にするためのついで買いです。
https://www.chip1stop.com/view/dispDetail/DispDetail?partId=STMI-0102441
STM32F303K8T6 Arm Cortex-M4 32-bit CPU with FPU 、72MHz、64kBフラッシュメモリのマイコンです。

小ピン高性能の分野の使用を考えています。STM32の開発の一環です。これもmbedでなくSTM32CubeIDEで開発予定です。

STM32F103 WITH LCD

格安のSTM32F103C8T6ボードでLCD表示です。
開発環境は、STM32CubeIDEを使用しました。デバッガもST-LINKの格安コピー品です。
LCDは、3.3V動作LCDキャラクタディスプレイモジュール 16×2行 バックライト付白抜きを使用しました。
http://akizukidenshi.com/catalog/g/gP-04794/
STM32CubeIDEは、コードが自動生成でき、FreeRTOSの使用も選択できます。

Raspberry PI4 B+


Raspberry Pi4 B+ 4GBを購入しました。
Black Friday でAmazonで購入しました。
https://www.amazon.co.jp/gp/product/B07YZ1JSGM/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
ケース、ファン、ヒートシンク、HDMIケーブル2本、電源アダプタ、64GB マイクロSD、メモリリーダ、ドライバがついて通常価格¥14,999 のところ3000円安い¥11,999で購入しました。

64GBのSDカードは、SunDisk製なところが評価できます。
ノーブラウンドの粗悪品でなくてよかったです。メモリリーダ、ドライバは、不要といえば不要です。

表は、部品がたくさんあります。電源USBは、Type Cに変更されています。HDMIは、マイクロになり2つに増えています。USBは、2ポートが2.0、2ポートが3.0になっています。

裏は、マイクロSDカードコネクタがあります。
マイクロSDカードには、NOOBSシステムがプリインストールされていますがOSは、Rasbianだけを使用するので消す予定です。

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時間かかったことになります。
いろいろやってみようと思います。

© 2014 Spineedge Corporation.