がれすたさんのDIY日記

電子回路、Python、組み込みシステム開発、自作エフェクターを語るblog

MXR mini iso-brickの解析

最近アイソレートサプライが標準になってきて値段が落ち着いてきたのでMXR mini iso-brickを購入してみました。 この記事では、使った感想よりも回路側にシフトして解説していけたらと思います。 導入 購入のきっかけを説明するために現在販売されているアイ…

Seeed FusionPCBで基板を作った話

タイトル通りの話ですがSeeed FusionPCBで基板を発注した話です。私自身FusionPCBというサービスを知ってから数年たちますが、最近ではつぎつぎに新しいサービスを展開し非常に勢いのあるメーカーであると感じます。www.fusionpcb.jp ブランド紹介も済んだと…

KiCadのバスについて

導入 KiCadにはメモリバスなどの同種な信号線をまとめるバス機能がある。 バス機能を使うことで回路図の見栄えが良くなったりするので覚えておいて損はない。 今回はそれのやり方とTipsを紹介しようと思う。 使い方 画像のようにローカルラベルをD0~D7を配置…

作業環境をちょっとよくしたはなし

本当にお久しぶりです。 6か月以上ブログ更新をさぼっておりましたが、久々の更新ということで最近あったこと、タイトルの通り作業環境の更新だったりを書こうと思います。まずここ数か月何をしてたかというと2月 修士論文報告会 3月 研究の引継ぎおよび卒業…

littlevGL シミュレータを使うメモ

littlevGLのシミュレータを使う時の導入メモ 公式の解説だけだと少しはまったのでまとめておくという感じ。 尚littlevGL 6.0を対象に進めていきます。 なんか8月に下書きでかいてて2020年1月21日現在いつの間にか6.1になってましたがマイナーアップデートな…

MIMXRT10xxのeFlexPWMを使ってPWM信号を出力する。

今回はどのマイコンでもよく使う機能の一つでもあるPWMについてやっていく。 MIMX系のマイコンではeFlexPWMというペリフェラルがそれにあたる。特徴を解説したいところですが長すぎたのでRMのFeatures部分を貼っておくので読みたい人は該当部分を読んでくだ…

MIMXRT10xxのADC External Trigger Controlを使ってみる(software trigger編)

概要 今回はMIMXRT10xxのExternal Trigger Controlについてやっていくことにする。ADC External Trigger Control(以下ADCETC)は下図に示すようにADCモジュールと他のペリフェラルをつなげてコアの介在なしにデータ転送(DMA使用)したりトリガ変換したりでき…

Seeed Arch Mixで始めるi.MX RT1052(2)

前回は基礎的なことをやりましたが初回の手間が多かったように感じます。 コンフィグの際メモリをQSPIに変更 メモリサイズの変更 XIPのコード編集 毎度新規プロジェクトを立てるたびにこれをやるのは非常に手間です。 そういうわけで今回はこのようにSDKプレ…

Seeed Arch Mixで始めるi.MX RT1052(1)

今回はSeeedStudioが出しているArchMixを使ってi.MX RT1052入門をやっていくSeeed Arch Mix上記の写真にあるようにかなりコンパクトに収まっている。 また値段も$29.90であり半端ない。 USB、SD、SDRAMも使えるのでお安くi.MX RTに触れたい人にとってもおす…

MCUXpressoSDK USB Device StackでMIDIStreamingSubClassを使う2

前回はディスクリプタを編集して認識まで行った。 今回はMIDIの送受信が可能となったのでそれの紹介上に示すのがevkbimxrt1050_dev_audio_generator_bmのsourceフォルダの中身。 枠で囲ってある部分が今回やる部分ソフトウエアはevkbimxrt1050_dev_audio_gen…

MCUXpressoSDK USB Device StackでMIDIStreamingSubClassを使う1

MCUXpressoSDK USB Stackの中のAudioクラスにMIDIストリーミングサブクラスを追加してPCからUSB MIDI機器としてとして認識できるようになったという感じです。 めちゃめちゃ長ったらしい説明ですがSDKにもともと入っているaudio_generator_lite_bmというサン…

MIMXRT10xxのUART DMAメモ

前回は割り込みについてやったので今回はDMAについてメモを書く 参考には公式サンプルのlpuart_edma_transferを使うのでそれを参考にしてください。公式サンプルが動作コードなので使い方的なのは解説しません DMA部分のメモ ポーリング、割り込みとは違いDM…

MIMXRT10xxのUART割り込みメモ

UARTの割り込みについて少し迷ったのでメモ代わりに残しておく。 コードに関しては公式のサンプル内にあるlpuart_interrupt_rb_transferってやつを参考に解説しているので全容はそっちを見てください。 送受信APIの確認 まず割り込みには以下に示すの二つのA…

PySide2でQtQuick(qml)使うメモ3

今回はPySide2とPySerialを組み合わせて使うメモやることとしてはQMLで作成したGUI側でイベントを発生させてシリアルで何か送信してマイコンを制御するという感じ つくったのはこんな感じのやつCOMの選択をしてオープンをすると5~7のオブジェクトが表示され…

PySide2でQtQuick(qml)使うメモ2

