がれすたさんのDIY日記

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

i.MXRT1050

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) @の後の数字で何個表示するか設定できる。

i.MX RT1020で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みたいなもんですね。今回のシステム要件は以下の通…

MCUXpresso SDKが新しくなった

いつもの間にか新しくなってた。 というかIDEもMCUXpresso Config Toolsも新しくなってたねとりあえずRT1020のMCUBOOT入ったのでうれしいって感じかね

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の頃からあったペリフェラ…

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のキャッシュがあるので強いなぁと感じ…