X



トップページ電気・電子
227コメント140KB
RISC-VマイコンK210搭載『Sipeed MAix』『M5StickV』
0001774ワット発電中さん
垢版 |
2019/11/12(火) 07:52:44.62ID:QKqsideH
今、話題のRISC-Vコア、AIアクセラレータKPU内蔵マイコンK210搭載
Sipeed MAix、M5StickVの話題を扱います

64bit 400MHz RV64GCのRISC-Vコアを2コア搭載
RV64GCなので単精度、倍精度浮動小数点演算もOK
AIアクセラレータのKPU内蔵
MicroPython環境のMaixPyやArduino IDEでの開発が可能です
0177774ワット発電中さん
垢版 |
2020/10/31(土) 16:46:28.16ID:PoIv2v2t
>>176をPlatformIO IDE、Arduino IDEどちらでもビルドできるように修正しました


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

https://pastebin.com/Yih6K59b


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でビルドする場合は下記のやり方でオプションを変更してください
(オプション変更に関しては自己責任でお願いします)

https://pastebin.com/E66j9e7f
0178774ワット発電中さん
垢版 |
2020/11/01(日) 12:25:15.88ID:Ggm+nbqY
MaixシリーズのArduinoでBME280をI2Cで使ってみました

SparkFunのBME280ライブラリがそのまま使えます

SparkFunのBME280ライブラリはここにあります
https://github.com/sparkfun/SparkFun_BME280_Arduino_Library


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


BME280のサンプルスケッチ
https://pastebin.com/bFk36iGX


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


ADT7410ではkendryte-standalone-sdkのI2Cのライブラリを
直接叩く必要がありましたが
BME280は一般的なArduinoと全く同じやり方で扱えます
たいていのI2CデバイスはBME280と同様に一般的なArduinoと同じ方法で使えると思います

MaixduinoではSDA、SCLと書かれてるピン
Maixduino以外の機種ではSDAが31番ピン、SCLが30番ピンです
0179774ワット発電中さん
垢版 |
2020/11/01(日) 18:43:26.31ID:Ggm+nbqY
>>176,>>177のプログラムでオプションを変更したくないという方のために
RISC-Vのインライン アセンブラの命令を倍精度浮動小数点命令を使っていたところを
すべて単精度浮動小数点命令にしたバージョンを作ってみました
これならArduino IDEやPlatformIOでオプションを変更せずに
デフォルトのオプションでビルドできます


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

https://pastebin.com/sKqhdLq1
0180774ワット発電中さん
垢版 |
2020/11/03(火) 18:09:27.88ID:91AZLfsn
>>176,177,179の修正版をつくりました

プログラムがdummy_func01を呼ばないと動作しないという変な挙動を示していたのは
アセンブラのプログラムが悪かったようです

gccのインラインアセンブラの入力オペランドで割り当てられるレジスタが
関数呼び出しで保存されないレジスタだったため
関数呼び出しで破壊されてしまうのが原因の一つでした

また、call擬似命令で暗黙的に使われるraレジスタを
インラインアセンブラで破壊されるレジスタのリストに加えてなかったのがもう一つの原因でした
これらが原因で変な挙動を示していたようです

これらを修正したバージョンを作ってみました
インラインアセンブラの入力オペランドに割り当てられるレジスタの内容は
アセンブラプログラムの最初のところで
スタックに確保したメモリに保存するようにしました

また、インラインアセンブラの入力オペランドに指定した変数は
割り当てられたレジスタに値を戻してからインラインアセンブラを終了しないと
インラインアセンブラの後に同じ関数内でその変数が使えないようなので
(これもインラインアセンブラ内の関数呼び出しでレジスタの内容が破壊されるのが原因)
アセンブラプログラムの最後に入力オペランドに割り当てられたレジスタに値を戻すようにしました
そしてインラインアセンブラで破壊されるレジスタのリストにra (x1の別名)レジスタを追加しました
0181774ワット発電中さん
垢版 |
2020/11/03(火) 18:13:19.69ID:91AZLfsn
>>176,>>177
これらの修正版はこちらです(Arduino IDEとPlatformIO IDEに対応してます)

Sipeed MaixシリーズのArduino用のRISC-V RV64IMAFCインラインアセンブラ デモプログラム(単精度浮動小数点修正版)
https://pastebin.com/LSG7pGwb

こちらは倍精度浮動小数点命令を使用せず単精度浮動小数点命令のみなので
Arduino IDEやPlatformIO IDEでオプションを変更しなくてもビルドできます
0182774ワット発電中さん
垢版 |
2020/11/03(火) 18:14:24.68ID:91AZLfsn
>>179の修正版はこちらです(こちらもArduino IDEとPlatformIO IDEに対応してます)
Sipeed MaixシリーズのArduino用のRISC-V RV64GCインラインアセンブラ デモプログラム(倍精度浮動小数点修正版)
https://pastebin.com/gvsybiG0

