RISC-VマイコンK210搭載『Sipeed MAix』『M5StickV』at DENKI
RISC-VマイコンK210搭載『Sipeed MAix』『M5StickV』 - 暇つぶし2ch50:774ワット発電中さん
19/12/26 19:36:06.95 oU8zYSm1.net
>>49
Maixduinoだと思ってたのですが違うのか
お持ちのものは何なのでしょうか?
M5StickV?、それともS5Stack?
M5StickVなら搭載マイコンがK210なのでこのスレでいいですが
M5StackならESP32というマイコンを搭載してますので下記のスレになります
格安wifiモジュール「esp8266」「esp32」 4個目
スレリンク(denki板)

51:774ワット発電中さん
19/12/26 20:41:10 oU8zYSm1.net
>>45のI/OエキスパンダーのMCP23017はMaixシリーズでは
ArduinoでAdafruitのMCP23017のライブラリがそのまま使えるようです。
URLリンク(github.com)

Adafruit_MCP23017.cppの14行目からの
#ifdef __AVR
#include <avr/pgmspace.h>
#elif defined(ESP8266)
#include <pgmspace.h>
#endif

//#ifdef __AVR
#include <avr/pgmspace.h>
//#elif defined(ESP8266)
// #include <pgmspace.h>
//#endif
のように15行目を残してコメントアウトして
avr/pgmspace.hをインクルードするようにするだけで使えます。

52:774ワット発電中さん
19/12/26 20:41:46 oU8zYSm1.net
使用するときは開始アドレスとして
MCP23017のピンのA2,A1,A0のアドレス値を0から7までの数値で入れます
>>46に載ってる回路図だとA0がHIGHになってるのでこの場合は
mcp.begin(1);
A2,A1,A0を全部グラウンドに接地した場合は
mcp.begin();
となります。

mcp.pinMode(0, INPUT);
mcp.pullUp(0, HIGH); // これはMCP23017の内部プルアップをする指定です。
mcp.pinMode(1, OUTPUT);
mcp.digitalWrite(1, HIGH);
uint8_t read_pin = mcp.digitalRead(0);
こんな感じで使えます。
この時、MCP23017のGPA0がピン番号0でGPA7がピン番号7
GPB0がピン番号8でGPB7がピン番号15になります。

