ULP

電子工作

ESP32-S3のRISC-VでのULPをArduinoで実行する

概要ESP32-S3にはRISC-V命令セットのコプロセッサーのULPが搭載されています。ESP-IDF5以降で正式に利用可能になるのですが、一足先にArduinoでの動作実験をしてみました。先行事例ESP32-S3のULP-RISC-Vで...
電子工作

ESP32のULPアセンブリ言語入門 その8 ulptool

概要前回までで、Cマクロを使ったULPの解説が終わりました。今回はCマクロではなく、Arduino IDEから直接ULPアセンブラを使うことができるulptoolの紹介をしたいと思います。ulptoolとは?ulptoolとはArduino...
電子工作

ESP32のULPアセンブリ言語入門 その7 マシン語の構造と逆アセンブラ

概要前回まででCマクロで定義されている命令をすべて説明しました。今回はマシン語の構造と、逆アセンブラの説明をしたいと思います。命令の概要ESP32のULPは、1命令が4バイト固定のRISCアーキテクチャです。一般的なパソコンに使われているI...
電子工作

ESP32のULPアセンブリ言語入門 その6 ADC、入力、復帰

概要前回はビット演算を行いましたが、今回は残った命令をすべて紹介したいと思います。今回は命令より、仕組み解説が大変なのでスケッチを紹介してから、命令の解説を行います。ADC(アナログ入力)#include "esp32/ulp.h"#inc...
電子工作

ESP32のULPアセンブリ言語入門 その5 ビット演算

概要前回はジャンプを中心に説明をしました。今回はビット演算系を解説します。ビット演算とは?一般的なビット演算について、かんたんに解説します。アンド - AND数値1と数値2の各桁のビットを比べ、両方1である場合のみ1になります。uint8_...
電子工作

ESP32のULPアセンブリ言語入門 その4 ジャンプ

概要前回は初歩的な命令までやりましたので、今回はLチカを行いたいと思います。ULPでのGPIOアクセスULPからGPIOのアクセスする場合にはArduinoの標準とは違い、RTCを経由して通信をする必要があります。RTCはおそらくはReal...
電子工作

ESP32のULPアセンブリ言語入門 その3 演算と基本命令

概要前回は環境構築まで行いました。今回は命令の説明と、プログラムを実際に動かしてみたいと思います。ULPプログラミングの方式ULPのプログラムには2つの方式があります。今回はCマクロ方式で行いますが、アセンブリ方式も説明したいと思います。ア...
電子工作

ESP32のULPアセンブリ言語入門 その2 環境構築と最小スケッチ

概要前回はn進数と単位で終わってしまいました。今回はULPの概要についてまとめてみました。ULPアセンブリの特徴ULPはESP32のメインプロセッサではなく、省電力でちょっとしたことを動かすコプロセッサーです。最近の携帯電話なども歩数カウン...
電子工作

ESP32のULPアセンブリ言語入門 その1 概要とn進数、単位

概要ESP32のコプロセッサー用ULPアセンブリ言語の入門向けの情報をまとめました。ULPとは?ESP32に搭載されているコプロセッサーで、Ultra Low Powerの略です。非常にかんたんな命令しか利用できませんが、比較的単純なためマ...
電子工作

Arduino IDEでulptoolを使う

概要ULPのアセンブラを行うesp32ulp-elf-binutilsを、Arduino IDEから使うためのツールである、ulptoolをWindowsにセットアップしてみました。esp32ulp-elf-binutilsとは?ULPのア...
スポンサーリンク