こちらは倍精度浮動小数点命令を使用するのでオプションの変更が必要です
(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でビルドする場合は下記のやり方でオプションを変更してください
(オプション変更に関しては自己責任でお願いします)

https://pastebin.com/E66j9e7f
0185774ワット発電中さん
垢版 |
2020/11/03(火) 18:36:06.14ID:91AZLfsn
>>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の部分は各自のユーザ名に読み替えてください
0186774ワット発電中さん
垢版 |
2020/11/04(水) 00:26:20.07ID:UWtXrnOH
M5 Stack Core2の話題ってここでいいの?
0188774ワット発電中さん
垢版 |
2020/11/04(水) 08:16:28.91ID:igpM2pWF
>>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
0189774ワット発電中さん
垢版 |
2020/11/07(土) 13:56:04.98ID:s0yOLKt3
IOエクスパンダのMCP23017をArduinoで使ってみました

ICは秋月で110円で買えます
https://akizukidenshi.com/catalog/g/gI-09486/
ボードはスイッチサイエンスで990円で買えます
https://www.switch-science.com/catalog/1650/


MCP23017はI2Cで制御します。
接続はMaixduinoではSDA、SCLと書かれてるピン
Maixduino以外の機種ではSDAが31番ピン、SCLが30番ピンです

https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library
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になってますが自分の設定に合わせて変更してください
https://pastebin.com/iaHfktTf


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

ライブラリはArduino IDEの「ツール」→「ライブラリ」の管理からも入れられます
Adafruit MCP23017 Arduino Libraryを検索してください。
その場合、ライブラリは下記フォルダに入ります
上記のようにそれを修正します
C:\Users\username\Documents\Arduino\libraries
(usernameの部分は自分のユーザ名に読み替えてください)
0190774ワット発電中さん
垢版 |
2020/11/15(日) 15:15:12.02ID:teZ1TfP2
16ch、12bitのPWMコントローラーのPCA9685をArduinoで使ってみました

秋月やスイッチサイエンスでモジュールキットが購入できます

I2C接続16チャンネル サーボ&PWM駆動キット
https://akizukidenshi.com/catalog/g/gK-10350/

PCA9685搭載16チャネル PWM/サーボ ドライバー (I2C接続)
https://www.switch-science.com/catalog/961/


https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library
ここのAdafruitのPCA9685用のライブラリがそのまま使えます


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


簡単なLチカのデモプログラムを作ってみました
全チャンネルにLEDがシンク接続されていることを想定しています
(setPWMが使いにくいのでデューティ比で指定できる関数を作ってみました)
PCA9685のI2Cアドレスは0x40に設定されているので自分のものに合わせて変更してください
https://pastebin.com/Ceq6EjTW

このようにMaixシリーズでも簡単にI2Cデバイスが使えます
ADT7410のようなkendryte-standalone-sdkを
使わないといけなくなるケースはまれなケースのようです。
I2CデバイスはSCL、SDAとGND、電源を接続するだけで扱えるのが便利ですね
0194774ワット発電中さん
垢版 |
2020/11/21(土) 09:43:35.91ID:8Rne8laZ
RISC-Vは中華の救世主だから
0195774ワット発電中さん
垢版 |
2020/11/26(木) 18:07:52.53ID:5n6CcI41
m5stackについて質問したいけど、誘導していただけませんか?
0198774ワット発電中さん
垢版 |
2020/12/04(金) 23:36:55.10ID:Dxdew/7s
RISC-Vが過疎ってるからって関係ない板にまでコピペしまくるなよな。
0201774ワット発電中さん
垢版 |
2020/12/05(土) 23:11:22.02ID:MvrFfOP9
ここは別にRISC-Vのスレじゃないぞ
K210のスレ
K210がRISC-Vコアを使ってるというだけ
SipeedやM5Stackの話が出るのはわかるが全然関係ないこと書き込まないで
0202774ワット発電中さん
垢版 |
2020/12/05(土) 23:18:23.01ID:MvrFfOP9
ESP8266とPin互換のマイコンがespressifから出るから
もう少ししたらRISC-Vマイコンのスレ立てた方がいいかな
SipeedからもDebianが走るAllwinnerのRISC-VのSoC載ったボード出るようだし
0203774ワット発電中さん
垢版 |
2020/12/07(月) 19:04:42.05ID:saiuSP3Q
コンバトラー
0204774ワット発電中さん
垢版 |
2020/12/07(月) 22:45:03.02ID:7FG541DT
>>201 踏み台になれ
ttps://www.espressif.com/sites/default/files/Screenshot%202020-11-27%20at%2009.10.15.png
0207774ワット発電中さん
垢版 |
2020/12/09(水) 23:31:26.16ID:hYI/Bs05
粘着MIPS君といい、キチガイRISC-V厨といい他の板で暴れる馬鹿はなんだろうな。

ここでやればいいのに。
0208774ワット発電中さん
垢版 |
2020/12/12(土) 20:26:14.08ID:vJi+gh0L
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
https://pastebin.com/fdWr2QJp

asm_int32_float32.s
https://pastebin.com/nw4KyE8B



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

main.cpp
https://pastebin.com/hRK8jmss

asm_int32_double.s
https://pastebin.com/4La0G7XY


注意:倍精度浮動小数点命令を使うプログラムをビルドする場合は
   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
0209774ワット発電中さん
垢版 |
2021/01/10(日) 20:22:52.83ID:l+GZE7DR
ろくに遊ぶ前にstickV電源入らなくなった
鞄に入れたまま玄関置きっぱが悪かったか?
最近氷点下続いてたし
0212774ワット発電中さん
垢版 |
2021/01/19(火) 07:20:30.57ID:dsXnHkWL
>>208
>結論から言うとMaixシリーズのArduinoではArduino IDEでビルドをしても
>アセンブラソースファイルがアセンブルされないようでビルドに失敗しました

アセンブラソースファイルの拡張子を.s(小文字のs)ではなくて
.S(大文字のS)にしたら正常にビルドできました
0214774ワット発電中さん
垢版 |
2021/01/31(日) 09:42:24.51ID:ItpTOYq3
IDEのEclipseもアセンブラの拡張子は大文字の.Sじゃないとアセンブルしてくれないね
0215774ワット発電中さん
垢版 |
2021/02/21(日) 09:39:50.59ID:f79TU8HL
Maix BitでSipeed RISC-Vデバッガーを使ってデバッグを試したけど
安定しなくてステップ実行するとMaix Bitがすぐフリーズする
やっぱり、デバッガはつかえないが無線LANが使えるMaixduinoの方がいいね
>>159の方法でArduinoでMaixduinoのオンボードのWiFi使えるし
0216774ワット発電中さん
垢版 |
2021/09/03(金) 22:02:19.57ID:+W/8ad1C
Maixduinoの液晶が壊れたけど、また同じの買うしかないのかな?
液晶目的だけならMaixbit買った方がやすいかな
0217774ワット発電中さん
垢版 |
2022/03/03(木) 07:37:45.81ID:D355cDx9
新チップきたな
世界に先駆けて、64ビットRISC-V CPUコア搭載の汎用MPU「RZ/Five」を発表 | Renesas
ttps://www.renesas.com/jp/ja/about/press-room/renesas-pioneers-risc-v-technology-rzfive-general-purpose-mpus-based-64-bit-risc-v-cpu-core
0219774ワット発電中さん
垢版 |
2022/03/24(木) 10:14:26.67ID:/JCKTgI2
ありがたや
0220774ワット発電中さん
垢版 |
2022/03/24(木) 15:39:53.64ID:8AMA94MD
シナ製品はシナの中だけで使ってろ。
露中の侵略を応援する気はない。
0221774ワット発電中さん
垢版 |
2022/03/24(木) 16:30:34.56ID:IOQZu3Pv
>>220 うーん・・・チャイナで今現在進行中の方々への侵略行為は許しがたい暴挙だけれど、
今回のウクライナに限ればロシア側にまったく道理が無いというわけでもないらしくてなぁ・・・
ぼくはゆーちゅーぶで、「ウクライナ・オン・ファイヤー 日本語字幕(字幕改正版)」てのを
見て、状況への評価が、だいぶ変わりましたぞ。
0222774ワット発電中さん
垢版 |
2022/03/24(木) 17:52:56.51ID:clJx/lG7
第三次世界大戦を起こしたい側がウクライナ問題を煽っているから
0223774ワット発電中さん
垢版 |
2022/03/24(木) 18:04:17.65ID:/JCKTgI2
M5StickV MaixPy MicroPython serial 接続で遊んでたら急に文字化けが増えて
可笑しくなって数十分後に勝手に切断された
再起動しても USB が不明なデバイスになってしまった
PC 再起動したら治るんかこれ
https://www.youtube.com/watch?v=BVaC_OXGt9k
0225774ワット発電中さん
垢版 |
2022/03/25(金) 23:44:43.09ID:fGV9Qrm0
>>221
オリバーストーンって名手だろ。
そんな人の映像を見て考え方変えているようじゃまずいのでは。
どうすれば見る人が考え方を変えるかをよく知ってる人だよ。
0226774ワット発電中さん
垢版 |
2022/03/26(土) 15:23:31.25ID:zuWUeXfO
君は書き込むスレを考え治すべきだ
0227774ワット発電中さん
垢版 |
2022/05/08(日) 14:17:01.60ID:qs+VidjG
JDSC AIの活用で、この国は変えられる、(株)JDSC/4418 テンバガー候補
https://jdsc.ai/news/ シニアマーケティングのゆこゆこ、DM等による販促サポートサービスへ JDSCのAIを導入CVRが平均2.4倍 長野県松本市 電力データとAIによるフレイル検知の実証を開始/中部電力
//dime.jp/genre/1380420/ AIであれば知床半島観光船事故の出航判断を誤ることはなかったかもしれない 2022.05.08 @DIME

https://jimin.jp-east-2.storage.api.nifcloud.com/pdf/news/policy/203427_1.pdf デジタル・ニッポン 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
レスを投稿する


ニューススポーツなんでも実況