このドキュメントでは、STM32H43ボードを例として紹介し、Python環境で組み込みアプリケーションを開発する方法を主に紹介します。システム環境の構築からコンパイル、Pythonを使用したハードウェア制御の実現まで。入門チュートリアルとして使用できます。
2.1.1 Win10にはLinuxシステムが付属しています
開発環境では、仮想マシンを単独で使用してubuntuシステムをインストールできます。また、Win10システムにはLinuxシステムが付属しており、有効にするだけで使用できるので便利なので、win10に付属のlinuxサブシステムを例にとります。
コントロールパネルでLinuxサブシステムを有効にし、クリックしてWindows機能を有効または無効にします。

以下に示すように、LinuxのWindowsサブシステムを確認してから、コンピューターを再起動します。


クリックして今すぐ再起動
再起動後、windows 10アプリケーションストアに入り、Ubuntuを検索し、18.04または20.02を選択してインストールできます

ダウンロードしてインストールしたら、クリックして開始します

ユーザー名とパスワードを設定し、

インストールのデフォルトパスは
C:Usershpp19AppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgscLocalState ootfshome
パスは変更できないため、Linux環境は問題ありません。ls、cp、rm、その他のコマンドなど、いくつかの一般的なコマンドを入力して表示できます。
Win10でインストールされたLinuxサブシステムはコマンドラインのみをサポートし、仮想マシンでインストールするための包括的な機能はありませんが、micropythonの開発には十分です。
2.1.2 仮想マシンのインストール
windows10でインストールしたくない場合は、自分でビルドできます。仮想マシンをインストールし、ubunutのisoイメージファイルをダウンロードしてインストールする必要があります。インターネット上にはそのようなインストールが多数あります。詳細は説明しません。最初のインストールをお勧めします。

2.1.3 依存するソフトウェアのインストール
Gitのインストール、gitはパッケージの取得に使用されます

クローン化されたmicropythonソフトウェアパッケージを使用します。公式Webサイトにアクセスして自分でダウンロードし、Linux環境のホームディレクトリにコピーすることもできます。
gitを使用してパッケージのクローンを作成します

ネットワークが良くない場合は、しばらく待ちます。これは遅くなります。公式サイトにアクセスして自分でダウンロードすることもできます。すでにダウンロードしています。最新のボードmicropython-1.13をリクエストできます。
http://www.micropython.org/download/

2.1.4 Micropythonディレクトリ構造
ディレクトリ構造はより重要です。ディレクトリ構造がクリアされた場合にのみ、別のボードに移行できます。

ディレクトリ構造の詳細については、README.mdを参照してください。

主な焦点は、現在micropythonでサポートされているST開発ボードです。H7シリーズの方が関連性が高く、現在多くのSTチップがサポートされていることがわかります。

ターミナルにsudoapt install gcc makeと入力して、gccをインストールします。
インストール後、バージョンを確認できます


sudo apt-get install gcc-arm-none-eabiと入力して、ARM用のコンパイラをインストールします

クロスツールチェーンのインストールとダウンロードが遅い場合は、以下の手順に従って変更してください。linuxに付属のソフトウェアソースアドレスはすべて外部であるため、国内アップデートのダウンロードインストールは遅くなります。リストを国内に更新する必要があります。

開いているファイルの内容をすべて削除し、次のミラーソースに置き換えます
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
ソフトウェアソースを変更した後、ソフトウェアリストとソフトウェアを更新します。
sudo apt update
sudo apt upgrade
vimエディターのコマンドに慣れていない場合は、自分でBaiduするか、次のディレクトリに直接アクセスできます。
C:Usershpp19AppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalState ootfsetcaptで、sources.listファイルを次のAlibabaCloudミラーソースに置き換えます。これは非常に高速です。
mpy-crossをコンパイルします。mpy-crossはmicropython補助ツールであり、コンパイルプロセス中に使用されます。micropythonのソースコードのルートディレクトリにコマンドmake -Cmpy-crossを入力します。


この時点で、クロスコンパイルツールチェーンがインストールされ、STM32プログラムをコンパイルできます。
ソースコードのルートディレクトリにコマンドmake-C ports / stm32を入力します。BOARDが指定されていない場合、ports / stm32の下のPYBV10ボードはデフォルトでコンパイルされ、必要なのはH743で実行することなので、H743を切り取って移植する必要があります。ボード上で、micropythonで現在サポートされているSTM32ボードは、F091、F401、F429、F446、F746、H743などであることがわかります。

NUCLEO_H743ZIをコピーして、BODEBOARDという名前を付けます

コマンドlsを入力して、BODEBOARDフォルダーとファイルを表示し、ビューを入力します

主に5つのファイルがあり、内部のファイルを変更する必要があります
最初にクロックを25000000に変更し、主にstm32h7xx_hal_conf.hファイルを変更します

mpconfigboard.hを変更します
クロックを次の構成に変更します。以前のIARプロジェクトでクロック構成をコピーできます。

他のピンを変更するこのセクションでは、例として3つのLEDピンとUART1ピンのみを変更します。ドキュメントの次のバージョンの更新では、使用されるすべてのハードウェアピンが更新されるか、このファイルの対応するピンを引き続き変更します。ハードウェアピン


保存して終了
Pins.csvファイルを変更します
LEDピンとUART1ピンを追加します



保存して終了。
NUCLEO_H743ZIを参照しているため、mpconfigboard.mkファイルを変更する必要はありません。変更が完了したので、コンパイルして、micropythonのルートディレクトリにコマンドmake -C ports / stm32 BOARD = BODEBOARDを入力できます。

コンパイルが完了するのを待ちます。

.hexおよび.dfuファームウェアが生成されていることがわかります。そのうちのいずれかを選択し、H743ボードにダウンロードしてください。ボードには、python言語を認識できるpythonパーサーがあります。

コンパイルされたファームウェアをWindowsホストにコピーする方法は?もちろん、生成されたディレクトリに直接移動してコピーすることもできます。Windowsパーティションはデフォルトでwin10のlinuxサブシステムにマウントされ、/ mntディレクトリに表示されます。

このように、コマンドcpを直接使用してWindowsにコピーできます。もちろん、コマンドライン操作に慣れていない場合は、ファイルを簡単に管理できるmidinight commanderソフトウェアをインストールできます。コマンドsudoapt install mcを入力してインストールします。インストール後、mcと入力します。ソフトウェアを直接開きます。

どちらの方法を使用する場合でも、Hexファイルをハードウェアボードにダウンロードします。ダウンロードが完了したら、ボードの電源を再度入れます。Uディスクドライブの文字に似たPYBFLASHが表示され、内部のboot.pyが開きます。
Main.pyと他の4つのファイル、main.pyに直接書き込むことで、最終的なアプリケーションを実行できます。

まず、パテを使用してボード上のLEDライトを制御し、パテをオンにして、ボーレートとシリアルポート番号を構成する方法を示しましょう。

LEDライブラリをインポートすると、LEDを制御できます

H743ボードの3つのLEDライトが順番に点灯し、パテを介してハードウェアを制御できることがわかります。次に、パテを制御せずにボードの電源をオンにし、3つのLEDライトを点灯させる方法。 ?
これは、前述のmain.pyファイルを編集し、任意のテキストエディターで開き、pythonコードを記述し、保存して終了するために必要です。これを実行できます。

LED照明制御は上記のコードで実現され、シングルチップマイクロコンピュータはpythonで制御されます。これまでのところ、Pythonでたくさんの楽しいことを書いて、マイクロプロセッサで実行することができます。
| シリアル番号 | ドキュメント |
|---|---|
| 1 | www.micropython.org |
Recommended Posts