I2Cの信号ピンを変えたい場合は
Adafruit_MCP23017.cppの111行目のvoid Adafruit_MCP23017::begin(uint8_t addr) {の中の
Wire.begin();

Wire.begin((uint8_t)21, (uint8_t)22, 400000);
のようにピン番号と周波数を指定すれば変更できます。
第1引数がSDAで第2引数がSCLのピン番号、第3引数が周波数です。
(周波数は省略可能です)
この時に指定するピン番号はK210のピン番号になるので要注意です。

53:774ワット発電中さん
19/12/26 21:04:39.49 oU8zYSm1.net
追記:
Adafruit_MCP23017 mcp;
と宣言するのを忘れずに

54:774ワット発電中さん
19/12/26 22:25:42.72 oU8zYSm1.net
M5StickVならGPIOのプログラムだとこのあたりが参考になると思います
M5StickVのGroveコネクタを使う
URLリンク(hrkz.tokyo)
Grove用ケーブル
URLリンク(www.switch-science.com)
【M5stickV】ランダムな10色に光らせる方法 ~ライト編~
URLリンク(hellobreak.net)
M5StickVのGroveポートではI2Cも使えるようです。
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
URLリンク(twitter.com)
M5StickVは持ってないのですが
M5StickVでArduinoが使えるのなら
Maixシリーズと同様にI2Cの初期化でI2Cが使うピンを変更できると思われます。
MaixPyだけでなくArduinoでI2Cが使えるかもしれません
(M5StickVを持ってなくて試してないのでできないかもしれませんが。)
I2Cの初期化で使用するピンと周波数を指定できます
(M5StickVのGlobeコネクタは34ピンと35ピンが割り当てられてるそうです)
#define SDA1 34
#define SCL1 35
Wire.begin((uint8_t)SDA1, (uint8_t)SCL1, 400000);
こんな感じです
M5StickVはGPIOが少ないようなのでI2CでGPIOを増やせたらいいですね
(deleted an unsolicited ad)

55:774ワット発電中さん
19/12/27 05:04:45.49 xYsVZn80.net
これ安いですね
HiLetgo PCA9685 16チャンネル 12-ビット PWM Servo モーター ドライバー IIC モジュール Arduinoに対応 ロボット
URLリンク(www.)アマゾン.co.jp/dp/B01D1D0CX2/
AmazonのURLは5chに直接貼れないのでwww.アマゾン.co.jpにしてます

56:774ワット発電中さん
19/12/28 06:13:41.95 0o85Ab6l.net
一部をURIエンコードして貼ればいい

57:774ワット発電中さん
19/12/28 09:06:55.12 RH1wRMmy.net
M5stick+はいつ出るんスカ?

58:774ワット発電中さん
19/12/29 05:24:35.76 qwHgq9TF.net
>>56
一時期URLエンコードして貼ってた時期ありましたが
フィッシング詐欺と間違われる可能性もあるのでやめました

59:774ワット発電中さん
19/12/29 10:10:23.91 iL+Wyfa8.net
そんなんで詐欺だとか騒ぐ奴はバカだろ

60:774ワット発電中さん
19/12/29 13:46:34.54 qwHgq9TF.net
MaixPyでMCP23017を使う
URLリンク(github.com)
このMCP230xx用のライブラリを使うことでMaixPyでMCP23017が使えます
少しバグがあるのとMaix用に少し改変する必要がありました
このmcp.pyを改変したのがこれです
URLリンク(pastebin.com)
これをmcp.pyという名前で保存してuPyLoaderでMaixシリーズに転送してください
URLリンク(github.com)
簡単なサンプルはこれ
URLリンク(pastebin.com)
ライセンスは
URLリンク(github.com)
を読んでください

61:774ワット発電中さん
19/12/29 13:52:10.76 qwHgq9TF.net
mcp01 = mcp.MCP23017(address=0x21, gpioScl=30, gpioSda=31)
のアドレスは0x21になってますが、デフォルトは0x20です
ボードに合わせてMCP23017のアドレスを設定してください
Scl、SdaはMaixシリーズではSCLが30、SDAが31がデフォルトです
M5StickVの場合は34、35になるかと思います
(M5StickVは持ってないのでSCLが34でSDAが35なのかSCLが35でSDAが34なのかわかりません)

62:774ワット発電中さん
19/12/29 22:48:50.75 qwHgq9TF.net
公式のドキュメントは中文版の方が情報量多いね
Google翻訳使いながら読んでみるといいかも
URLリンク(maixpy.sipeed.com)
URLリンク(maixduino.sipeed.com)

63:774ワット発電中さん
19/12/29 23:07:45.66 qwHgq9TF.net
MaixduinoをMaixPyで使ったときのSPIの使い方がやっとわかりました
ネットを探しても、あまり情報が無かったので苦労しました
試しに、SPI接続の温度センサーのADT7310を動作させてみたので紹介します
Maixduinoの
2番ピンにCS
3番ピンにMISO
4番ピンにSCK
5番ピンにMOSI
を接続してみました
Maix Bitでは
21番ピンにCS
22番ピンにMISO
23番ピンにSCK
24番ピンにMOSI
になると思います
ピンの役割はfm.registerで変更できるので任意のピンに変更することが可能です
この部分です
SPI1_D0がSPI1のMOSI、SPI1_D1がSPI1のMISOです。
CSは自分で制御したい場合はGPIOで制御します。
fm.register(21,fm.fpioa.GPIOHS0)#cs
#fm.register(21,fm.fpioa.SPI1_SS0)#cs
fm.register(24,fm.fpioa.SPI1_D0)#mosi
fm.register(22,fm.fpioa.SPI1_D1)#miso
fm.register(23,fm.fpioa.SPI1_SCLK)#sclk
spi01=SPI(SPI.SPI1,mode=SPI.MODE_MASTER,baudrate=125000,polarity=1,phase=1,bits=8,firstbit=SPI.MSB,mosi=fm.fpioa.SPI1_D0,miso=fm.fpioa.SPI1_D1,sck=fm.fpioa.SPI1_SCLK,cs0=-1)
#spi01=SPI(SPI.SPI1,mode=SPI.MODE_MASTER,baudrate=125000,polarity=1,phase=1,bits=8,firstbit=SPI.MSB,mosi=fm.fpioa.SPI1_D0,miso=fm.fpioa.SPI1_D1,sck=fm.fpioa.SPI1_SCLK,cs0=fm.fpioa.SPI1_SS0)
ソースコードはこちらです
URLリンク(pastebin.com)

64:774ワット発電中さん
20/01/01 23:30:41.43 6CVld2H6.net
MaixPyでGPIOエキスパンダのMCP23017を使うその2
>>60のライブラリはGPLv3なので使いにくいと思い
Adafruitの下記ライブラリをMaixPyで動くように移植してみました
CircuitPython driver for MCP230xx GPIO Expanders
URLリンク(github.com)
とりあえず、exampleのmcp230xx_simpletest.pyを動くようにしてみました
ファイルは4つです
digital_inout.py
URLリンク(pastebin.com)
mcp230xx.py
URLリンク(pastebin.com)
mcp23008.py
URLリンク(pastebin.com)
mcp23017.py
URLリンク(pastebin.com)
これら、4つのファイルを
uPyLoaderでMaixシリーズ、M5StickVなどにアップロードしておきます
URLリンク(github.com)
サンプルプログラムはこれ(mcp230xx_simpletest.pyを改変しただけです)
URLリンク(pastebin.com)
Maixシリーズはsclが30、sdaが31がデフォルトです
他のピンに変更したい場合はscl、sdaの値を変更してください
(Maixduinoを使っている場合、指定するピン番号はK210のピン番号ですので要注意です)
M5StickVでもscl、sdaを34、35ピンに設定すれば動作すると思います
(sclが34ピン、sdaが35ピンなのかsclが35ピン、sdaが34ピンなのかはわかりません)

65:774ワット発電中さん
20/01/01 23:36:01.70 6CVld2H6.net
追記
サンプルのaddressが0x21になってますが>>46の回路図に合わせてるだけです
mcp = MCP23017(i2c, address=0x21) # MCP23017 w/ A0 set
MCP23017のデフォルトのaddressは0x20です
自分の使用してるものに合わせて変更してください

66:774ワット発電中さん
20/01/03 10:34:47.26 VxkzvV7l.net
新しいMaixPyのビルドでヒープサイズを設定できるようになったようです
URLリンク(dl.sipeed.com)
import Maix
Maix.utils.gc_heap_size()
これでヒープサイズが確認できるのと
import Maix
Maix.utils.gc_heap_size(400000)
のようにヒープサイズが設定できるらしいですね
ためしに
import Maix
Maix.utils.gc_heap_size(1000000)
を実行したらヒープサイズが1000000になりました
あまり大きな値を設定するとMaixPyが起動しなくなるので要注意です

67:774ワット発電中さん
20/01/03 10:39:19.99 VxkzvV7l.net
Maix.utils.gc_heap_sizeで大きな値を設定してMaixPyが起動しなくなったら
下記の作業をする必要があります。
(LinuxやMacなどの環境が必要なようです。私はWindowsのCygwin上で実行しました
gccやg++、makeなどが必要なようです)
git clone URLリンク(github.com)
cd tools/spiffs
mkdir fs
python gen_spiffs_image.py ../../projects/maixpy_k210/config_defaults.mk
これを実行するとtools/spiffs/fs_imageに空のmaixpy_spiffs.imgができます
この作成されたmaixpy_spiffs.imgをkflash_guiで
0xD00000のアドレスに書き込めば起動できるようになります
ただし、今までにMaixやM5StickVにアップロードしたファイルの内容は消えます
ファイルをダウンロードしたい場合は、古いMaixPyのイメージを書き込んで起動し
(maixpy_v0.4.0_50_gcafae9d.binで起動できました)
uPyloderでバックアップを取ってから
kflash_guiでmaixpy_spiffs.imgをkflash_guiで0xD00000に書き込めばいいはずです
古いMaixPyはここにあります
URLリンク(dl.sipeed.com)

68:774ワット発電中さん
20/01/03 10:43:10 VxkzvV7l.net
追記
import Maix
Maix.utils.gc_heap_size(600000)
とヒープサイズを設定後、反映されるのはハードリセットした後です
ソフトリセットでは反映されません

69:774ワット発電中さん
20/01/03 10:51:44.36 VxkzvV7l.net
import Maix
Maix.utils.gc_heap_size(3000000)
までは成功しました
import Maix
Maix.utils.gc_heap_size(4000000)
ではMaixPyが起動しなくなりました
失敗するとMaixPyが起動しなくなるので
空のmaixpy_spiffs.imgが作成できない人は真似しないでください

70:774ワット発電中さん
20/01/03 11:52:45.08 VxkzvV7l.net
gen_spiffs_image.pyはもともとはflash上のファイルイメージを作成するためのもののようです
tools/spiffsにfsディレクトリを作成してその中にファイルを入れるとfsディレクトリ以下のファイルの
flash書き込み用のイメージが作成されるようです
紹介動画(アニメーションGIF画像)
URLリンク(cdn.sipeed.com)

71:774ワット発電中さん
20/01/09 22:42:18 3Sceyj5N.net
Sipeed Longan Nano、やっと中華USB Blasterでuploadとdebugができるようになったけど、
あんまり早くない・・・

> ** Programming Started **
> auto erase enabled
> wrote 87040 bytes from file .pio\build\sipeed-longan-nano\firmware.elf in 103.054993s (0.825 KiB/s)
> ** Programming Finished **
> ** Verify Started **
> verified 86224 bytes in 73.658226s (1.143 KiB/s)
> ** Verified OK **

72:774ワット発電中さん
20/01/10 04:48:22 kxIDyPCI.net
Sipeed Longan NanoはメーカーがSipeedというだけでMaixシリーズとは全然別物だからね
Arduinoの環境も整備されてるとはいいがたいしMaixPyも使えないし

73:774ワット発電中さん
20/01/18 20:32:23 KxK7Cp1t.net
Maixduinoで>>55のPCA9685モジュールのPWMでLチカをしてみました

SCL、SDAを3.3KΩでプルアップしてモジュールにつなぎます
VCCにMaixduinoの3.3V、GNDにMaixduinoのGNDをつなぎます
LEDはシンク接続で16個つないでみました
(抵抗は1KΩを使いました)

今回はMaixPyから使ってみます

MicroPython用のPCA9685モジュール用のドライバーソフトが
adafruitから出てるようですのでそれをそのまま使います
URLリンク(github.com)

adafruitのドライバソフトの中のpca9685.pyを
uPyLoaderでMaixシリーズやM5StickVに転送してください

uPyLoader
URLリンク(github.com)

テストサンプルはこんな感じです
(このサンプルではLEDはシンク接続を想定してます)

URLリンク(pastebin.com)
M5StickVでは
i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
pca9685_01 = PCA9685(i2c, 0x40)
のscl=30、sda=31の部分をscl=34、sda=35もしくはscl=35、sda=34に変更してください

PCA9685のI2Cアドレスは自分ものにあわせて適宜変えてください
(デフォルトでは0x40です)

74:774ワット発電中さん
20/01/19 06:31:36 CdSEQA/j.net
SPI接続の温度センサーADT7310用の>>63のプログラムを改良してみました

URLリンク(pastebin.com)

75:774ワット発電中さん
20/02/01 11:13:05.83 Xt1JOYYm.net
MaixduinoでMaixPyで気温、気圧、湿度センサーのBME280を使ってみました
BME280モジュールはスイッチサイエンスや秋月で売ってます
URLリンク(www.switch-science.com)
URLリンク(akizukidenshi.com)
BME280はSPIとI2Cを選べるのですがI2Cで接続での使用です

URLリンク(github.com)
今回はここにあるスイッチサイエンスのPython用のサンプルコードを改変して
MaixPyで使えるようにしてみました
気温、気圧、湿度をSerialに表示するだけのプログラムです
改変したコードはこちらです
URLリンク(pastebin.com)
i2c_addressにはBME280のアドレスを入れます(デフォルトは0x76)
M5StickVでもSCL=34 SDA=35もしくはSCL=35 SDA=34にすればおそらく使えると思います

76:774ワット発電中さん
20/02/01 20:09:36 Xt1JOYYm.net
MaixduinoでMaixPyでATD7410の温度センサーモジュールを使ってみました


秋月で税込み500円で売ってます
URLリンク(akizukidenshi.com)


気温を5秒おきにシリアルに表示するだけのプログラムです
URLリンク(pastebin.com)

M5StickVの人は74行目のscl=30, sda=31のところを
scl=34, sda=35もしくはscl=35, sda=34に変更すれば使えると思われます


気温を5秒おきにLCDにも表示するバージョンです
URLリンク(pastebin.com)

LCD表示バージョンはMaixシリーズでしか使えないと思われます

77:774ワット発電中さん
20/02/01 21:10:57 Xt1JOYYm.net
新しい仲間ができたようです

UnitV AI Camera
URLリンク(www.switch-science.com)
税込単価 2,145 円

> M5StickVとの大きな違いは液晶やバッテリー、ジャイロセンサが非搭載になり、
> 小型軽量になった点です。
> M5StickCと組み合わせることで、そのあたりを補完してお使いいただくことが可能です。
>
> Sipeed社の協力により、K210用のMicroPython環境であるMaixPyで開発が可能です。
> カメラには高感度なOmniVision社製OV2640イメージセンサ(2メガピクセル)を搭載しています。

78:774ワット発電中さん
20/02/01 21:43:32 unE8O3GU.net
WiF使いたい場合はMAixduinoが一番安く上がるのかな?

79:774ワット発電中さん
20/02/01 22:08:37 Xt1JOYYm.net
BME280はGroveタイプのもあるんですね

GROVE - 温湿度・気圧センサ(BME280)
URLリンク(www.switch-science.com)

80:774ワット発電中さん
20/02/01 22:17:49 Xt1JOYYm.net
>>78
MaixPyからWiFi使うならMaixduinoがいいですね
SPI接続ですし、安定して使えます
ただし、ArduinoからはオンボードのWiFiは使えないです
Arduinoから使う場合は外付けでESP8266をUARTでつなげば使えます

Maixduinoで注意が必要なのはJTAG用のピンが出てない点です
MaixBitならJTAG用のピンが出てるのでFT2232H MINI MODULEをつなぐことで
PlatformIOでCやC++でデバッグができるようになります
まあ、デバッグ機能は必要ない人も多いでしょうが

81:774ワット発電中さん
20/02/01 22:31:36 Xt1JOYYm.net
あと、Maixduinoにアナログ入力ピンがありますが、これもArduinoからは使えません
MaixPyでnetworkの中にアナログ入力ピンを使う機能があります
networkの中にあるのはこのアナログ入力ピンはオンボードのESP32の機能だからだと思われます

URLリンク(github.com)

82:774ワット発電中さん
20/02/01 22:39:03 unE8O3GU.net
>>80
ありがとう。
MaixPy使用予定だからMaixduinoにしておきます。

83:774ワット発電中さん
20/02/01 22:49:27 Xt1JOYYm.net
あと、MaixPyでWiFiの関数はこれだけです
サーバの機能はありません
version -- <function>
adc -- <function>
scan -- <function>
connect -- <function>
disconnect -- <function>
isconnected -- <function>
ifconfig -- <function>
ping -- <function>

サンプルはここです
URLリンク(github.com)
demo_esp32と書かれてるのがMaixduino用のWiFiのサンプルプログラムです

84:774ワット発電中さん
20/02/02 13:04:51 ubTg3l+W.net
>>77のUnitV AI CameraのカメラはOV2640か
Maixduinoと同じやつだね
M5StickVみたいにMaixPyのみでArduinoは使えないのかな?

85:774ワット発電中さん
20/02/02 13:11:38 ubTg3l+W.net
Googleで検索するともう手に入れて使ってる人いるのね

86:774ワット発電中さん
20/02/02 13:16:36 ubTg3l+W.net
K210搭載のモジュールはRAMが6MBもあるので
MicroPythonやるなら最適だと思うけどね
MicroPythonのMaixPyが使えるんだから

87:774ワット発電中さん
20/02/02 17:03:04 Q9Ayv7mC.net
>>83
ありがとう。
そこは見つけてた。
MAix Dockやbitのモジュールセットは技適の関係でおおっぴらに売れないだろうけど、もしかしたらってのがありました。
M5StackV+が出てくれば手っ取り早くて良いんですけどね。

88:774ワット発電中さん
20/02/02 18:12:39 ubTg3l+W.net
MaixGo用のデモプログラムも少し改変すればMaixduinoで動きます
例えば、httpでjpgファイルをダウンロードするデモプログラム
URLリンク(github.com)
これは
URLリンク(pastebin.com)
こんな感じに改変すればMaixduinoでも動きます

89:774ワット発電中さん
20/02/05 00:18:18 7PYJiTWZ.net
>>75でBME280でのLCD表示版を作ってなかったので作りました

おそらくMaixシリーズ専用になると思われます
URLリンク(pastebin.com)

90:774ワット発電中さん
20/02/05 12:16:34 wVoPnt+r.net
Maixduino売ってない…

91:774ワット発電中さん
20/02/05 15:03:05 7PYJiTWZ.net
これって在庫あるのかな?

Sipeed Maixduino
URLリンク(www.sengoku.co.jp)
【数量1個&#12316;】単価 \4000

秋葉原が近いなら千石やマルツの2Fやラジオデパート3Fのshigezoneあたりに行ってみるとか?
千石とshigezone19時、マルツは20時に閉まっちゃうけど

92:774ワット発電中さん
20/02/05 20:32:49 YDwG9JD0.net
>>91
千石には有ったけど、まだ残ってるかな?

93:774ワット発電中さん
20/02/06 15:47:30 yvLL0XvG.net
ここM5stackもOK?

94:774ワット発電中さん
20/02/06 20:27:04 U0OQmEod.net
M5StackはK210ではなく、ESP32というマイコンを使用してます
なのでこっちで扱ってるようです

格安wifiモジュール「esp8266」「esp32」 4個目
スレリンク(denki板)

95:774ワット発電中さん
20/02/07 05:12:25.55 UGi/ZI55.net
>>94
TNX

96:774ワット発電中さん
20/02/07 07:35:55.78 dQJV6LJa.net
m5stack stickvはK210だからいいんじゃね

97:774ワット発電中さん
20/02/07 07:51:37 2muycFBJ.net
ややこしいねん

98:774ワット発電中さん
20/02/09 02:36:46.20 8pfKKO4u.net
Maixduinoなら東京ラジオデパート3FのShigezoneで3300円で売ってたよ
Maix Goは売り切れってなってた

99:774ワット発電中さん
20/02/09 08:04:18.73 kvDsb+Kf.net
Tゾーンのロゴパクった店の宣伝あちこちでウザ

100:774ワット発電中さん
20/02/09 08:54:40 4TKlsJn4.net
sipeedは製造は深センでやってるのかな?
だと品薄になりそう。
とりあえずMaix bitとMaixduinoは1台ずつ入手済みだから暫くは問題無いけど。

101:774ワット発電中さん
20/02/09 09:45:34.06 8pfKKO4u.net
スイッチサイエンスでSipeed RISC-Vデバッガ売ってたんだね
安かったので買ってしまった
やっぱりJTAGピンが外に出てないMaixduinoでは使えない模様
ESP32で使う方法を見つけたからいいけど
使ってるチップはFT2232Dで秋月のFT2232Dモジュールより安いね

102:774ワット発電中さん
20/02/09 09:54:18 8pfKKO4u.net
ESP32をいじってたらミスしてMaixduinoに載ってるESP32に書き込んでしまった
Maixduino用のESP32のfirmware公開されてたんだね
自分でビルドしてesptool.pyで書き込んで復活しました

firmwareはここ
URLリンク(github.com)

103:774ワット発電中さん
20/02/09 10:22:12.74 8pfKKO4u.net
MaixduinoのArduinoのI2CのライブラリのWire.endTransmission()だけど
Wire.endTransmission(false);
とsendStopにfalseを指定してもきちんと働いてないようです
温度センサーモジュールのADT7410で、0x00以外のレジスタの値を読み出せない
ESP32とArduino Pro miniの互換機で試したところ正常に読み出せました
ライブラリのWire.cppを見てみたところ
TwoWire::endTransmission(bool sendStop)から
TwoWire::writeTransmission()とTwoWire::readTransmission()を呼び出してるようですが
この2つの関数でsendStopが無視されてる模様

104:774ワット発電中さん
20/02/09 12:50:42.77 8pfKKO4u.net
自己レスです
kendryte-standalone-sdkのi2c_recv_dataを直接呼び出すことで解決しました
インクルードファイルは
#include <kendryte-standalone-sdk/lib/drivers/include/i2c.h>
int i2c_recv_data(i2c_device_number_t i2c_num, const uint8_t *send_buf, size_t send_buf_len, uint8_t *receive_buf,
size_t receive_buf_len)
i2c_numがI2CのBus番号
WireがI2C_DEVICE_0、Wire1がI2C_DEVICE_1、Wire2がI2C_DEVICE_2で
i2c_device_number_tでキャストしてあげないとエラーが出る
send_bufにi2cデバイスの読み取りたいレジスタのアドレスを格納
send_buf_lenがsend_bufのデータの大きさ
receive_bufで読み込むバッファを指定
receive_buf_lenでreceive_bufの大きさを指定
ATD7410のステータスレジスタを読み込む例はこんな感じ
uint8_t status_reg;
uint8_t reg_addr = 0x02;
i2c_recv_data((i2c_device_number_t)I2C_DEVICE_0, &reg_addr, 1, &status_reg, 1);

105:774ワット発電中さん
20/02/09 12:58:14 8pfKKO4u.net
Arduinoからi2c_recv_data()を使うときは特に初期は必要ないようです
(おそらく、Wireのライブラリの方で初期化してる)
レジスタの内容を読み込みたい時だけ直接i2c_recv_data()を呼び出せばいいようです

106:774ワット発電中さん
20/02/10 08:06:51.29 k864Uy1H.net
上の例ではプログラムの先の方で
同じI2Cデバイス宛てにWire.endTransmission()を呼んでたので
初期化しなくてもよかったようです
I2Cデバイスへの初めての読み込みでi2c_recv_dataを使う場合や
アドレスの違うI2Cデバイスへの読み込みでi2c_recv_dataを使う場合は
初期化をしてI2Cデバイスのアドレスを設定する必要があるようです
初期化は下記関数を使います
i2c_init(i2c_device_number_t i2c_num, uint32_t slave_address, uint32_t address_width,
uint32_t i2c_clk);
ここで
i2c_numがI2CのBus番号
WireがI2C_DEVICE_0、Wire1がI2C_DEVICE_1、Wire2がI2C_DEVICE_2で
i2c_device_number_tでキャストしてあげないとエラーが出る
slave_addressがI2Cデバイスのアドレス
address_widthがI2Cデバイスのアドレス幅で7bitもしくは10bitどちらかを指定するようです
i2c_clkがI2Cのクロック周波数です
ADT7410のI2Cアドレスが0x48だとすると初期化設定例は
i2c_init((i2c_device_number_t)I2C_DEVICE_0, 0x48, 7, Wire.getClock());

107:774ワット発電中さん
20/02/16 08:04:36 6TUPzqjA.net
中国の新型コロナ検出AIってK210かな?
学習はクラウド使ってそうだけど。

108:774ワット発電中さん
20/03/09 05:34:00.99 9wKrufsq.net
M5StickVとUNIT V
Groveポートが2つあればよかったのに
K210はFPIOAでピンの機能を自由に変更できるのがいいね

109:774ワット発電中さん
20/03/09 06:05:25 9wKrufsq.net
MaixPyはSSLを使えないことを除けばかなり高機能なMicroPython実装だね
大容量のRAMを活かした仮想フレームバッファで画像を楽に扱えるのがかなりいい

110:774ワット発電中さん
20/03/15 05:41:58.84 Gm3vCHEC.net
MicroPythonでグラフィックス扱うならMaixシリーズが一番いいみたい
本家MicroPythonやCircuitPythonのLCDライブラリはPythonで描画するので遅い
MicroPython lobo版はMicroPython自体がLCDに対応してるので対応するLCDを使うと速いが
MicroPython lobo版は直接LCDに描画するので仮想フレームバッファでイメージを扱えないし
ESP32と比べてMaixシリーズはMicroPythonでは6倍くらい速い

111:774ワット発電中さん
20/03/26 09:01:33 ToI4vXt0.net
Sipeed社は良い製品を作る

112:774ワット発電中さん
20/04/18 19:19:15 I/lCD19r.net
M5StickV手にいれたがセンサーのリセットでエラーが出る…ファーム書き換えたけど駄目だな
MaixPyでLCD、LEDを制御することはできたから単にカメラの不良かな。
最初にレンズが転がってたのが関係あんのかなあ

113:774ワット発電中さん
20/04/19 08:17:54 +GCyV03F.net
この手の製品は初期不良交換のみなので
初期不良ならすぐに購入したお店に連絡取った方がいいよ

114:774ワット発電中さん
20/04/19 09:53:16 +GCyV03F.net
>>38の部分で抜けてたのがあったので追記します
Humblesoft_GFX.cppの

元ファイルの41行目を変更
textsize_x, textsize_y);
の部分を下のように変更
textsize);

