電子工作 ESP32-S3のRISC-VでのULPをArduinoで実行する 概要ESP32-S3にはRISC-V命令セットのコプロセッサーのULPが搭載されています。ESP-IDF5以降で正式に利用可能になるのですが、一足先にArduinoでの動作実験をしてみました。先行事例ESP32-S3のULP-RISC-Vで... 2022.09.30 電子工作
電子工作 ESP32のULPアセンブリ言語入門 その8 ulptool 概要前回までで、Cマクロを使ったULPの解説が終わりました。今回はCマクロではなく、Arduino IDEから直接ULPアセンブラを使うことができるulptoolの紹介をしたいと思います。ulptoolとは?ulptoolとはArduino... 2020.03.13 電子工作
電子工作 ESP32のULPアセンブリ言語入門 その7 マシン語の構造と逆アセンブラ 概要前回まででCマクロで定義されている命令をすべて説明しました。今回はマシン語の構造と、逆アセンブラの説明をしたいと思います。命令の概要ESP32のULPは、1命令が4バイト固定のRISCアーキテクチャです。一般的なパソコンに使われているI... 2020.03.10 電子工作
電子工作 ESP32のULPアセンブリ言語入門 その6 ADC、入力、復帰 概要前回はビット演算を行いましたが、今回は残った命令をすべて紹介したいと思います。今回は命令より、仕組み解説が大変なのでスケッチを紹介してから、命令の解説を行います。ADC(アナログ入力)#include "esp32/ulp.h"#inc... 2020.03.04 電子工作
電子工作 ESP32のULPアセンブリ言語入門 その5 ビット演算 概要前回はジャンプを中心に説明をしました。今回はビット演算系を解説します。ビット演算とは?一般的なビット演算について、かんたんに解説します。アンド - AND数値1と数値2の各桁のビットを比べ、両方1である場合のみ1になります。uint8_... 2020.02.28 電子工作
電子工作 ESP32のULPアセンブリ言語入門 その4 ジャンプ 概要前回は初歩的な命令までやりましたので、今回はLチカを行いたいと思います。ULPでのGPIOアクセスULPからGPIOのアクセスする場合にはArduinoの標準とは違い、RTCを経由して通信をする必要があります。RTCはおそらくはReal... 2020.02.25 電子工作
電子工作 ESP32のULPアセンブリ言語入門 その3 演算と基本命令 概要前回は環境構築まで行いました。今回は命令の説明と、プログラムを実際に動かしてみたいと思います。ULPプログラミングの方式ULPのプログラムには2つの方式があります。今回はCマクロ方式で行いますが、アセンブリ方式も説明したいと思います。ア... 2020.02.20 電子工作
電子工作 ESP32のULPアセンブリ言語入門 その2 環境構築と最小スケッチ 概要前回はn進数と単位で終わってしまいました。今回はULPの概要についてまとめてみました。ULPアセンブリの特徴ULPはESP32のメインプロセッサではなく、省電力でちょっとしたことを動かすコプロセッサーです。最近の携帯電話なども歩数カウン... 2020.02.17 電子工作
電子工作 ESP32のULPアセンブリ言語入門 その1 概要とn進数、単位 概要ESP32のコプロセッサー用ULPアセンブリ言語の入門向けの情報をまとめました。ULPとは?ESP32に搭載されているコプロセッサーで、Ultra Low Powerの略です。非常にかんたんな命令しか利用できませんが、比較的単純なためマ... 2020.02.13 電子工作
電子工作 Arduino IDEでulptoolを使う 概要ULPのアセンブラを行うesp32ulp-elf-binutilsを、Arduino IDEから使うためのツールである、ulptoolをWindowsにセットアップしてみました。esp32ulp-elf-binutilsとは?ULPのア... 2020.02.05 電子工作