前回に引き続き今回もPySide2+Qtquick(qml)のメモGUIだと結構定番の電卓っぽい奴の実装 Button押下でイベント発生させてTextInputからデータもらってTextInputに返すサンプルだと思ってくれればいい Pythonコード import sys import os from PySide2 import…

PySide2でQtQuick(qml)使うメモ1

自分用のメモです。自分の動作環境は PyCharm 無料版 Python 3.7.4 or 3.6(仮想で両方で試した) Pycharm内臓のVenvでパッケージ管理 導入 PythonでQtを扱うにはPyQtとPysideの2つがある。verごとに書くとこんな感じ Qt4 : PyQt4,PyiSde Qt5 : PyQt5,PySid…

MIMXRT10xxのUARTを使ってみる(ポーリングAPI)

今回はUARTについてやっていきたいと思います。 prinfに関しては評価ボードを使う限りは初期プロジェクト作成でリンクしてくれるので説明はしません。あくまでbyte転送APIで何か送るという感じですね。環境としては以下を例に説明しますがRT1020でもRT1015で…

MIMXRT10xxのADCを使ってみる

今回はMIMXRT10xxシリーズのADCを使ってみようと思う。 ペリフェラルの特徴としてまとめると 1MS/sec sample rate 1モジュールに8つのシングルエンド入力 single conversion と continuous conversionに対応 12bit,10bit,8bitに対応 下限値、上限値、値の一…

2019年版 STM32環境構築方法

以前よりSTM32について結構な数の記事を書いてきました。 最近ではAtollicTrueStudioが無料になったり、CubeMXが5.0になったり いろいろ変わった経緯もあり2019年版と題して新しく書いたほうが良いのでは?となったわけです。現状AtollicがSTに買収されてCub…

MIMXRT10xx series dcd table Tips part2

前回は解釈の仕方を書いたので今回はクロックに絞って全容をつらつら書く感じ。 ぶっちゃけ前回の記事で必要なことは書いたのでこれは読みたい人が読んでくれればいい。そんなmini tips的なやつ本記事の環境は以下の通りです。 MIMXRT1050-EVK SDK ver 2.5 …

MIMXRT10xx series dcd table Tips part1

MIMXRT10xxシリーズは内部ROMを持たないわけで起動するのにひと手間かかる。MIMXRT10xxにはIVT(image ventor table)なるものがあってそいつを設定してあげる必要がある。 そうすることで内部ROMのブートローダー(IMXRTの内蔵ブートローダーのこと)が値を解…

MCUXpressoIDE ライブラリ変更方法(ex. redlib->newlib)

library変更もProject setting項目からできるlibraryの変更プロジェクトのsetting画面からもできる(プロジェクトを右クリック->propertyをクリック)newlibを使うとmalloc関連もできる。malloc.hの利用

MCUXpressoIDE MCUのパッケージ変更を簡単に行う方法

プロジェクトのProjecting setting/MCUを右クリしてEdit packageでいける

MIMXRT1052CVL5Bを使う際のTips

MIMXRT1052の場合 コンシューマ向けのは600MHz、工業用途の場合528MHz駆動となっている。 MCUXPressoIDEで新規プロジェクトを作った際にはMIMXRT1052DVL6B向けの設定で吐きだされる。 今回はMIMXRT1052CVL5B向けのプロジェクトの設定や変更しないといけな部…

MCUXpresso SDK Shellの使い方

MCUXpresso SDK Shellはなんぞ? 組み込み用Shellのことです。Shellの動作例SDKに最初から組み込まれているので選択するだけで楽に使えますしprintfとのリンクもIDEがやってくれるので便利です。使い道としては 信号処理のパラメータの変更 内部データのダン…

CMSIS DSP とコンパイル最適化オプション

(adsbygoogle = window.adsbygoogle || []).push({}); 色々試してたらGCCの場合最適化しないとFPU命令呼んでくれないっぽい optimize入れるとちゃんと呼ばれてる i.MX RT1020(CortrexM7 DP FPU)のSQRTしか試してないのであれですが入れとくに越したことはな…

Eclipse expression機能のメモ

(adsbygoogle = window.adsbygoogle || []).push({}); mallocとかで確保した変数のスコープをする方法 //変数名がsdram_bufferとすると (*sdram_buffer@200) @の後の数字で何個表示するか設定できる。

MIMXRT10xxでwavファイルを組み込む方法

(adsbygoogle = window.adsbygoogle || []).push({}); 今回は組み込みでbinファイルだったり、wavファイルを組み込む方法を紹介しようと思います。 RT1020と書いていますがSTM32とかでも同様なことができます。環境は以下の通り MCUXpresso IDE v10.3.0 [Bui…

MCUXpresso IDEのペリフェラルコンフィグツールを使ってみる

(adsbygoogle = window.adsbygoogle || []).push({}); MCUXPresso IDEがアップデートされてペリフェラルコンフィグツールが実装されたのでそれを使っていろいろやってみたいと思います。 STM32でいうCubeMXみたいなもんですね。今回のシステム要件は以下の通…

はてなで数式やコードを扱う時のTips

自分なりに気を付けてることのメモ 編集モードははてな記法 (adsbygoogle = window.adsbygoogle || []).push({}); 数式について 数式を記述する際は [tex: ]を使うわけだが 以下のように一回書いておけばmath機能が有効になるみたい <p style="display: none;">[tex: ]</p> すると \begin{e…