問題タブ [nxp-microcontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
182 参照

arm - lpc812 nxp MCU の SWM 列挙

lpc812 MCU には SWM 機能があり、開発者は各周辺機器 (SPI、UART など) を目的の GPIO ピンに割り当てることができますが、一部の特別な周辺機器はデフォルト状態で固定ピンにしか割り当てられません。これらのピンに新しいペリフェラルを追加するには、最初に固定ピンの機能を次のように無効にする必要があります。

どのSWM_FIXED_VDDCMPが以下の列挙型のメンバーであるか

そして、これはチップのデータシートです: LPC812のデータシート

ACMP1 と ACMP2 でできるように、それらは GPIO 0.0 と GPIO 0.1 と同等ですが、他の例では SWM_FIXED_VDDCMP は GPIO 0.6 で列挙型の 9 番目のメンバーです。たとえば、上記のようにChip_SWM_DisableFixedPin(SWM_FIXED_VDDCMP); 、ピン 6 から VDDCMP 固定機能を無効にすると、このピンに新しい周辺機器を割り当てることができますが、データシートでは VDDCMP はピン 6 ですが、列挙型では 8 に等しいのはなぜですか

0 投票する
2 に答える
1142 参照

arm - SPIFI フラッシュを備えた LPC4330 を使用してブートローダーを実装する方法

将来の設計で NXP LPC4330 マイクロコントローラーを使用することを検討しています。必要な機能の 1 つは、ブートローダーを使用して現場でフラッシュを更新する機能です。過去に NXP IAP コマンドを使用してこれを実行しましたが、4330 は SPIFI フラッシュを使用するため、IAP は使用できません。

私が収集したものから、ブートローダー アプリケーションは RAM から実行する必要があり、NXP の SPIFI ライブラリを使用してフラッシュに書き込むことができるようです。私の質問はこれです:

IAR Embedded Workbench を使用して、フラッシュから開始し、RAM 経由で実行を開始して SPIFI チップに書き込むプログラムを作成するにはどうすればよいですか? 以下の例を見ましたが、LPC4330 に移植する方法が不明です。スタートアップ コードでコードを RAM にコピーしたと思いますが、割り込みベクター テーブルを RAM にコピーする方法や、RAM から実行を開始する方法がわかりません。 https://www.iar.com/support/tech-notes/general/execute-in-ram-after-copying-from-flashrom-v5.20-and-later/

0 投票する
1 に答える
537 参照

c - タイマーリセットなしでLPC11CXXシリーズマイクロコントローラーでPWM出力をセットアップする方法

背景: 私が取り組んでいるこの LPC11C24 マイクロコントローラーは、単一の 32 ビット タイマーを使用して 1 つのピンで PWM 入力を読み取り、他の 2 つのピンで PWM 出力を制御します。入力と出力が同じタイマー上にあるため、タイマー レジスタ (TC) のリセットは行いません。特に出力については、信号がHIGHになるか信号がLOWになるかのいずれかの時間で一致レジスタが継続的にインクリメントするように設定しようとしています。

例: 周期が 10000 ティックで、デューティ サイクルが 50% の場合、割り込みが発生するたびに MR0 に 5000 を加算して、次の割り込みに備えます。

初期化:

ISR:

このピンを調べても何も出力されないので、何が間違っているのかわかりません。私が抱えているもう 1 つの問題は、外部コード (基本的に MR0 = TC を設定するだけ) から新しいデューティ サイクルを提供する場合を除いて、割り込みが発生しないことです。TC が MR0 よりも進んでいるためだと思いますが、それを防ぐ方法がわかりません。どうもありがとう!追加情報を提供できるかどうかお知らせください。

0 投票する
1 に答える
2426 参照

linux - NXP i.MX6 に組み込まれた Electron

今年の初めに、フレームワーク Electron (Github 製) を使用してアプリを開発し、購入した SBC に組み込みたいと考えています。SBC は DIGI の ConnectCore6 で、NXP i.MX6 プロセッサに基づいており、HDMI で画面に接続されています。

この SBC の Linux イメージを Yocto で生成し、GTK および QT アプリケーションをロードできます。ただし、このハードウェア用に互換性のあるバージョンの Electron アプリを作成することが簡単か、難しいか、または不可能な作業かを理解したいと思います。

Electron が PC (Windows、Linux、および OS X) で動作するために何が必要であり、同じ結果を得るために SBC でセットアップする必要があるかわかりません。

ボード上で Electron アプリを実行する方法を教えてください。

ありがとうございました

アントワーヌ

0 投票する
2 に答える
871 参照

assembly - .word を .equ に変更する際に問題が発生する

マイクロコントローラー (FRDM-KL25Z128 を使用) に関するこのラボ クラスを受講していますが、ディレクティブ .word および .equ に問題があります。

まず、教授から提供されたサンプル コードは、FRDM ボードの赤い LED を点滅させるためのもので、次のとおりです。 exp2.s

コードを修正して 3 つの LED を同時に点滅させて白色光を生成する前に、いくつかの質問に答えなければなりませんが、それはここでは問題ではありません。

コードの下部では、すべてのレジスタ アドレスが .word ディレクティブで定義されています (32 ビット ワードを使用しているため)。質問の 1 つは、ディレクティブ .word を .equ に置き換えることができるかどうかということです。

私の最初のことは、はい、最後のディレクティブが定数値をラベルに割り当てているため、.equ の代わりに .word を使用できるということでした。これらのラベルの値を変更したくないので、.equ を使用しても問題ありません。

しかし、私がそれをテストしたとき、それらの行にコメントを付けて:

そして書く:

SIM_SCGC5 ラベルに値 0x40048038 を割り当てる必要があります。しかし、コードは機能しません。次の行でエラーが発生します。

言います:

無効なオフセット、値が大きすぎます

したがって、.equ ディレクティブを間違えたのか、それともデフォルトで .equ が LDR が処理できるよりも多くのビットを占有する値を割り当てているのかはわかりません。

ここで何が問題になる可能性がありますか?

いくつかのメモ:

  • マイクロコントローラーと一緒に Assembly でコーディングを開始しているため、ハードウェアの制限など、まだ多くの情報が不足しています。だから、知らないうちにたくさんのランダムな単語を書いたかもしれません。

  • 準備期間が長くなり申し訳ありません。長い投稿が Stack Overflow (または一般的な Stack Exchange) のお気に入りではないことはわかっていますが、文脈のない質問を投げたくなかったのです。

0 投票する
1 に答える
395 参照

microcontroller - マイクロコントローラの関数の時間測定

プロジェクトに 2 つのマイクロコントローラーを使用しています。両方のマイクロコントローラーの内部タイマーを使用して、コードの実行時間を測定したいと考えています。ただし、1 つのマイクロコントローラーのタイマーは 32 ビット値までカウントし、2 番目のマイクロコントローラーのタイマーは 16 ビット値までカウントしてから再起動します。コードの実行時間が 16 ビット値を超えることはわかっています。この問題の解決策を教えてください。(GPIO ピンをオンまたはオフにしても、有用な結果は得られません)