
前々回、トラぶりながらもなんとかDMACを動かしてみました。しかし、SAMD51にはもう一つDMACがあることに気づきました。ICMというものです。ぶっちゃけメモリのある領域のハッシュ値を計算してくれるDMACです。監視対象のメモリが書き換わってしまったら割り込みをかけるなどということも可能。流石近代的。 “IoT何をいまさら(101) ATSAMD51、ICM、ハッシュ計算をする専用DMAC” の続きを読む
デバイス作る人>>デバイス使う人>>デバイスおたく
前々回、トラぶりながらもなんとかDMACを動かしてみました。しかし、SAMD51にはもう一つDMACがあることに気づきました。ICMというものです。ぶっちゃけメモリのある領域のハッシュ値を計算してくれるDMACです。監視対象のメモリが書き換わってしまったら割り込みをかけるなどということも可能。流石近代的。 “IoT何をいまさら(101) ATSAMD51、ICM、ハッシュ計算をする専用DMAC” の続きを読む
前回、定番の圧力センサ Bosch BMP280の補償計算をなんとかやっつけてMicroPythonで気圧と温度を測れるようになりました。今回は測った結果を、例によってMQTTに載せてNode-REDへ報告し、Dashboard上にグラフ表示してみます。まずは前回プログラムのモジュール化から。
前々回、温度と湿度を測ってNode-REDに報告しました。今回は気圧も測るべしということで、定番の圧力センサBosch BMP280をMicroPythonから制御してみることに。ただし読み取りは自前のコードで実施。簡単に圧力読めるものと思っていたら、補償の計算大変なのね。自分でやってみないと身にしみませぬ。
今回はラズパイPicoのDMAC(Direct Memory Access Controller)を使ってみるために、前回の母艦PCのArduino環境から母艦ラズパイ4のC/C++SDK環境に戻ってまいりました。とりあえず最低線ということでソフトウエアトリガのメモリ間転送をやってみたのですが、ラズパイPicoのSDK楽です(別シリーズでやったDMAC実験に比べ。) “鳥なき里のマイコン屋(145) ラズパイPico、C/C++SDKでDMAを使ってみる” の続きを読む
今回は、CISC風に言うと 無条件JMP、CALL、RETといった制御転送系の命令です。しかし例のごとくで、RISC-Vには CALL に相当する JALとJALRしかありません。「ジャル」一つでJMPもRETも皆やってしまう。清々しいというのはこういうものを言うような気がします。書き方は結構なんでもあり、なんだけれども。 “ぐだぐだ低レベルプログラミング(37) RISC-V、無条件JMPもRETも皆CALL” の続きを読む
1か月以上前にESP-EYEというAIカメラ的デバイスを手に入れたのに全然進んでおらなかったのが、その活用の前提となるESP32-IDF環境をセットアップするのを躊躇していたためであります。ハマりそうな予感がして逃げてたのですが、ようやく本日セットアップ。とりあえずDevkitCでHello worldできました。チョイとハマったけれども。
Microchip社のArm Cortex-M4コア搭載「近代的」ATSAMD51 マイコンの周辺機能をレジスタレベルでプログラムしてその操作を噛みしめておりますシリーズ、今回はDMACであります。昔からあるDMAですが、近代化したマイコンのそれは機能も増えていろいろできます。その分設定はメンドいです。たった1バイトの転送設定に大わらわ。
前回、メモリアドレスをロードする小技をやったので、今回のロード、ストアでそれを使うかと思っていたですが、その影もありません。単純な命令テストだな。だって時間無かったのだもん。すみません。まあ一応RV32Iが定義しているロードストア命令の全種類を網羅、といっても8個ばかりですが。
前回、ATOMLiteで温湿度を測ってサーバーのNode-REDに報告をあげるようにいたしました。測定テストで温湿度の日変化を測るべし、とてATOMLiteを動かしたまま眠りについて発覚しました。アイキャッチ画像を御覧じろ。25時?RTCがそういうこと言う?私のバグでした、トホホ。NTPで得たUTCと、報告用のJSTの変換の間違い。
前回、PlatformIOがいつの間にかラズパイPicoのRP2040に対応(Arduinoプラットフォームのみ)していたので吉例のLチカでその動作を確認しました。今回は、外付けのRTCからカレンダ時刻を読み込んで「使えるじゃん」と納得する、と。普通にArduinoのつもりでプログラムできる感じなのでSDKに比べると大分敷居が下がった感じもします。個人の好みだけれども。