元ファイルの68行目を変更
textsize_x, textsize_y);
の部分を下のように変更
textsize);

115:774ワット発電中さん
20/04/19 10:35:16 +GCyV03F.net
追記
41行目、68行目というのは>>38の最後の部分を追記する前の行番号です
追記後の行番号は55行目、82行目になります

116:774ワット発電中さん
20/04/19 10:35:42 +GCyV03F.net
あとは、MaixduinoのライブラリのSipeed_ST7789.hとSipeed_ST7789.cppを
platformioのプロジェクトのsrcフォルダにコピーして名前を変更


>>38
>LCDドライバのSipeed_ST7789.hとSipeed_ST7789.cppを名前を変えてコピーして
>Adafruit_GFXからの継承ではなく、Humblesoft_GFXからの継承に改変

この部分は具体的に書くと下記のようになります


Sipeed_ST7789.hをHumblesoft_Sipeed_ST7789.hへ
Sipeed_ST7789.cppをHumblesoft_Sipeed_ST7789.cppへ


Humblesoft_Sipeed_ST7789.hの下記部分を変更
6行目の
#include <Adafruit_GFX.h>

この部分を下記のように変更
#include <Humblesoft_GFX.h>



48行目の
class Sipeed_ST7789 : public Adafruit_GFX{

この部分を下記のように変更
class Sipeed_ST7789 : public Humblesoft_GFX{

117:774ワット発電中さん
20/04/19 10:35:58 +GCyV03F.net
Humblesoft_Sipeed_ST7789.cppの下記部分を変更

この部分を
#include "Sipeed_ST7789.h"
#include "lcd.h"
#include "sysctl.h"
#include "utils.h"

下記のように変更
#include "Humblesoft_Sipeed_ST7789.h"
#include <lcd.h>
#include <sysctl.h>
#include <utils.h>

8行目の
:Adafruit_GFX(w,h),

の部分を下記のように変更
:Humblesoft_GFX(w,h),

118:774ワット発電中さん
20/04/19 10:43:35 +GCyV03F.net
使用するファイルは下記のようになります
全部、PlatformIOのプロジェクトのsrcに置きます

Bitmap.cpp
Bitmap.h
Humblesoft_GFX.h
Humblesoft_GFX.cpp
Fontx.h
Fontx.cpp
result.h
uni2sjis.h
uni2sjis.c
uni2sjis_tbl.c
Utf8Decoder.h
Utf8Decoder.cpp
Humblesoft_Sipeed_ST7789.h
Humblesoft_Sipeed_ST7789.cpp
main.cpp

119:774ワット発電中さん
20/04/23 15:55:48 vYxLxDSP.net
Sipeed MaixCube is a Fully Integrated AI Development Platform Powered by Kendryte K210 RISC-V SoC
URLリンク(www.cnx-software.com)
URLリンク(www.cnx-software.com)
URLリンク(www.cnx-software.com)

120:774ワット発電中さん
20/04/23 15:58:04.53 vYxLxDSP.net
URLリンク(www.cnx-software.com)

121:774ワット発電中さん
20/04/23 20:40:03 lYOzG5Xu.net
M5Stack のパチモンっぽいな。

122:774ワット発電中さん
20/04/24 00:55:02 ED6ESRz6.net
ピンが6本出てるからM5StickVより拡張性はあるっぽいね
I2CとSPI
SPIとUART
I2CとUART
なんて組み合わせが出来るんじゃない?

123:774ワット発電中さん
20/04/24 01:08:50 ED6ESRz6.net
Groveポートもあるのか
I2C、UART、SPIの組み合わせも出来るね

SPI-MODポートのIO6、IO7、IO8はESP8266と接続すること考えてそう
(IO6がRX、IO7がTX、IO8がESP8266のEN接続用)

Arduinoも使えればかなりいいね

124:774ワット発電中さん
20/04/24 09:23:04 wnUtt6bl.net
でもお高いんでしょう?

125:774ワット発電中さん
20/04/25 15:11:58 YNeUPGGp.net
$24.9だから日本だと4000円くらいになっちゃうかもね
Shigezoneで扱いがあれば安く買えるかも
まだプレオーダーの段階なのでまだ先になるだろうけどね

126:774ワット発電中さん
20/04/25 15:14:14 YNeUPGGp.net
上の記事だと
ここで注文受けてるようだぞ

URLリンク(www.seeedstudio.com)

127:774ワット発電中さん
20/06/03 16:21:56 wBlJe4uy.net
TTGO T-Watch K210 / K210 AIOT Watches Perform Face Detection with Kendryte K210 RISC-V Processor, ESP32 WiSoC
URLリンク(www.cnx-software.com)
URLリンク(www.cnx-software.com)

