ガレスタさんのDIY日記

電子回路、Web、組み込み、自作エフェクターを語るblog

i.MXRT1050

i.MX RT1050 SAIメモ3

今回からやっとSDKのほうに入っていく。割り込みのサンプルコードベースでみていく まずは構造体のインスタンス生成を行っている sai_config_t config; sai_transfer_format_t format; configは主にプロトコルとクロック供給の設定項目をもつ構造体 typedef …

MCUXpresso SDK:コーディック周りのHALについて

オーディオフレームを書くにあたっていろいろ調べていたのでそれのメモがてら書いています。 IMXRT1020のコーディック周りは fsl_codec_common.h fsl_codec_common.c fsl_wm8960.c fsl_wm8960.h の4つからできています。WM8960_WriteRegの中でCODEC_I2C_Wri…

アドレス配置__attribute__について

以前も同じような記事を書いたのだがもうちょいかいつまんで書いていくことにした。 i.MX RT1050のコードの一部の紹介 #if defined(__CC_ARM) || defined(__GNUC__) __attribute__((section(".boot_hdr.ivt"))) #elif defined(__ICCARM__) #pragma location=…

IMXRT1050 General Purpose Timer (GPT)

General Purpose Timer (GPT) 前回はPITでしたが今回はもう少し機能があるGPTの話です。言葉でつらつら書くのが得意ではないので概要をまとめてみた 32bit アップカウンタタイマー 入力キャプチャに対応 キャプチャはrising edge,falling edgeに対応 output…

IMXRT1050 Periodic Interrupt Timer : タイマーのチェイン

今回もタイマーの記事です。 PITの基礎に関しては前回のここを読んでいただければいいかと思います。gsmcustomeffects.hatenablog.com 今回はTimer0とTimer1をチェインさせて長めのインターバルを作っていこうと思います。 When a timer has chain mode enab…

IMXRT1050 Periodic Interrupt Timer 基礎編

Twitterなどでリンクハイライト表記になってしまうので今回からIMXって表記に変えました。 RT1050で検索されれば引っかかるので特に問題ないでしょう。 PIT(Periodic Interrupt Timer) Periodic(周期的な)タイマーです。 Kinetisの頃からあったペリフェラ…

IMXRT1050 FlexRAMについて その2

FlexRAM関連のサンプルを眺めていて疑問に思ったことがある。 今回はその戯言の塊を書いていこうと思う マニュアルにのってないよ? リファレンスマニュアルのレジスタの一覧はこうなっている サンプルを見るとアロケーション外のアクセスがあった時割り込み…

IMX RT1050 FlexRAMについて その1

ここ最近本格的にこのチップでの開発を始めて数ヶ月経った。 こいつはRAMオンリーということもあり初期設定のままではコードが入らなくなって来た。(初期設定ではコード、データ、ヒープスタックがITCMにリンクされるようになってるため) どうやら色々調べて…

MIMXRT1050-EVKでスイッチ入力を使う手順

今回は今後よく使うであろうスイッチ入力をやって行く。 まずボードにあるタクトスイッチは以下の四つである SW2 ON/OFFスイッチ SW3 リセット SW4 デバッガチップリセット or bootloader mode SW8 ユーザースイッチ ここで SW2はON/OFFスイッチになっており…

i.MX RT1050 SAI概略

一番最初に書くべきだったけど許してください SAI(Synchronous Audio Interface) マルチなプロトコルに対応したオーディオペリフェラルのこと。 最近のSTM32「Serial Audio Interfaceと呼ばれてる」とかにも載っている.図を見てもらえればわかる通りに二つの…

i.MX RT1050 SAIメモ2

今回はレジスタのまとめ TCR.....とかRCR......とかで実際に何してるかわからんので概略でも示せたらなと思ってまとめた。 一応Tx側だけ書いてみた。暇があればRx側もやろうかな VERID(Version ID) Verを示すレジスタ。 この辺はMCUXpressoSDK使う分に勝手に…

i.MX RT1050 SAIメモ1

自分用メモです。 割り込みに関してFIFO Request Flag FIFO Warning Flag FIFO Error Flag Sync Error Flag Word Start Flag がある。 ここでよく使うものについてだけ触れておこうと思う。 FIFO Request Flag FIFO闘値の割り込みのこと。 あらかじめ設定し…

MCUXpresso SDK attribute sectionマクロについて

自分用メモです。(皆さんの参考になれば幸いです。ものとしてはcr_section_macros.hにて定義されている配置変更マクロについてです。 本来はgnuの拡張機能で __attribute__ ((section("セクションの名前”))) と言う書き方をする。これを簡易化するためのマ…

i.MX RT1050 : XIPで起動する

題名にある通り今回はXIP機能を使って外部のHyperFlashからプログラムを実行して行く 実習環境 MIMX RT1050-EVK(OpenSDA firmwareは最新のものでHyperFlash版にアップデートしたもの) MCUXpresso IDE(10.1.0_589) MacbookPro 2012 (MacOS HighSierra) XIP(eX…

i.MX RT1050のデバッグ速度が遅い問題について

こんばんわ最近進捗なくてすいません・・・・ 一応開発は続けています。というわけで今回はRT1050のデバッグが明らかに遅いと言う問題に遭遇したのでそれについて書いていきます。まず前提条件について このチップに関してはROMレスということもあり起動方法…

i.MX RT1050の評価ボードがとどいた。

早速ですが届きました。デケェわ pic.twitter.com/NccJCLhKZx— . (@GarageStyleMsc) 2017年11月16日簡単にいえば600MHz動作できるCortexM7マイコンが乗ってるボードです。 以前キャッシュの話をしましたがこいつは32KBのキャッシュがあるので強いなぁと感じ…