  AI Processor Kendryte K210 RISC-V Dualcore 64bit with FPU with 8MB SRAM
  Storage 16MB QSPI flash, MicroSD card socket
  Display I/F FPC connect for external display (not included)
  Camera 2MP OV2640 sensor
  Audio MAX98357A Audio codec; CVSD & SBC audio encoding
  Connectivity 2.4 GHz 802.11b/g/n WiFi 4 up to 150 Mbps, Bluetooth 4.2 BR/EDR and BLE
  Debugging USB-C port via CP2104
  Expansion
    UART, SPI, I2C, PWM, I2S
    I2C grove connector
    I/O Voltage 3.3V / 1.8V operation
  Misc Power and boot buttons; RTC
  Power Supply -5V DC/1A DC input; AXP202 PMIC
  Dimensions & Weight TBD

128:774ワット発電中さん
20/06/03 16:22:26 wBlJe4uy.net
age

129:774ワット発電中さん
20/06/05 14:15:18.31 5la78J+m.net
>>127
でもお高いんでしょう?

130:774ワット発電中さん
20/06/22 20:38:49.53 ibnC1bZx.net
MaixduinoでオンボードのESP32をArduinoから使えたので報告します
ライブラリはこれです
URLリンク(github.com)
上記ライブラリと、Maixduinoのframework-maixduinoを一部改変します
framework-maixduinoの方は
PlatformIOの方は
C:\Users\ユーザ名\.platformio\packages\framework-maixduino\variants\sipeed_maixduino
Arduino IDEの方は
C:\Users\ユーザ名\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\variants\sipeed_maixduino
ここのpins_arduino.hを一部改変します
74行目の
#define MD_PIN_MAP(fpio) (((fpio) < 17) ? _maixduino_pin_map[(fpio)] : (fpio))
static const uint8_t _maixduino_pin_map[17] = {4, 5, 21, 22, 23, 24, 32, 15, 14, 13, 12, 11, 10, 3, 31, 30, 16};
の部分を
#define MD_PIN_MAP(fpio) (((fpio) < 22) ? _maixduino_pin_map[(fpio)] : (fpio))
static const uint8_t _maixduino_pin_map[22] = {4, 5, 21, 22, 23, 24, 32, 15, 14, 13, 12, 11, 10, 3, 31, 30, 16, 8, 9, 25, 6, 7};
に改変

131:774ワット発電中さん
20/06/22 20:39:53.08 ibnC1bZx.net
続き

WiFiNINAのライブラリの方は
srcの中のutilityの中の52行の次の部分を
static uint8_t SLAVESELECT = 10; // ss
static uint8_t SLAVEREADY = 7; // handshake pin
static uint8_t SLAVERESET = 5; // reset pin
次のようにします
static uint8_t SLAVESELECT = 19; // ss pin 25
static uint8_t SLAVEREADY = 18; // pin 9 handshake pin
static uint8_t SLAVERESET = 17; // pin 8reset pin
static uint8_t NINA_GPIO0 = 18; // pin 9
#define PINS_COUNT 22
これだけです。
これでとりあえず、exampleのWiFiPingは成功しました
(PlatformIOだと先頭に下記内容を追加する必要があります)
#include <Arduino.h>
void printWiFiData();
void printCurrentNet();
void printMacAddress(byte mac[]);

132:774ワット発電中さん
20/06/22 20:55:56.62 ibnC1bZx.net
exampleのWiFiWebClientもうまくいきました
他は試してないです

133:774ワット発電中さん
20/06/22 21:02:06.13 ibnC1bZx.net
誤記がありました
改変するファイルのファイル名が抜けてました
正しくはこうです
WiFiNINAのライブラリの方は
srcの中のutilityの中のspi_drv.cppの52行の次の部分を
static uint8_t SLAVESELECT = 10; // ss
static uint8_t SLAVEREADY = 7; // handshake pin
static uint8_t SLAVERESET = 5; // reset pin
次のようにします
static uint8_t SLAVESELECT = 19; // ss pin 25
static uint8_t SLAVEREADY = 18; // pin 9 handshake pin
static uint8_t SLAVERESET = 17; // pin 8reset pin
static uint8_t NINA_GPIO0 = 18; // pin 9
#define PINS_COUNT 22

134:774ワット発電中さん
20/06/23 21:53:34.85 nqVjLTks.net
WiFiWebServerを試してみたところうまく動きませんでした
NINA_GPIO0がHIGHになってないとSpiDrv::available()で1を返さないので
WiFiServer.cppのWiFiServer::available()の中で呼ばれる
server_drv.cppの中のServerDrv::availServer(_sock)が
_sockの値を取得するまえにすぐに返ってきてしまいます
NINA_GPIO0はIO32(Maixduinoの6番目のピン)に割り当てみます
なので、srcの中のutilityの中の52行のspi_drv.cppの次の部分を
static uint8_t SLAVESELECT = 10; // ss
static uint8_t SLAVEREADY = 7; // handshake pin
static uint8_t SLAVERESET = 5; // reset pin
この部分はこうなります
static uint8_t SLAVESELECT = 19; // ss pin 25
static uint8_t SLAVEREADY = 18; // pin 9 handshake pin
static uint8_t SLAVERESET = 17; // pin 8reset pin
static uint8_t NINA_GPIO0 = 6; // pin 32
#define PINS_COUNT 22
次にsrcのutilityの中のspi_drv.cppの563行目を下記のように変更してください
int SpiDrv::available()
{
return (digitalRead(NINA_GPIO0) != LOW);
}
この部分を
int SpiDrv::available()
{
// return (digitalRead(NINA_GPIO0) != LOW);
return 1;
}

135:774ワット発電中さん
20/06/23 21:54:34.33 nqVjLTks.net
まとめると
WiFiNINAのライブラリはここ
URLリンク(github.com)
Maixduinoで使えるように
上記ライブラリと、Maixduinoのframework-maixduinoを一部改変します
framework-maixduinoの方は
PlatformIOの方は
C:\Users\ユーザ名\.platformio\packages\framework-maixduino\variants\sipeed_maixduino
Arduino IDEの方は
C:\Users\ユーザ名\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\variants\sipeed_maixduino
ここのpins_arduino.hを一部改変します
74行目の
#define MD_PIN_MAP(fpio) (((fpio) < 17) ? _maixduino_pin_map[(fpio)] : (fpio))
static const uint8_t _maixduino_pin_map[17] = {4, 5, 21, 22, 23, 24, 32, 15, 14, 13, 12, 11, 10, 3, 31, 30, 16};
の部分を
#define MD_PIN_MAP(fpio) (((fpio) < 22) ? _maixduino_pin_map[(fpio)] : (fpio))
static const uint8_t _maixduino_pin_map[22] = {4, 5, 21, 22, 23, 24, 32, 15, 14, 13, 12, 11, 10, 3, 31, 30, 16, 8, 9, 25, 6, 7};
に改変

136:774ワット発電中さん
20/06/23 21:55:04.09 nqVjLTks.net
続き
WiFiNINAのライブラリの方は下記のように改変します
NINA_GPIO0はIO32(Maixduinoの6番目のピン)に割り当てありますが適当な使ってないピンを割り当ててください
srcの中のutilityの中の52行のspi_drv.cppの次の部分を
static uint8_t SLAVESELECT = 10; // ss
static uint8_t SLAVEREADY = 7; // handshake pin
static uint8_t SLAVERESET = 5; // reset pin
この部分はこうなります
static uint8_t SLAVESELECT = 19; // ss pin 25
static uint8_t SLAVEREADY = 18; // pin 9 handshake pin
static uint8_t SLAVERESET = 17; // pin 8reset pin
static uint8_t NINA_GPIO0 = 6; // pin 32
#define PINS_COUNT 22
次にsrcのutilityの中のspi_drv.cppの563行目を下記のように変更してください
int SpiDrv::available()
{
return (digitalRead(NINA_GPIO0) != LOW);
}
この部分を
int SpiDrv::available()
{
// return (digitalRead(NINA_GPIO0) != LOW);
return 1;
}

137:774ワット発電中さん
20/06/23 21:59:58.58 nqVjLTks.net
URLリンク(github.com)
WiFiNINAのexampleのWiFiUdpNtpClientですが
129行目のsendNTPpacket関数の型がunsigned longなのにreturn文がないために
Maixduinoでは暴走してしまいます。
unsigned longではなくvoidにします
unsigned long sendNTPpacket(IPAddress& address) {
これを
void sendNTPpacket(IPAddress& address) {
にします

138:774ワット発電中さん
20/06/24 18:36:09.92 dOpT5/L4.net
K210だとリッチすぎ、GD32VF103だとプアすぎ
STM32F7とかSTM32F4クラスのRISC-Vマイコンが欲しい

139:774ワット発電中さん
20/06/25 07:04:34 JzIhqSS4.net
RISC-Vってあっちこっちから出てるけど、どのRISC-Vも同じコンパイラでコード生成できるもんなの?

140:774ワット発電中さん
20/06/26 04:48:40 LZTMupFO.net
ArduinoやPlatformIO使う分には勝手にgccのツールチェインが入るから
そのあたりは気にすることはないね

141:774ワット発電中さん
20/06/26 05:01:44 LZTMupFO.net
>>138
こんなのもあるよ

HiFive1 RevB
URLリンク(akizukidenshi.com)
1個 ¥6,600(税込)

SparkFun RED-V Thing Plus - SiFive RISC-V FE310 SoC
URLリンク(www.switch-science.com)
税込単価 4,043 円

142:774ワット発電中さん
20/06/26 06:19:53.47 qkH+HUJz.net
>>138
Longan nanoだと不足?

143:774ワット発電中さん
20/06/26 07:55:27 EhWT5Fr2.net
>>141,142
コアの計算能力はともかくメモリが少ない。RAMが16KBや20KBじゃ8/16bitマイコン並みだし
ROMも少ないしせっかくの32bitマイコンなのにマルチメディアデータを扱ったりするのが難しい

144:774ワット発電中さん
20/06/26 08:18:27.77 LZTMupFO.net
マルチメディアデータ扱いたければそれこそK210でいいと思うけどな
MaixbitならQVGAのLCDとカメラ付きで秋月で3000円で売ってる
Sipeed Maixbit Suit
URLリンク(akizukidenshi.com)
1個 ¥3,000(税込)

145:774ワット発電中さん
20/06/28 15:04:22 EJHUg9/I.net
>>144
K210はRISC-Vお試しとしてはありなんだろうけど結構電気食いというかラズパイzeroくらい電気いるように見える
組み込み制御向けのハイパフォーマンスマイコン・・STMならSTM32F7とかSTM32F4クラス、ルネエレならRX600やRX700クラス
というかこの辺と比較してみたい

146:774ワット発電中さん
20/06/28 15:48:23.85 vtJU8P9w.net
>>145
そこまで電気食わないよ
触っても全然熱くないというかほとんど温度上昇感じない
Cortex-M7が視野に入ってるならK210を使ってもいいはず
Cortex-M7を使ったTeensy 4.0なんてRaspberry Pi Zeroより速いんだから

147:774ワット発電中さん
20/06/28 15:52:16.34 vtJU8P9w.net
ちなみにMHzあたりの性能はK210よりCortex-M7の方が上
K210は64bitというだけでそこまでリッチなコアじゃないよ
Arduino計測すると性能的にはクロックも高くてMHzあたりの性能も高いTeensy 4.0の方が上
ただ、MicroPythonで計算するとK210の方が性能出るんだよね

148:774ワット発電中さん
20/06/28 16:33:31.51 vtJU8P9w.net
Teensy 4.0はNXP iMXRT1062というマイコン使っててCPUコアはCortex-M7の600MHz

149:774ワット発電中さん
20/06/28 17:10:26.47 vtJU8P9w.net
Dhrystone 2.1の結果はこんな感じ
Maixduino(K210 RISC-V RV64GC 400MHz)
Dhrystone/s : 1338079.0
DMIPS     : 761.5703
DMIPS/MHz  : 1.903926
Teensy 4.0(iMXRT1062 Cortex-M7 600MHz)
Dhrystone/s : 2690341.8
DMIPS     : 1531.2133
DMIPS/MHz  : 2.552022

150:774ワット発電中さん
20/06/28 19:11:19.70 EJHUg9/I.net
>>146-178
サンキュ。そうでもないのか。ググると出てきたデータシートを見てみたら
> 2.3 Power SuppliesSupply
> Core 0.9V VDD 0.9V Max 2000mA
とか書いてあったから結構食うのかと思った
買ってみるかなぁ・・・もっとも秋月は土日閉まっているから別のルートを考える必要があるが

151:774ワット発電中さん
20/06/28 19:49:46.61 vtJU8P9w.net
買うのか
STM32F7やRX700使うのかと思った
MaixduinoはWiFiが使える代わりにJTAGの端子が出てないのでデバッガが使えない
MaixbitならJTAGの端子は出てる
MaixbitやMaixduinoならShigezoneでも売ってるよ
URLリンク(www.shigezone.com)
5月30日から東京ラジオデパート3Fの店舗が再開してるらしい
土日は11:00からみたい
営業してるかどうか問い合わせてみたら?

152:774ワット発電中さん
20/06/28 21:31:31.26 EJHUg9/I.net
>>151
あくまで評価用だし
RX72Nはすでに買っている
STM32F7はどれにしようか迷い中
世の中ARMだらけだけどアセンブラも考慮するならRXは良くできていると思う

153:774ワット発電中さん
20/06/29 08:08:27.35 OLhfdQAp.net
K210について調べていたけどハードウェアマニュアル的な資料が見あたらない
割り込みやレジスタの使い方とか何処に書いてあるのだろうか。データシートも公式にはなさそうだし
まさか初期のSPRESENSEみたいにSDKを調べろと?

154:774ワット発電中さん
20/06/29 18:16:27 lbnvmwx/.net
>>151
1Fに移転してるよ。

155:774ワット発電中さん
20/06/29 20:12:39 SYPmVIIF.net
>>153
資料はここにあるのくらいしかないかもね

URLリンク(dl.sipeed.com)

156:774ワット発電中さん
20/06/30 18:54:46.51 RxJbXPgH.net
>>155
マジか。となるとSDKにない使い方は難しいわけか
GD32VF103のマニュアルはそれなりに書いてあるようだ
うーむ、難しい・・

157:774ワット発電中さん
20/06/30 20:32:29.78 X3AZeJaJ.net
GD32VF103を作ってるGigaDeviceはSTM32の互換チップ作ってるメーカーだったりする
互換チップが次々と生まれる中国、半導体業界の新たな潮流
URLリンク(eetimes.jp)
ArmとRISC-V、両輪で製品拡充を目指すGigaDevice
URLリンク(eetimes.jp)

158:774ワット発電中さん
20/06/30 21:19:41.61 j/lrpME7.net
>>157
それは知っている。組み込みマイコンだからかフラッシュプログラマを作るための資料も用意されているようだ
個人的にGD32VF4とか出てきたらなかなかおもしろそう。ペリフェラルもいっぱいあるし
GD32VF103にSRAM外付けも考えたけどバーストモードがないみたいで断念(STM32F103にはある)

159:774ワット発電中さん
20/07/04 05:39:53 b94zB0sM.net
>>135-137の内容をまとめてみました

ArduinoでMaixduinoのオンボードWiFiを使う方法
URLリンク(pastebin.com)

160:774ワット発電中さん
20/08/25 06:58:22.62 IDPQMyyU.net
Sipeed Maix Amigo is a Portable 64-bit RISC-V AI Development Kit with Display and Cameras
URLリンク(www.cnx-software.com)
URLリンク(www.cnx-software.com)
  SoC Kendryte K210 Dual-core 64-bit RISC-V (RV64GC) processor with FPU @ 400 MHz
     (overclockable to 500MHz),
     8MB SRAM,
     built-in AI accelerators for video and audio
  Storage 16MB Flash, MicroSD card slot up
  Display 3.5-inch TFT capacitive touch screen display with 480×320 resolution
  Camera
    VGA front-facing camera up to 30 fps (GC0328 sensor)
    VGA rear camera up to 60 fps (OV7740 sensor)
  Audio 6+1 microphone array
  USB 1x USB Type-C port for power and programming
  Expansion
    3x Grove ports with I2C, GPIO, etc…
    3x 8-pin SP-MOD headers with GPIOs, 3.3V, and GND signals;
     compatible with ESP-01 ESP8266 WiFi module, PSRAM modules, etc…
  Sensor Accelerometer
  Misc Reset button, 3x function buttons, 3x LEDs
  Battery 520 mAh Lithium battery
  Power Supply Via USB-C port
  Dimensions 104.3 x 63.3 x 16.5mm

161:774ワット発電中さん
20/09/04 08:39:02 uQbju8+V.net
スイッチサイエンスでMaixcube売ってるんだな

Maixcube
URLリンク(www.switch-science.com)
税込単価 4,433 円
公開日 2020年8月24日

162:774ワット発電中さん
20/10/08 22:13:49.93 OHqFEtj6.net
MaixduinoでArduinoでボードライブラリ0.3.11でカメラが使えない不具合について
別のスレでMaixduinoでカメラが使えないと指摘されたので
0.3.9と0.3.11のカメラのライブラリを比較したところ
Camera.h
79行目
virtual void setRotation(uint8_t rotation) = 0;
ここだけを中途半端にsetRotaionからsetRotationに修正してあってそれが原因でエラーが出てる模様

下記も修正するとうまくいく
Sipeed_OV2640.h
60行目
virtual void setRotaion(uint8_t rotation);
これを下記に修正
virtual void setRotation(uint8_t rotation);
Sipeed_OV2640.cpp
724行目
void Sipeed_OV2640::setRotaion(uint8_t rotation)
これを下記に修正
void Sipeed_OV2640::setRotation(uint8_t rotation)

163:774ワット発電中さん
20/10/08 23:02:15.47 OHqFEtj6.net
新しいMaixduinoはカメラがGC0328に置き換わってるようです
その場合はライブラリは下記のものに差し替える必要があるようです
URLリンク(github.com)

164:774ワット発電中さん
20/10/10 05:49:51.24 oYFPVsFX.net
>>160
でもお高いんでしょう?

165:774ワット発電中さん
20/10/14 13:08:07.96 D6Wnc/Bi.net
>>163
別スレでトラブっていた者です。
いろいろ試行錯誤したのですが、
結局のところライブラリ差替えだけではサンプルプログラムはまともには動かず、
結局OV2640のカメラを買って取り替えるはめになりました。

166:774ワット発電中さん
20/10/17 18:01:40.27 Ga96/P+h.net
>>165
OV2640は単体で売ってるものなの?
スイッチサイエンスでは取り扱いがあったようだけど、在庫0だし次回入荷も未定
Sipeed OV2640 カメラモジュール
URLリンク(www.switch-science.com)

167:774ワット発電中さん
20/10/17 19:48:10.62 VcGByFE+.net
>>166
秋月のこれを買いました
OV2640使用200万画素カメラ
URLリンク(akizukidenshi.com)

168:774ワット発電中さん
20/10/24 16:22:11.44 R5V2Ewvn.net
Maixduinoでbusyboxが動作したのでその方法を書きます
busyboxしか動作しないのでできることは限られます
全く実用的ではないです
あくまでMaixduino上でLinuxが動くという実験になります
MaixシリーズならMaixduino以外でも動作すると思われます

Maixduinoでbusyboxを使う
URLリンク(pastebin.com)
busyboxでawkを追加できるので簡単なテストプログラムを用意してみました
URLリンク(pastebin.com)
buildrootのbusyboxにプログラムを追加する
URLリンク(pastebin.com)

備考
ファイルシステムがRAMディスクなので
Maixduinoを再起動するとMaixduinoで作成したファイルが全部消えるので要注意です

169:774ワット発電中さん
20/10/24 20:28:57.05 R5V2Ewvn.net
今度はArduinoでの話ですが
MaixシリーズのArduinoではデフォルトのオプションでは
double型の演算がソフトウェアエミュレーションで実行されることを確認しました
whetstoneをArduinoで動くようにしてMaixduinoでも計測してみたのですが
busyboxで計測したものと比べて
MaixduinoのArduinoでは非常に遅い結果となりました
PlatformIOでビルドしてできるfirmware.elfをobjdumpで
逆アセンブルして確認したのですが
どうやらMaixシリーズのArduinoのデフォルトのオプションでは
double型の演算はFPUの命令を使わずに、ソフトウェアエミュレーションで演算してるようです
FPUの命令を使わずに浮動小数点演算のソフトウェアエミュレーションの関数を呼び出してます
PlatformIOはplatformio.iniでbuild_flagsとbuild_unflagsを指定することで
コンパイラオプションを指定できるのでFPU命令を使用するようにならないか試してみました
K210のツールチェインのgccやg++ではデフォルトで
--with-abi=lp64fと--with-arch=rv64imafcのオプションが付いてるようです
つまり、ハードウェアでdouble型に対応しないRISC-V用のABIとアーキテクチャが指定されています
rv64imafcは64bitRISC-Vで乗除算命令、atmic命令、単精度浮動小数点命令、縮小命令に対応してものになります
K210は倍精度浮動小数点演算に対応しているので、rv64imafdcもしくはrv64gcが指定できるはずです
lp64fは関数の呼び出しでfloat型のパラメーターや戻り値をFPUのレジスタで受け渡して
double型のパラメーターや戻り値は整数レジスタで受け渡しをするABIです

170:774ワット発電中さん
20/10/24 20:29:31.02 R5V2Ewvn.net
いろいろ試したところPlatformIOのplatformio.iniでオプションを
下のように指定するとコンパイラがFPU命令を生成するようになりました
build_unflags = -march=rv64imafc
build_flags = -mabi=lp64f -march=rv64gc
objdumpの逆アセンブルで確認してdouble型のFPU命令が生成されていることを確認しました

-mabi=lp64fの代わりに-mabi=lp64dも試してみましたが
コンパイルかリンクでエラーが出てビルドが成功しませんでした
また、デフォルトではサイズ優先最適化の-Osが付いているので
速度優先にしたい場合は-O2や-O3を指定して
build_unflags = -Os -march=rv64imafc
build_flags = -O2 -mabi=lp64f -march=rv64gc
または
build_unflags = -Os -march=rv64imafc
build_flags = -O3 -mabi=lp64f -march=rv64gc
のように指定した方がサイズは少し大きくなりますが実行速度は速くなります
PlatformIOのplatformio.iniでオプションを
build_unflags = -Os -march=rv64imafc
build_flags = -O3 -mabi=lp64f -march=rv64gc
このようにすることでWhetstoneの結果がかなり改善されました

171:774ワット発電中さん
20/10/27 21:54:01.70 3FNQlp8P.net
下記のようにAruino IDEでコンパイラオプションを変更して
Maixduinoでdhrystoneとwhetstoneを実行してみました
(オプションを変更したら一度ソースファイルすべてを保存して保存日時を更新してください、
そうしないと再ビルドされないかもしれません)
オプション変更前(-mabi=lp64f -march=rv64imafc -Os)
dhrystone
Microseconds for one run through Dhrystone: 1.5
Dhrystones per Second: 650801.5
whetstone
Loops: 7000, Iterations: 1, Duration: 23.251999 sec.
C Converted Double Precision Whetstones: 30.1 MIPS

オプション変更後(-mabi=lp64f -march=rv64imafc -O2)
dhrystone
Microseconds for one run through Dhrystone: 0.8
Dhrystones per Second: 1279344.9

whetstone
Loops: 50000, Iterations: 1, Duration: 23.533020 sec.
C Converted Double Precision Whetstones: 212.5 MIPS

大幅に実行速度が速くなりました

Arduino IDEでMaixシリーズのコンパイラオプションを変更する方法はこちらです
(自己責任でお願いします)
URLリンク(pastebin.com)

172:774ワット発電中さん
20/10/27 21:55:22.45 3FNQlp8P.net
DhrystoneとWhetstoneのソースコードはこちらです
Dhrystone
Arduino互換機用Dhrystone 2.1のソースコード(PlatformIO IDE用)
main.cpp
URLリンク(pastebin.com)
mylib.cpp
URLリンク(pastebin.com)
dhry.h
URLリンク(pastebin.com)
dhry_1.c
URLリンク(pastebin.com)
dhry_2.c
URLリンク(pastebin.com)

Whetstone.cのArduino互換機用のソース(PlatformIO IDE用)
main.cpp
URLリンク(pastebin.com)
mylib.cpp
URLリンク(pastebin.com)
whetstone.c
URLリンク(pastebin.com)

ターミナル上で小文字の"s"キーを押すとスタートします
Arduino IDEでもmain.cppを.inoファイルにすることで
そのままで動作します

173:774ワット発電中さん
20/10/29 22:06:51.88 plAqF9yH.net
温度センサーのADT7410とADT7310のMaixシリーズ用のArduinoのスケッチです
以前、MaixPy用のみを投稿しててArduino用を投稿してなかったので今更ですが投稿します
ADT7410はI2C、ADT7310はSPIで動作します
ともに秋月で税込み500円で売ってます
URLリンク(akizukidenshi.com)
URLリンク(akizukidenshi.com)

これらのスケッチは気温を5秒おきにシリアルとLCDに表示するだけのスケッチです

MaixシリーズのArduino用のADT7410のスケッチ
URLリンク(pastebin.com)

MaixduinoではSDA、SCLと書かれてるピン
Maixduino以外の機種ではSDAが31番ピン、SCLが30番ピンです
MaixシリーズではWire.endTransmission()のsendStopが無視されてしまうようで
ADT7410の0x00以外のレジスタの値が読み込めませんでした
一部でkendryte-standalone-sdkのライブラリを直接使うことで
ADT7410の0x00以外のレジスタの値を読み込んでます

174:774ワット発電中さん
20/10/29 22:09:57.69 plAqF9yH.net
MaixduinoのArduino用のADT7310のスケッチ
MaixシリーズのMaixduino以外の機種ではpinCSの値を変更してください
URLリンク(pastebin.com)

ADT7310はMaixduinoの
IO21ピンにCS    
IO22ピンにMISO
IO23ピンにSCK
IO24ピンにMOSI
を接続してみました
Maix BitなどのMaixシリーズのMaixduino以外の機種は
21番ピンにCS
22番ピンにMISO
23番ピンにSCK
24番ピンにMOSI
になると思います
SPI.beginをパラメーター無しで呼び出すと
デフォルトではK210のピン番号で
MISOが26番ピン、SCKが27番ピン、MOSIが28番ピンCSは指定無しになりますが
MaixduinoのピンソケットにはK210のそれらのピンが出てないため
SPI.beginでパラメーターを指定して上のようにSPIのピンを
Maixduinoのピンソケットに出てるピンに変更しました

175:774ワット発電中さん
20/10/29 22:19:09.76 plAqF9yH.net
いつのまにか秋月でMaixduinoを扱いだしたようです

Maixduino Suit Development Board
URLリンク(akizukidenshi.com)
1個 ¥4,100(税込)

176:774ワット発電中さん
20/10/31 10:47:56.09 PoIv2v2t.net
Sipeed MaixシリーズのArduino用でRISC-V RV64GC用の
インラインアセンブラを使った簡単なプログラムを書いてみました
MaixシリーズのLCDに簡単な図形を表示するプログラムです
Maixduinoで動作確認しました
Arduino IDE用です

Sipeed MaixシリーズのArduino用のRISC-V RV64GCインラインアセンブラ デモプログラム
URLリンク(pastebin.com)

177:774ワット発電中さん
20/10/31 16:46:28.16 PoIv2v2t.net
>>176をPlatformIO IDE、Arduino IDEどちらでもビルドできるように修正しました

Sipeed MaixシリーズのArduino用のRISC-V RV64GCインラインアセンブラ デモプログラム(PlatformIO IDE対応版)
URLリンク(pastebin.com)

PlatformIO IDEでビルドする場合はplatformio.iniに
下記オプションのいずれかを指定してください
build_unflags = -march=rv64imafc
build_flags = -mabi=lp64f -march=rv64gc
build_unflags = -Os -march=rv64imafc
build_flags = -O2 -mabi=lp64f -march=rv64gc
build_unflags = -Os -march=rv64imafc
build_flags = -O3 -mabi=lp64f -march=rv64gc

Arduino IDEでビルドする場合は下記のやり方でオプションを変更してください
(オプション変更に関しては自己責任でお願いします)
URLリンク(pastebin.com)

178:774ワット発電中さん
20/11/01 12:25:15.88 Ggm+nbqY.net
MaixシリーズのArduinoでBME280をI2Cで使ってみました
SparkFunのBME280ライブラリがそのまま使えます
SparkFunのBME280ライブラリはここにあります
URLリンク(github.com)

単にLCDとSeralに温度、湿度、気圧を表示するだけのものです

BME280のサンプルスケッチ
URLリンク(pastebin.com)

スケッチではBME280のI2Cアドレスは0x76にしてあります
BME280のI2Cアドレスに合わせて変更してください

ADT7410ではkendryte-standalone-sdkのI2Cのライブラリを
直接叩く必要がありましたが
BME280は一般的なArduinoと全く同じやり方で扱えます
たいていのI2CデバイスはBME280と同様に一般的なArduinoと同じ方法で使えると思います
MaixduinoではSDA、SCLと書かれてるピン
Maixduino以外の機種ではSDAが31番ピン、SCLが30番ピンです

179:774ワット発電中さん
20/11/01 18:43:26.31 Ggm+nbqY.net
>>176,>>177のプログラムでオプションを変更したくないという方のために
RISC-Vのインライン アセンブラの命令を倍精度浮動小数点命令を使っていたところを
すべて単精度浮動小数点命令にしたバージョンを作ってみました
これならArduino IDEやPlatformIOでオプションを変更せずに
デフォルトのオプションでビルドできます

Sipeed MaixシリーズのArduino用のRISC-V RV64GCインラインアセンブラ デモプログラム(単精度浮動小数点版)
URLリンク(pastebin.com)

180:774ワット発電中さん
20/11/03 18:09:27.88 91AZLfsn.net
>>176,177,179の修正版をつくりました
プログラムがdummy_func01を呼ばないと動作しないという変な挙動を示していたのは
アセンブラのプログラムが悪かったようです
gccのインラインアセンブラの入力オペランドで割り当てられるレジスタが
関数呼び出しで保存されないレジスタだったため
関数呼び出しで破壊されてしまうのが原因の一つでした
また、call擬似命令で暗黙的に使われるraレジスタを
インラインアセンブラで破壊されるレジスタのリストに加えてなかったのがもう一つの原因でした
これらが原因で変な挙動を示していたようです
これらを修正したバージョンを作ってみました
インラインアセンブラの入力オペランドに割り当てられるレジスタの内容は
アセンブラプログラムの最初のところで
スタックに確保したメモリに保存するようにしました
また、インラインアセンブラの入力オペランドに指定した変数は
割り当てられたレジスタに値を戻してからインラインアセンブラを終了しないと
インラインアセンブラの後に同じ関数内でその変数が使えないようなので
(これもインラインアセンブラ内の関数呼び出しでレジスタの内容が破壊されるのが原因)
アセンブラプログラムの最後に入力オペランドに割り当てられたレジスタに値を戻すようにしました
そしてインラインアセンブラで破壊されるレジスタのリストにra (x1の別名)レジスタを追加しました

181:774ワット発電中さん
20/11/03 18:13:19.69 91AZLfsn.net
>>176,>>177
これらの修正版はこちらです(Arduino IDEとPlatformIO IDEに対応してます)
Sipeed MaixシリーズのArduino用のRISC-V RV64IMAFCインラインアセンブラ デモプログラム(単精度浮動小数点修正版)
URLリンク(pastebin.com)
こちらは倍精度浮動小数点命令を使用せず単精度浮動小数点命令のみなので
Arduino IDEやPlatformIO IDEでオプションを変更しなくてもビルドできます

182:774ワット発電中さん
20/11/03 18:14:24.68 91AZLfsn.net
>>179の修正版はこちらです(こちらもArduino IDEとPlatformIO IDEに対応してます)
Sipeed MaixシリーズのArduino用のRISC-V RV64GCインラインアセンブラ デモプログラム(倍精度浮動小数点修正版)
URLリンク(pastebin.com)
こちらは倍精度浮動小数点命令を使用するのでオプションの変更が必要です
(Arduino IDE、PlatformIO IDEともにデフォルトのオプションが-march=rv64imafcなため
アセンブラが倍精度浮動小数点命令でエラーを出すため。
-march=rv64imafdcもしくは-march=rv64gcを指定する)
PlatformIO IDEでビルドする場合はplatformio.iniに
下記オプションのいずれかを指定してください
build_unflags = -march=rv64imafc
build_flags = -mabi=lp64f -march=rv64gc
build_unflags = -Os -march=rv64imafc
build_flags = -O2 -mabi=lp64f -march=rv64gc
build_unflags = -Os -march=rv64imafc
build_flags = -O3 -mabi=lp64f -march=rv64gc
Arduino IDEでビルドする場合は下記のやり方でオプションを変更してください
(オプション変更に関しては自己責任でお願いします)
URLリンク(pastebin.com)

183:774ワット発電中さん
20/11/03 18:18:33.19 91AZLfsn.net
逆でした>>181>>179の修正版

184:774ワット発電中さん
20/11/03 18:20:05.98 91AZLfsn.net
>>182>>176,177の修正版

185:774ワット発電中さん
20/11/03 18:36:06.14 91AZLfsn.net
>>178に関してですが
Windowsの場合のArduino IDEのライブラリフォルダは下記になります
メニューのツール→ライブラリの管理で入れるとカスタムライブラリに入ります
カスタムライブラリ
C:\Users\username\Documents\Arduino\libraries
あらゆるボード用のライブラリ
C:\Program Files (x86)\Arduino\libraries
Maixシリーズ用のライブラリ
C:\Users\username\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries
usernameの部分は各自のユーザ名に読み替えてください

186:774ワット発電中さん
20/11/04 00:26:20.07 UWtXrnOH.net
M5 Stack Core2の話題ってここでいいの?

187:774ワット発電中さん
20/11/04 08:14:20.52 igpM2pWF.net
>>186
M5Stack Core 2はESP32というマイコンモジュールを使ってるのでこっちでは?
格安wifiモジュール「esp8266」「esp32」 5個目
スレリンク(denki板)

188:774ワット発電中さん
20/11/04 08:16:28.91 igpM2pWF.net
>>185の追記
Microsoft StoreからArduino IDEを入れた人のMaixシリーズ用のライブラリはここ
C:\Users\username\Documents\ArduinoData\packages\Maixduino\hardware\k210\0.3.11\libraries

Microsoft StoreからArduino IDEを入れた人のコンパイラオプション変更のためのplatform.txtはここです
(コンパイラオプション変更は自己責任でお願いします)
C:\Users\username\Documents\ArduinoData\packages\Maixduino\hardware\k210\0.3.11\platform.txt

189:774ワット発電中さん
20/11/07 13:56:04.98 s0yOLKt3.net
IOエクスパンダのMCP23017をArduinoで使ってみました
ICは秋月で110円で買えます
URLリンク(akizukidenshi.com)
ボードはスイッチサイエンスで990円で買えます
URLリンク(www.switch-science.com)

MCP23017はI2Cで制御します。
接続はMaixduinoではSDA、SCLと書かれてるピン
Maixduino以外の機種ではSDAが31番ピン、SCLが30番ピンです
URLリンク(github.com)
AdafruitのMCP23017用のライブラリを一部修正することで
Maixシリーズでそのまま使えます
Adafruit_MCP23017.cppの25行目から30行目を変更する
#ifdef __AVR
#include <avr/pgmspace.h>
#elif defined(ESP8266)
#include <pgmspace.h>
#endif
#include "Adafruit_MCP23017.h"
この部分を下記のように修正する
#ifdef __AVR
#include <avr/pgmspace.h>
#elif defined(ESP8266)
#include <pgmspace.h>
//#endif
#elif defined(K210)
#include <avr/pgmspace.h>
#endif
#include "Adafruit_MCP23017.h"
Adafruitのこのライブラリを使うことで
ArduinoのdigitalWriteやdigitalReadのような関数で操作できます。

Adafruitのライブラリを使ったMaixシリーズのMCP23017用の簡単なLチカです
GPA0とGPB0にLED、GPA7にタクトスイッチを接続してあることを想定してます
アドレスは0x21になってますが自分の設定に合わせて変更してください
URLリンク(pastebin.com)

ライブラリは上記URLからダウンロードできます。
緑色のCodeと書かれてる部分をクリックすると
一番下に「Download ZIP」と出てくるのでそれをダウンロードすればいいです
上記のように修正して手動で下記フォルダにフォルダごとコピーしてください。
C:\Users\username\Documents\Arduino\libraries
(usernameの部分は自分のユーザ名に読み替えてください)
ライブラリはArduino IDEの「ツール」→「ライブラリ」の管理からも入れられます
Adafruit MCP23017 Arduino Libraryを検索してください。
その場合、ライブラリは下記フォルダに入ります
上記のようにそれを修正します
C:\Users\username\Documents\Arduino\libraries
(usernameの部分は自分のユーザ名に読み替えてください)

190:774ワット発電中さん
20/11/15 15:15:12.02 teZ1TfP2.net
16ch、12bitのPWMコントローラーのPCA9685をArduinoで使ってみました
秋月やスイッチサイエンスでモジュールキットが購入できます
I2C接続16チャンネル サーボ&PWM駆動キット
URLリンク(akizukidenshi.com)
PCA9685搭載16チャネル PWM/サーボ ドライバー (I2C接続)
URLリンク(www.switch-science.com)

URLリンク(github.com)
ここのAdafruitのPCA9685用のライブラリがそのまま使えます

MaixduinoはSDA、SCLと書かれてるピンに接続
Maixduino以外では31ピンにSDA、30ピンにSCLを接続します

簡単なLチカのデモプログラムを作ってみました
全チャンネルにLEDがシンク接続されていることを想定しています
(setPWMが使いにくいのでデューティ比で指定できる関数を作ってみました)
PCA9685のI2Cアドレスは0x40に設定されているので自分のものに合わせて変更してください
URLリンク(pastebin.com)
このようにMaixシリーズでも簡単にI2Cデバイスが使えます
ADT7410のようなkendryte-standalone-sdkを
使わないといけなくなるケースはまれなケースのようです。
I2CデバイスはSCL、SDAとGND、電源を接続するだけで扱えるのが便利ですね

191:774ワット発電中さん
20/11/15 23:28:07.29 teZ1TfP2.net
MaixduinoのオンボードのESP32に間違ってESP32のArduinoのスケッチなどを書き込んでしまった場合
下記のサイトからMaixduinoのESP32用のファームウエアをダウンロードできます
書き込み方法も書かれてますので参照してください
URLリンク(github.com)

192:774ワット発電中さん
20/11/15 23:37:11.79 teZ1TfP2.net
XuanTie C906 based Allwinner RISC-V processor to power $12+ Linux SBC’s
URLリンク(www.cnx-software.com)

193:774ワット発電中さん
20/11/20 02:00:51.45 H+nY04Tn.net
でも中華マイコンなんて使わない

194:774ワット発電中さん
20/11/21 09:43:35.91 8Rne8laZ.net
RISC-Vは中華の救世主だから

195:774ワット発電中さん
20/11/26 18:07:52.53 5n6CcI41.net
m5stackについて質問したいけど、誘導していただけませんか?

196:774ワット発電中さん
20/11/26 18:10:00.33 /cXFFSG9.net
>>195
格安wifiモジュール「esp8266」「esp32」 5個目
スレリンク(denki板)

197:774ワット発電中さん
20/11/26 19:27:53.21 3q8o3OmG.net
素早いレス!
有り難うございます!
>>196

198:774ワット発電中さん
20/12/04 23:36:55.10 Dxdew/7s.net
RISC-Vが過疎ってるからって関係ない板にまでコピペしまくるなよな。

199:774ワット発電中さん
20/12/05 05:29:06.67 rJBcPVxC.net
おまえらRISC-V飽きたの?

200:774ワット発電中さん
20/12/05 05:50:15.23 ChAkp9KC.net
キチガイが自作PC板で暴れてるな。

201:774ワット発電中さん
20/12/05 23:11:22.02 MvrFfOP9.net
ここは別にRISC-Vのスレじゃないぞ
K210のスレ
K210がRISC-Vコアを使ってるというだけ
SipeedやM5Stackの話が出るのはわかるが全然関係ないこと書き込まないで

202:774ワット発電中さん
20/12/05 23:18:23.01 MvrFfOP9.net
ESP8266とPin互換のマイコンがespressifから出るから
もう少ししたらRISC-Vマイコンのスレ立てた方がいいかな
SipeedからもDebianが走るAllwinnerのRISC-VのSoC載ったボード出るようだし

203:774ワット発電中さん
20/12/07 19:04:42.05 saiuSP3Q.net
コンバトラー

204:774ワット発電中さん
20/12/07 22:45:03.02 7FG541DT.net
>>201 踏み台になれ
URLリンク(www.espressif.com)

205:774ワット発電中さん
20/12/08 07:18:05.10 30u/7QZ7.net
GD32VF103もあるしRISC-Vスレがないのが不思議

206:774ワット発電中さん
20/12/08 19:08:39.78 CEtvLkgN.net
どうせ人がいないんだからMIPSスレ使えよ

207:774ワット発電中さん
20/12/09 23:31:26.16 hYI/Bs05.net
粘着MIPS君といい、キチガイRISC-V厨といい他の板で暴れる馬鹿はなんだろうな。
ここでやればいいのに。

208:774ワット発電中さん
20/12/12 20:26:14.08 vJi+gh0L.net
MaixシリーズのArduinoでインラインアセンブラではなく
アセンブラソースファイルを含むプログラムを
ビルドできるか試してみました
結論から言うとMaixシリーズのArduinoではArduino IDEでビルドをしても
アセンブラソースファイルがアセンブルされないようでビルドに失敗しました
MaixシリーズのArduinoではPlatform IO IDEを使うと
アセンブラソースファイルを含むプログラムをビルドできます
アセンブラソースファイルはmain.cppと同じsrcフォルダに入れるだけでアセンブルされます

以下はPlatform IO IDEのArduino用のアセンブラデモプログラムです
以前の>>181>>182のインラインアセンブラで書いたものを少し変更しただけのものです
関数の中の大部分をアセンブラで書く場合はその関数だけ別ソースファイルに分けて
関数全体をアセンブラで書いた方が場合によってはインラインアセンブラを使うよりも簡単かもしれません
Sipeed MaixシリーズのArduino用のRISC-V RV64IMAFCアセンブラ デモプログラム(単精度浮動小数点版)
Platform IOでArduinoのプロジェクトを作成して
main.cpp、asm_int32_float32.sをsrcフォルダに置いてビルドするだけです
main.cpp
URLリンク(pastebin.com)
asm_int32_float32.s
URLリンク(pastebin.com)

Sipeed MaixシリーズのArduino用のRISC-V RV64GCアセンブラ デモプログラム(倍精度浮動小数点版)
Platform IOでArduinoのプロジェクトを作成して
main.cpp、asm_int32_double.sをsrcフォルダに置いてビルドするだけです
main.cpp
URLリンク(pastebin.com)
asm_int32_double.s
URLリンク(pastebin.com)

注意:倍精度浮動小数点命令を使うプログラムをビルドする場合は
   platformio.iniに下記オプションのいずれかを指定してください
   デフォルトのオプションが-march=rv64imafcなので
   倍精度浮動小数点命令を使うとエラーが出てビルドできません
build_unflags = -march=rv64imafc
build_flags = -mabi=lp64f -march=rv64gc
build_unflags = -Os -march=rv64imafc
build_flags = -O2 -mabi=lp64f -march=rv64gc
build_unflags = -Os -march=rv64imafc
build_flags = -O3 -mabi=lp64f -march=rv64gc

209:774ワット発電中さん
21/01/10 20:22:52.83 l+GZE7DR.net
ろくに遊ぶ前にstickV電源入らなくなった
鞄に入れたまま玄関置きっぱが悪かったか?
最近氷点下続いてたし

210:774ワット発電中さん
21/01/10 22:22:36.69 Z4V5zXhU.net
日頃の行い

211:774ワット発電中さん
21/01/16 13:43:16.68 tVRDBc0v.net
新型BeagleBoardのMPUはRISC-V
URLリンク(beagleboard.org)

212:774ワット発電中さん
21/01/19 07:20:30.57 dsXnHkWL.net
>>208
>結論から言うとMaixシリーズのArduinoではArduino IDEでビルドをしても
>アセンブラソースファイルがアセンブルされないようでビルドに失敗しました
アセンブラソースファイルの拡張子を.s(小文字のs)ではなくて
.S(大文字のS)にしたら正常にビルドできました

213:774ワット発電中さん
21/01/30 23:59:42.52 hWx2v/sW.net
case sensitiveなのは仕様?

214:774ワット発電中さん
21/01/31 09:42:24.51 ItpTOYq3.net
IDEのEclipseもアセンブラの拡張子は大文字の.Sじゃないとアセンブルしてくれないね

215:774ワット発電中さん
21/02/21 09:39:50.59 f79TU8HL.net
Maix BitでSipeed RISC-Vデバッガーを使ってデバッグを試したけど
安定しなくてステップ実行するとMaix Bitがすぐフリーズする
やっぱり、デバッガはつかえないが無線LANが使えるMaixduinoの方がいいね
>>159の方法でArduinoでMaixduinoのオンボードのWiFi使えるし

216:774ワット発電中さん
21/09/03 22:02:19.57 +W/8ad1C.net
Maixduinoの液晶が壊れたけど、また同じの買うしかないのかな?
液晶目的だけならMaixbit買った方がやすいかな

217:774ワット発電中さん
22/03/03 07:37:45.81 D355cDx9.net
新チップきたな
世界に先駆けて、64ビットRISC-V CPUコア搭載の汎用MPU「RZ/Five」を発表 | Renesas
URLリンク(www.renesas.com)

218:774ワット発電中さん
22/03/03 07:54:08.12 D355cDx9.net
あ、スマンRISC-Vスレと間違えた

219:774ワット発電中さん
22/03/24 10:14:26.67 /JCKTgI2.net
ありがたや

220:774ワット発電中さん
22/03/24 15:39:53.64 8AMA94MD.net
シナ製品はシナの中だけで使ってろ。
露中の侵略を応援する気はない。

221:774ワット発電中さん
22/03/24 16:30:34.56 IOQZu3Pv.net
>>220 うーん・・・チャイナで今現在進行中の方々への侵略行為は許しがたい暴挙だけれど、
今回のウクライナに限ればロシア側にまったく道理が無いというわけでもないらしくてなぁ・・・
ぼくはゆーちゅーぶで、「ウクライナ・オン・ファイヤー 日本語字幕(字幕改正版)」てのを
見て、状況への評価が、だいぶ変わりましたぞ。

222:774ワット発電中さん
22/03/24 17:52:56.51 clJx/lG7.net
第三次世界大戦を起こしたい側がウクライナ問題を煽っているから

223:774ワット発電中さん
22/03/24 18:04:17.65 /JCKTgI2.net
M5StickV MaixPy MicroPython serial 接続で遊んでたら急に文字化けが増えて
可笑しくなって数十分後に勝手に切断された
再起動しても USB が不明なデバイスになってしまった
PC 再起動したら治るんかこれ
URLリンク(www.youtube.com)

224:774ワット発電中さん
22/03/24 20:06:15.63 LovMVVJC.net
熱暴走する

225:774ワット発電中さん
22/03/25 23:44:43.09 fGV9Qrm0.net
>>221
オリバーストーンって名手だろ。
そんな人の映像を見て考え方変えているようじゃまずいのでは。
どうすれば見る人が考え方を変えるかをよく知ってる人だよ。

226:774ワット発電中さん
22/03/26 15:23:31.25 zuWUeXfO.net
君は書き込むスレを考え治すべきだ

227:774ワット発電中さん
22/05/08 14:17:01.60 qs+VidjG.net
JDSC AIの活用で、この国は変えられる、(株)JDSC/4418 テンバガー候補
URLリンク(jdsc.ai) シニアマーケティングのゆこゆこ、DM等による販促サポートサービスへ JDSCのAIを導入CVRが平均2.4倍 長野県松本市 電力データとAIによるフレイル検知の実証を開始/中部電力
//dime.jp/genre/1380420/ AIであれば知床半島観光船事故の出航判断を誤ることはなかったかもしれない 2022.05.08 @DIME
URLリンク(jimin.jp-east-2.storage.api.nifcloud.com) デジタル・ニッポン 2022~デジタルによる新しい資本主義への挑戦~ !! 自民党デジタル社会推進本部
//www.smbcnikko.co.jp/products/inv/toshin_lab/column/002.html AI通信 投資対象として「AI」をどう見るか? AI関連企業の成長物語はまだ始まったばかり 官民の積極的な取り組みが加速する 日興
//www.meti.go.jp/policy/it_policy/jinzai/AIutilization.html 中小企業のDXに役立つ「手引き」と「AI導入ガイドブック」0408 経産省
//www.riken.jp/research/labs/aip/#h2Anchor1220421 理研 革新知能統合研究センター 革新的な人工知能基盤技術を開発し、それらを応用する
//special.nikkeibp.co.jp/atclh/NXT/22/laboro_ai0428/ 中長期的に企業価値を高めることに貢献する 株Laboro.AI 日経BP
//cloud.watch.impress.co.jp/docs/special/1405135.html AIにとっては必然のもの? 東芝が推進するMLOps活用の取り組み 大河原克行 0502 機械学習を活用したシステムを開発して運用を開始したあとも、継続的にモニタリングを行い、システム運用や市場環境の変化を通じて再学習や改良、改善を実施し、品質を保つ
//www.okinawatimes.co.jp/articles/-/953511 InnodiskがエッジAIコンピューティング市場に焦点を当てた新ビジネスを発表 220505 沖縄タイムス
//www.nikkei.com/article/DGXZQOUC186WY0Y2A410C2000000/ 熟練者の技をデジタル化 ALGO ARTIS 220503
//www.jcer.or.jp/economic-forecast/2021127.html DX社会の構築なければ、30年代はマイナス成長に 日本経済研究センタ
//www.nikkei.com/article/DGXZQOUC130YI0T10C22A3000000/ ソフトバンク、全社員1.8万人にAI・統計スキル習得求める 0327
//www.nikkei.com/article/DGXZQOUC11C8C0R10C22A4000000/ デジタル人材の育成 日本は7カ国平均の29%を大幅に下回った AWS調査 0419


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch