Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
デフォルトのワークスペース こんにちは、 MCUXpressoIDE v.24.9.25を使っています(新しいバージョンを使うことはできるのですが、何らかの理由で24.9.25を使う必要があります)。「C:\NXP\MCUXpressoIDE_24.9.25\ide\configuration\config.ini」で確認できます。osgi.instance.area.default は「@user.home/Documents/MCUXpressoIDE_24.9.25/workspace」なので正しいです。 しかし、Windowsのユーザーセッションを閉じて他のユーザーで新しいセッションを開くと、MCUXpressoIDEを実行するとデフォルトのワークスペースが最初のユーザーのワークスペースになるため、各ユーザーがそれぞれ自分のディレクトリを持っているため、2番目のワークスペースディレクトリに変更する必要があります。 どうやらosgi.instance.area.default はうまく動作していないようです。なぜなら、@user.home/Documents/MCUXpressoIDE_24.9.25/workspaceが各ユーザーのホームであるはずなのに、常に最初のログインユーザーを受け入れるからです。 どうやって再構成すればいいですか? ありがとうございます。 #mcux Re: Default workspace こんにちは、 「これをデフォルトとして使用し、再度質問しないでください」というセル機能が有効かどうか、確認の手伝ってもらえますか? 「これをデフォルトとして使用し、再度質問しない」オプションにチェックを入れると、MCUXpresso IDEは常に選択したワークスペースが開いた状態で起動します。ワークスペースを選択する際にこのチェックボックスを選ばないことをおすすめします もう一つのワークスペースをユーザー 2に追加して「最近のワークスペース」に残すと、アプリを開く前に希望のワークスペースを選択できます また、タブウィンドウ > 環境設定 > 一般 > 起動とシャットダウン > ワークスペース 起動時にワークスペースの選択を促すメッセージを表示するように設定します。 敬具、ルイス
View full article
FEE INIT into hardware Hello, I want to use FEE to store data, according to S32K344 After configuring the example, during the init process, I entered the hardware. I tried unlocking the C40 beforehand, but it still didn't work. I used SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311_DS_updatesite. S32DS 3.6.3   Re: FEE INIT进hardware Hi@ LJH1 I'll take some time next week to check it out for you. 回复: FEE INIT进hardware It's not an NXP development board, it's the 8MHz board used by our hardware engineers. Re: FEE INIT进hardware The previous project was based on RTD 4.0.0, and maintenance and development primarily used this version. We will only switch to the new RTD version if we stop maintaining the old project, as the company needs a unified version. Re: FEE INIT进hardware Hi@ LJH1 I see that a total of two issues were created, both based on RTD 4.0.0. I'd like to ask why we're still developing on this version. Our RTD version has already been updated to RTD 7.0.0, and many older versions... The bug has been fixed in the new version. If possible, I recommend that you install and use the latest RTD version. If for some reason I have to use RTD 4.0.0, then I will take some time to check the program you provided. Also, I'd like to clarify what hardware you are using? I see in the project you provided that the external clock is set to 8MHz, which shouldn't be our NXP development board. Re: FEE INIT进hardware Hi@ LJH1 The pre-compilation options for the “MemAcc” component are incorrect.
View full article
MCUXpresso Config Tools : Pins Toolの使い方 (日本語ブログ) 目次 はじめに Pins Toolはどのような場面で活用するのか Config Toolsのインストール Pins Toolの画面構成 Pins Toolの基本 ~信号はどこからどこへ流れるのか?~ デモンストレーション:ピン設定を変更し、LEDの点滅色を変更する おまけ - ピン一覧をドキュメント(Excelファイル)で確認する   はじめに  本記事では、MCUXpresso Config Toolsに含まれ、ピンの設定をおこなう「Pins Tool」について解説します。「Clocks Tool」の使い方については、以下の記事をご参考ください。 MCUXpresso Config Tools : Clocks Toolの使い方 (日本語ブログ) 最近のMCUには多くのペリフェラル機能が集約・統合されており、それに伴いピンの数も200ピンを超えるようなMCUも出ています。MCUのピン設定は柔軟に使えるように設計されており、1つのピンで複数の機能(信号)を切り替えて使うことができます。また、同じ機能でも複数のピン候補から選べるようになっています。柔軟性が高い分、設定は非常に複雑です。 そのため、どの機能をどのピンに割り当てるか(ピン・マルチプレックス設定)は、設計初期の重要かつ大変な作業の一つです。そこで活躍するのが、MCUXpresso Config Toolsの「Pins Tool」です。 Pins Toolを使うことで、ピン割り当てや電気的設定をGUI上で直感的に行い、その結果をコードとして自動生成することができ、手作業による設定ミスや競合(コンフリクト)を避けることができます。 VS Code環境からConfig Tools内のPins Toolを開き、はじめにツールの使い方を解説します。その後、ピン設定を変更し、LED点滅色を変更するデモンストレーションを紹介いたします。   Pins Toolはどのような場面で活用するのか? 既存のピン設定を確認したいとき ピンの競合(コンフリクト)を避けて設計したいとき (*誤って競合した設定をすると視覚的に分かりやすくエラー箇所が表示されます) プルアップ/プルダウンやドライブ強度などの電気的設定をGUIで調整したいとき ピン設定コードを自動生成したいとき   Config Toolsのインストール VS Code環境におけるConfig Toolsのインストール方法について解説します。 ※MCUXpresso for VS Codeのインストールがお済みでない方はこちらのブログをご参照ください。 MCUXpresso for VSCとSDKのインストール (日本語ブログ) VS Codeを起動後、左側のパネルからMCUXpressoを選択し、Quick Start PanelよりOpen MCUXpresso Installerをクリックしてください。 Installerが立ち上がりますので、MCUXpresso Configuration Toolsを選択し、右上のInstallをクリックしてください。 (今回のブログではMCUXpresso Config Tools v26.03 をInstallしています) インストールの開始と同時にMyNXPへのログインを求められます。 ログインの後、License Agreementが表示されますので内容をご確認のうえ同意してください。 ※インストール後は、VS Codeを再起動してください。 Q. もしインストールに失敗した場合は? A. 以下ウェブサイトからのご自身のPC OS環境に応じたインストーラーをダウンロードして、お試しください。 MCUXpresso Config Tools | NXPマイクロコントローラ (MCU) 向けソフトウェア開発 | NXP Semiconductors) インストールを進めると初期画面で以下のような画面が表示されますが、該当がなければ閉じて問題ありません。 VS CodeからConfig Toolsを呼び出すにはSDKをインストールし、サンプルをインポート後、プロジェクトを右クリックすると Open with MCUXpresso Config Toolsが現れますので、こちらをクリックしてください。 ※この一連のプロセスは最後のデモンストレーションで詳細に説明するので、ここでは割愛します。  しばらくするとConfig Toolsが起動します。 なおMCUXpresso IDEを使用している場合、Config Toolsは標準で統合されており、上部タブから直接起動できます。   Pins Toolの画面構成 Config Tools起動後、画面右側のパネルでツールの切り替えが可能です。 今回は「Pins」を選択します。 Pin Tool内の主要なビューについて説明します。 Pins : ピン単位でペリフェラルの割り当てを行う Peripheral Signals:ペリフェラル単位でピンの割り当てを行う Package:チップのピン配置を可視化 Routing Details:各ピンとペリフェラルの接続関係や入力/出力設定を行う Problems:設定内容に関するエラーや警告が表示される 続いて、設定において最も重要となるRouting Detailsについて深堀りして見ていきます。 # : MCUパッケージ上の実際のピン番号(位置)を示す。 Peripheral : ピンに割り当てられているペリフェラルを示す。 Signal : ペリフェラルの信号を示す。UARTであればTX/RX、SPIであればSCKやMOSIが表示される。 Arrow: 接続方向を示す。 <->:双方向 <- :ペリフェラルへの入力 -> :ペリフェラルからの出力 Routed pin/signal:ペリフェラルの信号が接続されるピンもしくは内部信号を示す。 Label : 任意に設定可能なラベル。 Identifier:コード生成時に使用される識別名。この識別名が #define マクロとして自動生成され、アプリケーションコードから参照される。 Direction:ピンをGPIOとして使用する場合の入出力方向(Input or Output)を指定。UARTやSPIなどの信号は、あらかじめ入出力方向が決まっているため、Directionは参考表示となる場合がある。 ピン設定に誤りがあり、エラーが発生するとProblemsビューにはエラーの発生箇所と原因が表示されます。またその他の箇所にも赤色でハイライト表示されるため、問題箇所を視覚的に特定できます。 下記図では、B12ピンに対して複数のペリフェラルが設定された状態、つまり競合(コンフリクト)が起きています。   Pins Toolの基本 ~信号はどこからどこへ流れるのか?~ 実際にツールを操作する前に、Pins Toolが何を設定しているツールなのかを整理しておきましょう。 Pins Toolでは 「信号がどこから来て、どこへ流れるか」 という観点でピン設定を行います。 この“流れ”には、大きく3つのパターンがあります。 ① 外部の信号をMCUに取り込む(ピン⇀ペリフェラル) まずは入力です。外部のセンサやスイッチ、他のICからの信号をピン経由でMCU内のペリフェラルに取り込むケースです。  Routing Details上の”+”をクリックすると行を追加し、直接入力できます。  下記図の例では、「リセットボタンSW1からの入力された信号をF3ピン(RESET_B)経由でMCUに取り込むこと」を示しています。 ② MCU内部の信号を外部に出す(ペリフェラル⇀ピン) 続いて出力です。MCU内部のペリフェラルからピンを介して外部に信号を出すケースです。 下記図の例では、「内部ペリフェラル(FlexSPI)の信号(FLEXSPI_B_DATA0)をK3ピンに割り当て、その信号を外部へ出力すること」を示しています。 ③ 内部で完結する接続 (ペリフェラル⇀ペリフェラル) 最後に内部ペリフェラルの出力を別の内部ペリフェラルの入力に接続するケースです。 下記図の例では、「PWMのトリガ信号(PWM0_A0_TRIG0)を、内部ルーディングによりADC0のトリガ入力(TRG CH0)として使う」ことを示しています。 この場合は外部ピンを経由しないため、左端のピン割り当てを示す”# “はn/aとなっています。 実際の多くの設計では、外部との入出力となる①・②のケースが大半を占めます。 ③の内部接続は、より高度な制御や最適化を行う際に使用されます。   デモンストレーション:ピン設定を変更し、LEDの点滅色を変更する ここからは実際にPins Tool上でピン設定を変更し、評価ボード上のLEDの点滅色が変更されるかを見ていきます。 ハードウェアの準備 本稿で使用する評価ボード ・FRDM-MCXN947 SDKのインストール VS Code内の左側のパネルからMCUXpressoを選択した状態で「Import Repository」をクリックしてください。 その後、左から2番目の「REMOTE ARCHIVE」をクリックし、Packageにて「FRDM-MCXN947」を検索してください。「947」と打ち込むとすぐに出てきます。 Name名、Location名、Create Gitへのチェックは任意に設定して下さい。 ※NameおよびLocation名については、「小文字の英数字」「アンダースコア(_)またはハイフン(-)」のみを使用し、(\, /, :, *, ?, ", <, >, |)などの記号やスペース(プログラムの動作不良の原因になりうる)を避けるのが無難です。 最後に「I agree」にチェックを入れた後、「Import」をクリックするとSDKのインストールが開始しますので、しばらくお待ちください。画面右下に"Repository successfully imported"が表示されたら完了です。 サンプルコードのインポート SDKのインストールが完了したら、サンプルコードのインポートへと進みます。 左側のパネルから「Import Example From Repository」をクリックしてください。 右側に表示された各タブ内で、「Repository」では先ほどインポートしたSDKを選択、 「Board」はFRDM-MCXN947を選択してください。 「Template」では、今回はLEDの点滅色を変えるデモンストレーションですので、 「led」と打ち込んで表示される「driver_examples/gpio/gpio_led_output_cm33_core0」で試してみます。 その後、Toolchainを選択して「Import」をクリックしてください。 ConfigToolsを開く インポートしたサンプル上で右クリックして、「Open with MCUXpresso Config Tools」を選択してください。少し待つとConfig Toolsが立ち上がります。 Config Toolsが開いたらまずは右側のパネルにあるOverviewを確認します。このサンプルにおいては、ClocksとPinsの2つが緑色(ONの状態)になっており、2つのツールが有効であることを示しています。 Pinsを選択し、現在のピン設定の状況を見てみます。 「Routing Details」を見ると3つのピン(A1,B1,B12)が有効になっています。 しかしながら、LEDに対して設定されているB12ピンのDirectionを見ると“Not Specified”となっており、つまりPins Tool上ではLEDに対してOutput(出力)設定がされていない状態となっています。 では、なぜ設定がされていないのにLEDが点滅するのかというと、VS Codeに戻りCソースファイル(gpio_led_output.c)を見てみます。 Cソースファイルを見ると、BOARD_InitHardware()によってピンの機能は反映されますが、先ほど確認したように、この時点ではPins Tool上でB12ピンはGPIO出力として設定はされていません。 したがって、このサンプルの初期状態では、GPIOの入出力方向はPins Toolではなく、ソースコード側に依存しています。 具体的には、GPIO_PinInit()関数によってB12ピンが「GPIO出力」として初期化され、LEDを制御できる状態になっています。 今回の目的はPins Tool上でピン設定を変更し、その結果をコードとして反映させることですので、ソースコード側からGPIOの初期化および制御に関する部分(下記赤枠)を削除します。 削除するとGPIOの出力設定がどこにも存在しなくなるため、ビルド・デバッグを行うとLEDは点滅しなくなります。 続いて、Pins Toolsでピン設定を行います。Pins Toolより#B12ピンのGPIO0_10のDirectionをOutputに変更します。 これは先ほどの②MCU内部の信号を外部に出す(ペリフェラル⇀ピン)のケースです。 これにより「B12ピン(PIO0_10)をGPIO出力として設定し、MCU内部のGPIO制御(ソフトウェア制御)による信号をピン経由で外部(LED_RED)へ出力する状態」へと変わりました。 コードの変更点は右側のパネルのCode Previewより確認できます。 Not SpecifiedからOutputに変更することでpin_mux.cの最下部にGPIOの初期化コードが追加されます。 この状態でサンプルコードを書き換えます。まずはConfig Toolsの画面左上にあるUpdate Codeをクリックしてください。 その後Windowが表示されます。ここでもCode Previewと同様にコードの変更を確認することができます。 VS Codeに戻ると、画面上部にチェックボックスが3つ並んで表示されますので、チェックが入った状態でOKをクリックしてください。少し時間が経つと、Clocks Toolでの変更がVS Code上のサンプルコードに適応されます。 ※SDKのバージョンが異なる場合は表示されない場合もあります。 完了したら、ビルドの前にボード(FRDM-MCXN947)とPCを接続します。 接続が完了したらインポートしたサンプルをデバッグ(ビルド&書き込み&アプリケーションの実行)します。 デバッグのプロセスが完了したら、プログラムがブレイクポイントで止まっているので、画面上部のアイコン内の"|▶"をクリックします。 動画のように赤色のLEDが点滅を開始します。 (function() { var wrapper = document.getElementById('lia-vid-6397512171112w304h540r886'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (マイビデオを表示) プログラムの終了は、アイコンの□をクリックします(PCと接続している限りLEDは点滅を続けますが一旦無視してください)。 なぜ赤色LEDが点滅したのか? ここで、なぜ赤色LEDが点滅したのかについて補足します。 今回の赤色LEDの点滅は、大きく次の2つの設定によって決まっています。 app.h:どのLED(ピン)を操作するかを定義 pin_mux.c:そのピンをどのように使うかを定義 この2つによりLEDの点滅が実現されています どのLEDを操作しているか?(app.h) Cソースファイル「gpio_led_output.c」の最下部には、GPIO_PortToggle :指定したGPIOピンの出力を反転するための関数が存在します。 この関数では、 BOARD_LED_GPIO (GPIOポート) BOARD_LED_GPIO_PIN(ピン番号) で指定されたGPIOの出力を反転し、LEDを点滅させています。 ただしこの時点では、このGPIOポートとピンがどの色のLEDに対応しているかはわかりません。 そこで、BOARD_LED_GPIO で右クリックし「Go to Definition(もしくは"fn + F12")」を選択すると、「app.h」が開きます app.hでDefinitionsの部分を確認すると、これらの定義は赤色LED用のGPIOに割り当てられていることがわかります。つまり、この時点で操作対象が赤色LEDであることが確定します。しかし、app.hで赤色LEDが割り当てられていてもピン設定がGPIO出力になっていなければ、LEDは光りません。 ピンをどのように使うか(pin_mux.c) 続いて、ピン設定を確認するためにpin_mux.cの中身を見ていきます。「gpio_led_output.c」内にPin、Clock、Debug consolのそれぞれ初期化を実行するためのBOARD_InitHardware(); があるので、ここで右クリックし「Go to Definition(もしくは"fn + F12")」を選択し、さらに詳細を見てみます。 遷移先にBOARD_InitPins();があり、ここにピン設定が記述されています。BOARD_InitPins(); 上でもう一度右クリックし、「Go to Definition(もしくは"fn + F12")」を選択すると「pin_mux.c」が開きます。 pin_mux.c はPins Tool上で設定した内容が反映されたファイルで、先ほど赤色LEDをOutputへ変更した際にCode Previewで確認したものと同じです。最下部に以下の記述があり、赤色LEDに接続されたB12ピンを、初期値0のGPIO出力として初期化することを意味しています。 このように、app.hで「どのLEDを操作するか(赤色LED)」が決まり、pin_mux.cで「そのピンをGPIO出力として使えるようにする」ことで、GPIO_PortToggle()によって赤色LEDを制御できる状態になっています。 ピン設定を変更し、LEDの点滅を青色に変更する 次にピン設定を変更することでLEDの点滅色を赤色から青色に変更します。 Config Toolに戻り、Pinsから「LED」検索するとC4ピンが青色LED(LED_BLUE)に対応していることがわかります。 C4ピンにチェックを入れると下図のようなウィンドウが表示されるので、GPIO1:GPIO,2(PIO1_2)にチェックを入れてDoneをクリックします。 ここまで完了すると、Routing Detailsに追加したC4ピンが表示されます。 C4ピンをGPIO機能(PIO1_2)として設定し、このピンに青色LED(LED_BLUE)というラベルを割り当てています。これにより、ソフトウェアからこのピンを青色LEDとして扱うことができます。 続いて、ピンの入出力設定を行います。Directionの赤色LEDをOutput⇀Not Specifiedに、青色LEDをNot Specified ⇀Outputに変更します。この設定により青色LEDをGPIO出力として設定できました。 Code Previewで、pin_mux.cの変更点は確認できます。 この状態でサンプルコードを書き換えます。先ほど実施したようにConfig Tools上でUpdate Codeを実行し、VS Code上でも変更を承認してください。変更したピン設定が反映されます。 ここまでで、まずはpin_mux.cが更新されました。 最後に、app.hを更新します。 先ほどの手順でapp.hを開き、LED_REDからLED_BLUEに変更します。 この定義を変更することで、GPIOの制御対象を赤色LEDから青色LEDへ切り替えることができます。 ここまで完了したら再度デバッグ(ビルド&書き込み&アプリケーションの実行)します。 デバッグのプロセスが完了したら、画面上部のアイコン内の"|▶"をクリックします。 動画のように青色のLEDが点滅を開始します。 (function() { var wrapper = document.getElementById('lia-vid-6397512593112w304h540r703'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (マイビデオを表示) ちなみに、なぜ1つのLEDで異なる色の点滅ができたかについて、今回使用したボードFRDM-MCXN947にはRGB LEDが搭載されています。FRDM-MCXN947の回路図を見るとピンごとにR/G/Bが割り当てられていることがわかります。 このため、2色のピンを同時にPins Tool内で出力設定し、ソースコードを適切な形に整えれば様々な色を表現することも可能です (例 : 赤 + 青 = 紫)。   おまけ - ピン一覧をドキュメント(Excelファイル)で確認する MCX Nのリファレンス・マニュアルを開くと、添付ファイルにMCXNP184M150F70_Pinout.xlsx というファイルがあります。ここにはピンの一覧と各ピンに対するペリフェラル機能の一覧が載っています。 最近では、Pins Toolの進化により、このような一覧表を参照しながら手作業でピン設定を行う機会は少なくなってきているかもしれません。 一方で、デバイス選定やパッケージ比較、利用可能なペリフェラルの確認など、システム設計の初期段階では今でも有用なリファレンス資料として活用できます。 MCX Nのリファレンス・マニュアルをダウンロードするには、MyNXPアカウントの登録が必要です。 ※Acrobat Readerで開いています 今回はシンプルな例で説明しましたが、実際の設計ではピン設定はさらに複雑になります。そんなときこそPins Toolを活用することで、ミスを防ぎながら効率的に設定を進めることができます。是非ご活用ください。 =========================​ 本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。​ お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。​ (既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。) MCUXpresso Config Toolsの中から「Pins Tool」にフォーカスし、ピン設定の基本および設定方法を解説します。 VS Code環境での導入方法から、ピン設定の変更によるLED点滅デモまで紹介します。 (作業時間:10分 *MCUXpresso for VSC (Visual Studio Code), SDKをインストールしている前提) MCUXpresso MCX SW | Downloads 日本語ブログ
View full article
Issue facing during flashing code on NXPS32k144 Subject: S32K144 EVB - PEmicro Connection Assistant Error During Debug in S32 Design Studio 3.5 Hello NXP Support Team, I am facing an issue while debugging an application on an S32K144 evaluation board using S32 Design Studio 3.5. Environment: Board: S32K144 EVB (please update with exact board part number if needed) IDE: S32 Design Studio 3.5 Debug Probe: On-board OpenSDA (PEmicro) Operating System: Windows (please specify version) Connection Type: OpenSDA USB Issue Description: When I start a debug session, the PEmicro Connection Assistant appears with the following message: "An error occurred while connecting to the interface hardware or target specified in the Launch Configuration Dialog." The Connection Assistant detects the OpenSDA probe correctly: OpenSDA on USB1 Name = FDC46E50 However, the debugger cannot establish communication with the target MCU. Observations: OpenSDA is detected successfully by the PC. The board power LED is ON. The issue occurs during debug launch. I have already tried: Pressing the RESET button before debugging. Disconnecting and reconnecting USB. Using a different USB cable. Using a different laptop/PC. Restarting S32 Design Studio. The same issue persists. Application Information: The application is based on: Pin configuration generated through Pins Tool. SDK drivers (PINS_DRV). RearWiperControl_Fn generated model code. Example code executed in main(): PINS_DRV_Init() RearWiperControl_Fn_initialize() RearWiperControl_Fn_step() Questions: What could cause OpenSDA to be detected while target communication fails? Is there any known issue between S32DS 3.5 and the current OpenSDA firmware? Should the OpenSDA firmware be updated or reflashed? Is there a recommended procedure for mass erase or "connect under reset" on S32K144? Are there any jumper settings on the S32K144 EVB that should be verified for debugging? Could incorrect pin mux settings interfere with SWD communication after programming? Attached: Screenshot of the PEmicro Connection Assistant error dialog. Any guidance on troubleshooting this issue would be appreciated. Thank you. Re: Issue facing during flashing code on NXPS32k144 Hello @Shubham3 , Did the board debug correctly before programming this application/example?  Please check whether your application reconfigures PTA4, PTC4, or PTA5 in Pins Tool / PORT registers. These pins are related to SWD/reset on S32K144. If yes, this can indeed prevent the debugger from attaching afterwards. Similar cases have already been reported on NXP Community. Please refer to the threads below for possible recovery methods and additional background: Device is secure , erase to unsecure - NXP Community Solved: S32K144 -Conflict in PORTA PIN5 CFG vs RESET signal - NXP Community Solved: Can't use PEmicro debugger with S32K118EVB2-Q048 - NXP Community Best regards, Pavel Re: Issue facing during flashing code on NXPS32k144 After flashing below code from example the issue arrives Uses ADC PAL for a series of SW and HW triggered groups of conversions. Displays on LPUART the average value for each conversion group execution. The example documentation can be found in the S32 SDK documentation at Examples and Demos section. (/doc/Start_Here.html)
View full article
PT2000 ローサイドドライバーのみ使用。 こんにちは、 私はPT2000を使って従来のインジェクター(12オーム)を駆動し、1台のPT2000は1チャネルのハイサイドとローサイド出力(両方のインジェクター配線をPT2000に接続)で駆動していますが、すべて期待通りに動作しています。 インジェクターの正極線を外部の連続+12V電源に接続し、片方のローサイドを駆動してインジェクターをオンにすることは可能でしょうか?マイクロコードを変更せずにこの解決策を試してみましたが、うまくいきません。このトポロジーで動作させるには、マイクロコアにどのような変更を加える必要がありますか?より一般的に言うと、ローサイドモードでソレノイドを駆動しつつ電流を制御することは可能でしょうか? ご支援ありがとうございます。 よろしくお願いします。
View full article
FRDM-A-S32M276-C064 overcurrent error on my encoder My hardware is: FRDM-A-S32M276-C064 Faulhaber 3216 BXTH BLDC 12V Encoder is IEF3 with 128L I have connected it as shown in the starting guide  https://www.nxp.com/document/guide/getting-started-with-frdm-a-s32m276-development-board-setup-and-programming:GS-FRDM-A-S32M276 I have connected the encoder directly to the pins corresponding to the enconder and I dropped (Anegated, Bnegated, Inegated). In the provided code from the application hub I've set ENCODER 1, which runs the following (in the setup part): Siul2_Port_Ip_SetInputBuffer(NULL_PTR, NULL_PTR, 1, 54, 3U); //this effectively functions as: //IP_SIUL2->IMCR[54] = SIUL2_IMCR_SSS(3U); /* Assign eMIOS0_CH7 input to TRGMUX_OUT_38 */ Siul2_Port_Ip_SetInputBuffer(NULL_PTR, NULL_PTR, 1, 55, 4U); Then Lcu_Ip_SyncOutputValueType EncLcuEnable[6U]; EncLcuEnable[0].LogicOutputId = LCU_LOGIC_OUTPUT_8; EncLcuEnable[0].Value = 1U; EncLcuEnable[1].LogicOutputId = LCU_LOGIC_OUTPUT_9; EncLcuEnable[1].Value = 1U; EncLcuEnable[2].LogicOutputId = LCU_LOGIC_OUTPUT_10; EncLcuEnable[2].Value = 1U; EncLcuEnable[3].LogicOutputId = LCU_LOGIC_OUTPUT_11; EncLcuEnable[3].Value = 1U; Lcu_Ip_SetSyncOutputEnable(EncLcuEnable, 4U); and finally AEC_VDDE_Enable(1); When I run this without the encoder connected, the application works correctly (sensorless). When I plug in the encoder and I rerun, it goes into fault immediately. Debugging I see the following: which corresponds to an overcurrent event #define AEC_AE_EVENTS_STATUS_OCD_VDDE_FL_MASK (0x8U) #define AEC_AE_EVENTS_STATUS_OCD_VDDE_FL_SHIFT (3U) How can I fix this problem? Any advice would be appreciated. Re: FRDM-A-S32M276-C064 overcurrent error on my encoder Hello @alovi, I understand that you are using VDDE to supply the encoder. However, the VDDE output current is limited. Please note that 175 mA represents the maximum overcurrent detection threshold; the minimum threshold is not specified. At the same time, the VDDE pin can continuously supply up to 30 mA at 5 V. Looking at the encoder datasheet, its current consumption can reach up to 40 mA even without load, which already exceeds the supported VDDE capability. Best regards, Daniel Re: FRDM-A-S32M276-C064 overcurrent error on my encoder Is there any other pin on the board that I can use to power the encoder or do I have to use an external source to power it? Re: FRDM-A-S32M276-C064 overcurrent error on my encoder Hi @alovi, Unfortunately, only VDDE can be used to supply external devices from the internal regulator. In this case, an external regulator is required. Regards, Daniel
View full article
NFC CSV Import Error, why? HTTPS URLS We purchased NTAG215 tags specifically because they support up to 540 bytes of NDEF data. We spent more than 200 EUR on these tags to ensure that our long verification URLs would fit without any issues. However, the NXP TagWriter app refuses to import our CSV file and always reports “Invalid format”. The CSV structure is correct (RecordType,URI), the file is saved as UTF-8 with BOM, the URLs are valid, and the tags have enough memory. The same data can be written manually to a single tag without any problem. The issue only happens during CSV import. This means the limitation is not the tag, not the URL, and not the CSV format. The limitation appears to be inside the TagWriter app itself. It is extremely frustrating that after spending this amount of money on official NXP tags, we cannot use the official NXP app to batch-write them. We should not be forced to buy a third-party app just to perform a basic operation that TagWriter claims to support. We need clarification on the following points: Why does TagWriter reject valid CSV files when the URL length is within the NTAG215 memory limits? Is this a known limitation or a bug in the CSV import function? Is there an official workaround that does not require paying for another app? We urgently need a solution, because we purchased these tags specifically for this use case. Re: NFC CSV Import Error, why? HTTPS URLS and my URL is looking like this: https://200.410.222.111:4443/verify-status.html?work_id=9d611323a-a9ac-4fb9-9039-74f443cf2720&sig=MKIRQDMQl3/NKQXSKLwZ123IvEgxkda123Gq0LOPqBz84mQIhANGc2GQFSNONSWR27nps0NMieAF5rZSkXt2j2rgquKh6 Re: NFC CSV Import Error, why? HTTPS URLS thank you, but now he shows nothing. No error but also no data. It looks lik this for testing - normal case we have much longer URL Re: NFC CSV Import Error, why? HTTPS URLS Hello sir, I was checking your CSV file, there are some fields that you need to add to your structure. Please refer to the following community case: Error "Not valid NDEF records found" when trying to select a CSV in TagWriter for Android - NXP Community In the User Manual, please check the description of 3) LINK_RECORD. Have a great day, sir! Re: NFC CSV Import Error, why? HTTPS URLS Hello, Could you please confirm whether you are able to successfully read a short link from the NDEF? I ask because, if this is working, it is very likely that the issue lies in the NDEF structure itself. Please note that, according to the NFC Forum specification, there are both Records and Short Records. If your payload size exceeds 255 octets, it is possible that the NDEF has not been constructed correctly. I recommend reviewing the NFC Data Exchange Format specification available on the NFC Forum website.
View full article
使用 S32k144 验证后门访问密钥 在项目开始之前,我想使用 s32k144 进行后门测试验证。 我有一个关于 unsecureProject 的示例代码。(示例_S32K144_验证后门访问密钥_S32DS1.3_v2.zip) 与示例代码和参考手册对比后,我有一些疑问。 1.根据《验证后门访问密钥参考手册》,其内容如下表所示。 FCCOB 编号 0 用于执行命令。 但在代码中,当发出命令时,会使用 FCCOB 编号 4。 所以我很好奇。 FTFC->FCCOB[0x0] = 0x45; // 后门密钥验证命令 (0x45) FTFC->FCCOB[0x3] = 0x45; // 后门密钥验证命令 (0x45) 哪个才是正确的? 2. 我想检查锁定和解锁(验证后门访问权限)机制。 第一的。使用 T32 设置后门钥匙。(我知道这不是正常的方式。)通常插入代码) 例如) Data.Set SD:0x400 %LE %Long &pwd_Head 数据集 SD:0x404 %LE %Long &pwd_Tail 数据集 SD:0x40C %LE %Long 0xFFFF7FBF 第二。upon RESET, the FSEC register (0x40020002) is initialized with the value stored in the security 字节 of the Flash Configuration Field (0x40C). 问:2-1。这是否意味着设备在 RESET 前一直处于不安全状态,RESET 后,FSEC 寄存器 (0x40020002) 会更新为从 0x40C 读取的值,从而使设备进入安全状态? 第三。验证后门访问权限时,参考手册中提到如下截图所示。 Q. 2-2.这是否意味着 FSEC 寄存器会暂时更改为非安全模式,然后在 RESET 后恢复?On RESET, FSEC 寄存器 (0x40020002) 会再次从 0x40C 读取值,对吗? 问题 2-3。发生此更新时,是否仅更改与网络安全相关的位,还是会覆盖整个 FSEC 字节? 例如,转变是 BF → FE 还是 BF → BE? 3. 根据此描述,一旦密钥不匹配,设备将保持安全状态,直到 RESET 为止。在这种情况下,如果后门访问被禁用,如何重置设备? 4. 当我执行以下命令时: 数据集 AD:0x40020000 %字节 0x30 然后立即使用以下命令将其读出: Data.Byte(AD:0x40020000) 该值仍然为 0x80。 这种行为背后的原因是什么?它又意味着什么? ================================================================== 所以,我认为 当向 S32K144 中编程数据时,配置值被写入 0x400–0x40F 区域。 当 MCU 复位或重启时,FTFC 寄存器会读取存储在 0x400–0x40F 区域中的配置值,并根据这些设置进行操作。 正确的? 另外,后门比较密钥出现在 startup_S32K144.S 中,我是否应该理解为该配置是在进入 main() 之前应用的? ================================================= 使用地址 0x40000100 或 0x40000104 检查不安全状态。 是这样吗? 我在参考手册中找不到任何相关描述。 谢谢。 #s32k144 @后门访问 Re: Verfiying Backdoor access key using in S32k144 感谢您的支持! Re: Verfiying Backdoor access key using in S32k144 嗨@LGI , A4后续报道: FSTAT 寄存器位于地址 0x40020000。 如前所述,该寄存器不能以将位设置为 0 到 1 的方式写入。 向位写入“1”只会清除该位(W1C – Write‑1‑to‑Clear)。因此,写入“1”并不会设置一个位;它只会清除已经为“1”的位。 A8后续报道: 这些是 MDM-AP 状态和控制寄存器,只能通过 Arm 调试访问端口 (DAP) 访问。 例如,它在以下脚本中被使用: https://community.nxp.com/t5/S32K-Knowledge-Base/Lauterbach-Script-For-MDM-AP-Mass-erase-S32K142/ta-p/2336449 此致, 丹尼尔 Re: Verfiying Backdoor access key using in S32k144 谢谢你的回答。@danielmartynek 那么,我有一些问题想请教您。 A4。我向地址 0x40020000 写入了 0x30,但是当我读回它时,该值没有变为 0x30,而是保持为 0x80。 这种行为背后的原因是什么?它又意味着什么? Q8.这实际上与 Trace32 示例有关。 在 S32K144 的 Trace32 示例中,地址 0x40000100 和 0x40000104 用于安全状态信息。 但是,我找不到有关地址 0x40000100 和 0x40000104 的任何信息。这就是我问的重点。 感谢您的支持。 Re: Verfiying Backdoor access key using in S32k144 嗨@LGI , A1: 它是 FTFC->FCCOB[0x3] = 0x45; // 后门密钥验证命令 (0x45) 因为 FCCOB0 是内存映射中的第 4 个寄存器。 A2:您可以使用编程器/调试器对 Flash 配置字段进行编程,但必须事先擦除该扇区。请注意,批量擦除还会将 FSEC 字节编程为不安全状态。 A2.1:是 A2.2:是 A2.3:仅限 FSEC[SEC]。 A3:MCU 上有许多 RESET 源(RM,25.2.2 系统 RESET 源)。 调试器可以通过置位 Reset_b 引脚 (PTA5) 来重置 MCU。 A4:写入寄存器仅具有 W1C 功能: Q5:当向 S32K144 中编程数据时,配置值写入 0x400–0x40F 区域。 A5:是的 Q6:当MCU复位或重启时,FTFC寄存器读取存储在0x400–0x40F区域中的配置值,并根据这些设置进行操作。 A6:是的,MCU 会将 Flash 配置字段中的值加载到 FTFC 寄存器中。 Q7:另外,后门比较密钥出现在 startup_S32K144.S 中,我是否应该理解为该配置是在进入 main() 函数之前应用的? A7:RESET是必需的,但这是编程人员/调试人员在编程后通常会执行的操作。 Q8:使用地址 0x40000100 或 0x40000104 检查不安全状态。这样对吗? A9:我不是你指的那种人。请详细说明。 此致, 丹尼尔
View full article
LinuxリリースRev.LF5.15.71_2.2.2 i.MX 参考・ガイドドキュメント こんにちは、スタッフの皆さん。 現在、IMX8MPUを使って i.MX YoctoプロジェクトLF5.15.71_2.2.2に取り組んでいます。 この特定のバージョンに対応する ユーザーガイドやリファレンスマニュアルなどにアクセスする必要があります。しかし、NXPのデザインセンターで検索しても、最新の 6.x カーネルバージョンのドキュメントしか見つからずダウンロードもできません。 どなたか正しい方向を教えていただけるか、 LF5.15.71_2.2.2のアーカイブドキュメントへの直接リンクを教えていただけませんか? よろしくお願いします! 評価ボード
View full article
Using the SDK's CAN communication S32K144 DEMO and making modifications, the sending of extended fra Using the SDK's CAN communication S32K144 DEMO and making modifications, the sending of extended frames failed. I have already changed the idType to CAN_MSG_ID_EXT, but the CAN adapter still received standard frames. The ID I sent was 1FFFFFFF, but the received ID was 7FF. I would appreciate it if experts could help solve this problem.   #include "Cpu.h" #include "delay.h" #include "uart.h" #include"key.h" #include"oled.h"   #include "stdint.h" #include "stdbool.h"     volatile int exit_code = 0;   #define LED1(x)  PINS_DRV_WritePin(PTD,16,!x); #define LED2(x)  PINS_DRV_WritePin(PTD,15,!x); #define LED3(x)  PINS_DRV_WritePin(PTD,1,!x); #define LED4(x)  PINS_DRV_WritePin(PTD,0,!x);   #define Rx_Filter  0x0 char IRQ_CAN0_RX; char IRQ_CAN1_RX; char IRQ_CAN2_RX; can_message_t recvMsg_CAN0; can_message_t recvMsg_CAN1; can_message_t recvMsg_CAN2; #define RX_MASK_ALL_EXT 0x1FFFFFFF #define RX_MAILBOX_CAN0  (0UL) #define TX_MAILBOX_CAN0  (1UL)   #define RX_MAILBOX_CAN1  (2UL) #define TX_MAILBOX_CAN1  (3UL)   #define RX_MAILBOX_CAN2  (4UL) #define TX_MAILBOX_CAN2  (5UL)       /*CAN0回调函数*/ void CAN0_Callback_Func (uint32_t instance,can_event_t event,uint32_t buffIdx,void *flexcanState)   { (void)flexcanState; //此处防止警报 (void)instance; (void)buffIdx; CAN_Receive(&can_pal0_instance, RX_MAILBOX_CAN0, &recvMsg_CAN0); //接收报文并重新注册回调函数 switch(event) //回调事件 { case CAN_EVENT_RX_COMPLETE: //接收完成 事件 IRQ_CAN0_RX =1; break; case CAN_EVENT_TX_COMPLETE: //发送完成事件 break; default: break; }   }       void CAN1_Callback_Func (uint32_t instance,can_event_t event,uint32_t buffIdx,void *flexcanState)   { (void)flexcanState; (void)instance; (void)buffIdx; CAN_Receive(&can_pal1_instance, RX_MAILBOX_CAN1, &recvMsg_CAN1); switch(event) { case CAN_EVENT_RX_COMPLETE: IRQ_CAN1_RX =1; break; case CAN_EVENT_TX_COMPLETE: break; default: break; }   }       void CAN2_Callback_Func (uint32_t instance,can_event_t event,uint32_t buffIdx,void *flexcanState)   { (void)flexcanState; (void)instance; (void)buffIdx; CAN_Receive(&can_pal2_instance, RX_MAILBOX_CAN2, &recvMsg_CAN2); switch(event) { case CAN_EVENT_RX_COMPLETE: IRQ_CAN2_RX =1; break; case CAN_EVENT_TX_COMPLETE: break; default: break; }   }     void CAN0_Init(void) {   CAN_Init(&can_pal0_instance, &can_pal0_Config0);   can_buff_config_t Rx_buffCfg =  {       .enableFD = false,       .enableBRS = false,       .fdPadding = 0U,       .idType = CAN_MSG_ID_EXT,       .isRemote = false   };     can_buff_config_t Tx_buffCfg =  {       .enableFD = false,       .enableBRS = false,       .fdPadding = 0U,       .idType = CAN_MSG_ID_EXT,       .isRemote = false   };   CAN_ConfigRxBuff(&can_pal0_instance, RX_MAILBOX_CAN0, &Rx_buffCfg, Rx_Filter); //注册接收配置和MSGID过滤器(如过滤器配置为0x1,则只接受msgid 0x1发来的报文)   CAN_ConfigTxBuff(&can_pal0_instance, TX_MAILBOX_CAN0, &Tx_buffCfg); //配置发送   /*设置MSGID的掩码,掩码粗略可以理解为对11bit MSGID地址的过滤    如果某bit位需要过滤设置为1,不过滤设置为0,例如掩码设置为0x7ff则过滤全部标准id,如果设置为0x7fe,这只能接受0x01的报文(不存在0x0的地址)*/   CAN_SetRxFilter(&can_pal0_instance, CAN_MSG_ID_EXT, RX_MAILBOX_CAN0, 0x1FFFFFFFU);//设置MSGID掩码,   CAN_InstallEventCallback(&can_pal0_instance,&CAN0_Callback_Func,(void*)0); //注册回调函数   CAN_Receive(&can_pal0_instance, RX_MAILBOX_CAN0, &recvMsg_CAN0); //*****重点****此函数不只有接收作用 还有续订回调函数的作用. }       void CAN1_Init(void) {   CAN_Init(&can_pal1_instance, &can_pal1_Config0);   can_buff_config_t Rx_buffCfg =  {       .enableFD = false,       .enableBRS = false,       .fdPadding = 0U,       .idType = CAN_MSG_ID_EXT,       .isRemote = false   };     can_buff_config_t Tx_buffCfg =  {       .enableFD = false,       .enableBRS = false,       .fdPadding = 0U,       .idType = CAN_MSG_ID_EXT,       .isRemote = false   };   CAN_ConfigRxBuff(&can_pal1_instance, RX_MAILBOX_CAN1, &Rx_buffCfg, Rx_Filter);   CAN_ConfigTxBuff(&can_pal1_instance, TX_MAILBOX_CAN1, &Tx_buffCfg);   CAN_SetRxFilter(&can_pal1_instance,CAN_MSG_ID_EXT,RX_MAILBOX_CAN1,0x1FFFFFFFU);   CAN_InstallEventCallback(&can_pal1_instance,&CAN1_Callback_Func,(void*)0);   CAN_Receive(&can_pal1_instance, RX_MAILBOX_CAN1, &recvMsg_CAN1); }           void CAN2_Init(void) {   CAN_Init(&can_pal2_instance, &can_pal2_Config0);   can_buff_config_t Rx_buffCfg =  {       .enableFD = false,       .enableBRS = false,       .fdPadding = 0U,       .idType = CAN_MSG_ID_EXT,       .isRemote = false   };     can_buff_config_t Tx_buffCfg =  {       .enableFD = false,       .enableBRS = false,       .fdPadding = 0U,       .idType = CAN_MSG_ID_EXT,       .isRemote = false   };   CAN_ConfigRxBuff(&can_pal2_instance, RX_MAILBOX_CAN2, &Rx_buffCfg, Rx_Filter);   CAN_ConfigTxBuff(&can_pal2_instance, TX_MAILBOX_CAN2, &Tx_buffCfg);   CAN_SetRxFilter(&can_pal2_instance,CAN_MSG_ID_EXT,RX_MAILBOX_CAN2,0x1FFFFFFFU);   CAN_InstallEventCallback(&can_pal2_instance,&CAN2_Callback_Func,(void*)0);   CAN_Receive(&can_pal2_instance, RX_MAILBOX_CAN2, &recvMsg_CAN2); }       int main(void) {   /* Write your local variable definition here */ uint8_t pinstate; int MCU_Freq; uint8_t CANRXDATA_STR1[17]; uint8_t CANRXDATA_STR2[17];   /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/   #ifdef PEX_RTOS_INIT     PEX_RTOS_INIT();                   /* Initialization of the selected RTOS. Macro is defined by the RTOS component. */   #endif   /*** End of Processor Expert internal initialization.                    ***/   CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT,g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT); CLOCK_SYS_UpdateConfiguration(0U, CLOCK_MANAGER_POLICY_AGREEMENT); MCU_Freq = delay_init();//初始化delay函数 PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr); //初始化IO I2C_MasterInit(&i2c1_instance, &i2c1_MasterConfig0);//初始化I2C外设,用于OLED通讯 LPUART_DRV_Init(INST_LPUART1, &lpuart1_State, &lpuart1_InitConfig0); //初始化串口   CAN0_Init(); CAN1_Init(); CAN2_Init();   oled_init(); //OLED配置参数初始化 OLED_TITLE((uint8_t*)"S32K144",(uint8_t*)" CAN");//OLED显示标题 u1_printf("初始化完毕,MCU运行频率为 %d Mhz \r\n",MCU_Freq);     while(1)     { /*按键处理*/ pinstate = KEY_Proc (0); /*if(pinstate ==BTN1_PRES ) { can_message_t Tx_msg = { .cs = 0U, .id = 0x01, .data[0] = 0x0, .data[1] = 0x1, .data[2] = 0x2, .data[3] = 0x3, .data[4] = 0x4, .data[5] = 0x5, .data[6] = 0x6, .data[7] = 0x7, .length = 8 }; CAN_Send(&can_pal0_instance, TX_MAILBOX_CAN0, &Tx_msg); u1_printf("CAN0发送报文\r\n");   } else if(pinstate ==BTN2_PRES ) { can_message_t Tx_msg = { .cs = 0U, .id = 0x02, .data[0] = 0x20, .data[1] = 0x21, .data[2] = 0x22, .data[3] = 0x23, .data[4] = 0x24, .data[5] = 0x25, .data[6] = 0x26, .data[7] = 0x27, .length = 8 }; CAN_Send(&can_pal1_instance, TX_MAILBOX_CAN1, &Tx_msg); u1_printf("CAN1发送报文\r\n"); } else if(pinstate ==BTN3_PRES ) { can_message_t Tx_msg = { .cs = 0U, .id = 0x03, .data[0] = 0x30, .data[1] = 0x31, .data[2] = 0x32, .data[3] = 0x33, .data[4] = 0x34, .data[5] = 0x35, .data[6] = 0x36, .data[7] = 0x37, .length = 8 }; CAN_Send(&can_pal2_instance, TX_MAILBOX_CAN2, &Tx_msg); u1_printf("CAN2发送报文\r\n"); }*/ u1_printf("123456\r\n"); /* can_message_t Tx_msg = { .cs = 0U, .id = 0x03, .data[0] = 0x30, .data[1] = 0x31, .data[2] = 0x32, .data[3] = 0x33, .data[4] = 0x34, .data[5] = 0x35, .data[6] = 0x36, .data[7] = 0x37, .length = 8 }; CAN_Send(&can_pal1_instance, TX_MAILBOX_CAN1, &Tx_msg);*/ // 发送标准帧(用于对照) delay_ms(100); can_message_t std_msg0 = { .cs = 0U, .id = 0x1FFFF111U, .data[0] = 0x30, .data[1] = 0x31, .data[2] = 0x32, .data[3] = 0x33, .data[4] = 0x34, .data[5] = 0x35, .data[6] = 0x36, .data[7] = 0x37, .length = 8     }; status_t ret = CAN_Send(&can_pal2_instance, TX_MAILBOX_CAN2, &std_msg0); if(ret != STATUS_SUCCESS) {     u1_printf("CAN2 send std_msg0 fail,ret:%d\r\n",ret); } delay_ms(100);   can_message_t Tx_msg0 = { .cs = 0U, .id = 0x1FFFFFFFU,     .data[0] = 0x30,     .data[1] = 0x31,     .data[2] = 0x32, .data[3] = 0x33, .data[4] = 0x34, .data[5] = 0x35,     .data[6] = 0x36, .data[7] = 0x37, .length = 8 }; CAN_Send(&can_pal2_instance, TX_MAILBOX_CAN2, &Tx_msg0); delay_ms(100); if (IRQ_CAN0_RX ==1) { int i; u1_printf("CAN0 RECV ID:0x%x \r\n",recvMsg_CAN0.id); for(i=0; i { u1_printf("Data %d : %x\r\n",i,recvMsg_CAN0.data[i]); if(i==recvMsg_CAN0.length-1) u1_printf("***************\r\n"); } IRQ_CAN0_RX=0; }   if (IRQ_CAN1_RX ==1) { int i; u1_printf("CAN1 RECV  ID:0x%x \r\n",recvMsg_CAN1.id); for(i=0; i { u1_printf("Data %d : %x\r\n",i,recvMsg_CAN1.data[i]); if(i==recvMsg_CAN1.length-1) u1_printf("***************\r\n"); } IRQ_CAN1_RX=0; }   if (IRQ_CAN2_RX ==1) { int i; u1_printf("CAN2 RECV  ID:0x%x \r\n",recvMsg_CAN2.id); for(i=0; i { u1_printf("Data %d : %x\r\n",i,recvMsg_CAN2.data[i]); if(i==recvMsg_CAN2.length-1) u1_printf("***************\r\n"); } IRQ_CAN2_RX=0; } /*OLED显示*/ sprintf((char*)CANRXDATA_STR1,"CAN0 %02X %02X %02X %02X",         recvMsg_CAN2.data[0],recvMsg_CAN2.data[1],recvMsg_CAN2.data[2],recvMsg_CAN2.data[3]); // 改动点:删除(uint8_t)强转,格式符改为%08X sprintf((char*)CANRXDATA_STR2,"ID:%08X %02X %02X %02X %02X",         recvMsg_CAN2.id,recvMsg_CAN2.data[4],recvMsg_CAN2.data[5],recvMsg_CAN2.data[6],recvMsg_CAN2.data[7]); OLED_ShowString(0,2,CANRXDATA_STR1,8,0); OLED_ShowString(0,3,CANRXDATA_STR2,8,0);   /*sprintf((char*)CANRXDATA_STR1,"CAN1 %02X %02X %02X %02X",recvMsg_CAN1.data[0],recvMsg_CAN1.data[1],recvMsg_CAN1.data[2],recvMsg_CAN1.data[3]); sprintf((char*)CANRXDATA_STR2,"ID%02X %02X %02X %02X %02X",(uint8_t)recvMsg_CAN1.id,recvMsg_CAN1.data[4],recvMsg_CAN1.data[5],recvMsg_CAN1.data[6],recvMsg_CAN1.data[7]); OLED_ShowString(0,4,CANRXDATA_STR1,8,0); OLED_ShowString(0,5,CANRXDATA_STR2,8,0);   sprintf((char*)CANRXDATA_STR1,"CAN2 %02X %02X %02X %02X",recvMsg_CAN2.data[0],recvMsg_CAN2.data[1],recvMsg_CAN2.data[2],recvMsg_CAN2.data[3]); sprintf((char*)CANRXDATA_STR2,"ID%02X %02X %02X %02X %02X",(uint8_t)recvMsg_CAN2.id,recvMsg_CAN2.data[4],recvMsg_CAN2.data[5],recvMsg_CAN2.data[6],recvMsg_CAN2.data[7]); OLED_ShowString(0,6,CANRXDATA_STR1,8,0); OLED_ShowString(0,7,CANRXDATA_STR2,8,0);*/ /*OLED显示*/   PINS_DRV_TogglePins(PTD, 1 << 0); PINS_DRV_TogglePins(PTD, 1 << 1); PINS_DRV_TogglePins(PTD, 1 << 15); PINS_DRV_TogglePins(PTD, 1 << 16); delay_ms(100);     }   /*** Don't write any code pass th5is line, or it will be deleted during code generation. ***/   /*** RTOS startup code. Macro PEX_RTOS_START is defined by the RTOS component. DON'T MODIFY THIS CODE!!! ***/   #ifdef PEX_RTOS_START     PEX_RTOS_START();                  /* Startup of the selected RTOS. Macro is defined by the RTOS component. */   #endif   /*** End of RTOS startup code.  ***/   /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/   for(;;) {     if(exit_code != 0) {       break;     }   }   return exit_code;   /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/ } /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/   /* END main */ /*! ** @} */ /* ** ################################################################### ** **     This file was created by Processor Expert 10.1 [05.21] **     for the NXP S32K series of microcontrollers. ** ** ################################################################### */ Re: Using the SDK's CAN communication S32K144 DEMO and making modifications, the sending of extended Hi Before calling CAN_Send, please call CAN_ConfigTxBuff first. Refer to the discussion in can not receive the CAN frame with extended ID Since I'm unsure which SDK version you're using, I suggest you check if SRR bit is set to one. For details, please refer to: When FlexCAN Tx send Extended ID, should the SRR bit be set? Best Regards, Robin ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "ACCEPT AS SOLUTION" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
View full article
IW610 - WLAN 活动指示器 请问一下,是否有任何 GPIO 引脚/功能可以被“误用”为 WLAN 活动指示器(随 WLAN 流量闪烁/切换)来为 LED 供电? 据我所见,没有专用的功能来实现这一点,而且使用主机唤醒功能的想法也行不通,因为它只有在主机真正处于睡眠状态时才会启用。 Re: IW610 - WLAN Activity Indicator 谢谢,我从文档中也看到了同样的内容,但我想问一下我是否遗漏了什么。 我错误地认为 HOST WAKE UP 可能会被滥用,因为它能够为传入的数据生成事件。但是,只有当主机处于睡眠状态时,该 GPIO 信号才可用,因此也无法使用。 Re: IW610 - WLAN Activity Indicator 你好, 希望你一切都好。没有 GPIO 或备用引脚功能用于指示一般的 WLAN 流量/活动。可用的 GPIO 功能包括标准接口、共存信号、RESET 和唤醒/中断信号。 实际实现需要来自主机端(例如,基于驱动器/网络活动的软件驱动的 LED 控制)。 顺祝商祺! 里卡多
View full article
LPC5504: SPI via FLEXCOMM2/5 Hello, we would like to use SPI via FLEXCOMM5, but we have found conflicting information between the datasheet, reference manual, configurator, and community posts. From the documentation, SPI appears to be supported in some places: The datasheet lists SPI functionality on the FLEXCOMM5 pins: The datasheet also refers to FLEXCOMM0–FLEXCOMM7 under SPI: The reference manual states that SPI is available on all FLEXCOMM interfaces: However, other sources suggest that SPI may not be supported on FLEXCOMM5: The configurator does not allow an SPI peripheral to be assigned to FLEXCOMM5: The relevant table in the reference manual does not explicitly list SPI support for FLEXCOMM5: I also found this NXP Community post, which says SPI is not available on FLEXCOMM5 due to missing SSEL pins: Support of SPI in FlexComm5 in LPC55S06 - NXP Community Could you clarify whether SPI can actually be used on FLEXCOMM5? Specifically, if we manually control the slave-select signal using a GPIO instead of a hardware SSEL pin, is it possible to use FLEXCOMM5 as an SPI interface at the hardware level? If it is possible from a hardware perspective, what SDK changes would be required to enable this? Also, are there any plans to officially support SPI on FLEXCOMM5 through the SDK in a future release? Thank you. LPC55xx Peripherals Re: LPC5504: SPI via FLEXCOMM2/5 Hi @mme255, Thank you for your post! The FlexComm 2 and FlexComm 5 instances on the LPC550x family do not support SPI. These FlexComm can still be used with other communication interfaces without any issues. Apologize the inconvenience this may cause. Re: LPC5504: SPI via FLEXCOMM2/5 Hi Carlos, thank you for the clarification and quick response. Best regards
View full article
J1850-PWM SC371016 替代 SC371016 是否有替代品,或者是否有办法生成 J1850-PWN 信号?我想与一台 1999 年款野马 GT 的仪表盘进行通信。 谢谢, 大卫
View full article
RTC、I/O扩展器、CC控制器可靠性数据 你好。我正在寻找以下部件的适配性和平均故障间隔时间数据。请问您能否告知我这些数据的位置? NX5P3090UKZ PCA9535BS,118 PCA9615DPZ PCF85063ATL/1,118 PTN5150AHXMP 顺祝商祺! 马特
View full article
LC を SIMULATED_IN_FIELD に変更すると、戻り値が許可されません NXPチームの皆様へ 私はS32K314マイクロコントローラを使っています。CUST版とOEM版の両方について、NVMとRAMのキーカタログを定義しました。現在、LC = OEM_PROD の状態ですが、LC を SIMULATED_IN_FIELD に変更しようとしたところ、「許可されていません」という応答を受け取りました。権限を用いてスーパーユーザー権限を申請してその機能を検証したいのです。変更LCサービスを直接呼び出したのですが、「許可されていません」というエラーが返ってきました。 Re: Change to LC to SIMULATED_IN_FIELD returns not allowed こんにちは、 @kerti1さん HSEサービスAPIリファレンスマニュアルには、ライフサイクルをSIMULATED_IN_FIELDに進めることはCUST_DELおよびSIMULATED_OEM_PRODのみ許可されると明記されています。 BR、VaneB
View full article
我需要一个cw5.1的license.dat 我需要一个cw5.1的license.dat
View full article
无法将 TRACE32 连接到 i.MX8MP 我尝试连接到 FRDM-i.MX8MPLUS 板,但失败了。我按照 NXP 博客上的指南操作: https://community.nxp.com/t5/NXP-Tech-Blog/Debug-i-MX8MP-Linux-with-TRACE32/ba-p/1582382 我的步骤是: echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/state1/disable echo 1 > /sys/devices/system/cpu/cpu1/cpuidle/state1/disable echo 1 > /sys/devices/system/cpu/cpu2/cpuidle/state1/disable echo 1 > /sys/devices/system/cpu/cpu3/cpuidle/state1/disable echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/state0/disable echo 1 > /sys/devices/system/cpu/cpu1/cpuidle/state0/disable echo 1 > /sys/devices/system/cpu/cpu2/cpuidle/state0/disable echo 1 > /sys/devices/system/cpu/cpu3/cpuidle/state0/disable 然后我运行以下 TRACE32 命令: RESet SYStem.RESet SYStem.CPU IMX8MQ CORE.ASSIGN 1. 2. 3. 4. SYStem.Option MMUSPACES ON SYStem.Option IMASKASM ON SYStem.Mode Attach 但是,TRACE32 卡在了附加命令处,永远无法完成附加过程。 有人遇到过这个问题吗?或者知道可能是什么原因造成的吗? 谢谢! Re: Unable to Attach TRACE32 to i.MX8MP 你好, 是的,步骤正确,请确保设备已正确连接。另外,您想调试什么问题?是 Uboot、Linux 还是其他什么系统? 此致敬礼/Saludos, 阿尔多。
View full article
使用安卓操作系统时,NXP SD8987 Wi-Fi+蓝牙组合模块的蓝牙高频功能无法正常工作。 您好, 我正在使用 NXP 芯片 sd8987 (M2-JODY-W263-10C) 和 TI SoC am62p。我使用的是安卓系统。A2DP协议工作正常,但免提功能无法使用。我只有一个带音频解码功能的扬声器。 从引脚的角度来看,M2-JODY-W263-10C (sd8987) 模块有什么需要注意的地方吗? 此致 罗珊 Re: BT HF is not working by using NXP sd8987 wifi+BT combo module in android OS 你好, @Roshan888 请问您的安卓系统版本是多少? 您是否在 SD8987 M2-JODY-W263 - 10C 模块上使用 PCM/I2S 接口进行 SCO 控制? 请您提供设备启动后的完整日志,包括完整的“A2DP 已连接但 HFP 无法工作”的过程日志? 顺祝商祺! Christine。 Re: BT HF is not working by using NXP sd8987 wifi+BT combo module in android OS 嗨,克里斯汀, 我没有使用 pcm/i2s 引脚。基于 UART 的软件 HFP 路径。 我使用的是 TI am62p SoC,安卓版本为 16。 已附上蓝牙管理器日志。 此致 罗珊 Re: BT HF is not working by using NXP sd8987 wifi+BT combo module in android OS 你好, @Roshan888 感谢您提供的系统文件和信息。 从你的 dumpsys 文件中,我看到 RFCOMM 已经打开,SCO 也已成功创建,并且处理程序也已经启动。 为了进一步调试,请您提供以下信息: 1.蓝牙HCI监听日志,包括完整的连接过程、A2DP连接但HFP无法工作的过程? 在 Android 上,您可以通过启用此功能来捕获 HCI 日志。 蓝牙 HCI 窥探日志 在 开发者选项 ,切换一次蓝牙以开始捕获,然后导出日志  adb  。 步骤: 打开 开发者选项 使能够 蓝牙 HCI 窥探日志 切换蓝牙 断断续续地 正在尝试重现该问题。 使用 ADB 命令提取日志文件。 2. adb shell dumpsys media.audio_policy> audio_policy.txt adb shell dumpsys media.audio_flinger> audio_flinger.txt adb logcat -b all -d > logcat_log.txt(从设备启动时获取)   顺祝商祺! Christine。 Re: BT HF is not working by using NXP sd8987 wifi+BT combo module in android OS 你好, @Roshan888 请您提供所需的日志,以便我们继续处理此问题? 顺祝商祺! Christine。 Re: BT HF is not working by using NXP sd8987 wifi+BT combo module in android OS 你好, @Roshan888 您的问题解决了吗? 您仍然需要我们的支持吗? 如果可以,请您提供所需的日志,以便我们继续处理此问题? 顺祝商祺! Christine。
View full article
GD3160 SPI 構成 データシートによると、GD3160を設定するには、まずMODE_2のCONFIG_ENビットを1に設定する必要があります。その場合、MODE_2の最初のビットであるRb/Wは0であるべきか、それとも1であるべきか? Re: GD3160 SPI 配置 理解済み请次を参照: 正しい解釈は確かに次の通りです。 0 = 読み取り 1 = 書く   Re: GD3160 SPI 配置 はい、下の図に示されているCONFIG1~7レジスタ、MODE1およびMODE2レジスタ、RMSK1およびRMSK2レジスタ、MSK1およびMSK2レジスタ(これらの書き込みはMODE_2のCONFIG_ENによって制御されます)に加えて、ビット23が1である限り、他のレジスタも設定されますか? Re: GD3160 SPI 配置 23番目のビットのことですか?
View full article
S32K328でのマルチコア有効化後のHSE_Bサービス応答なし問題 NXPテクニカルサポートチーム様 S32K328プラットフォームでマルチコア操作を有効にした後、HSE_Bサービスがハングアップ(応答なし)する問題について、技術的なサポートをお願いしたくご連絡いたしました。 1. 環境とセットアップ - MCU: S32K328 (デュアル Cortex-M7 + HSE_B) - 設定ツール:EB tresos(MCAL設定用) - コアロール: M7_0 と M7_1 は Autosar-OS と同時に実行されます。 M7_0は、メッセージ記述子用の共有SRAMを使用してHSE_Bと通信します。 2. XRDCおよびペリフェラルの設定(テスト用) 権限の問題を切り分けるために、非常に寛容な構成を適用しましたが、M7_0とHSE_Bを単一のドメインにグループ化するか、別々のドメインに分離するかに関わらず、症状は同じままです。 - メモリ構成: すべてのSRAM領域へのフルアクセスが許可され、特定のPFLASH/DFLASH領域がHSEに割り当てられます。 - 周辺機器設定 (PDAC): CONFIGURATION_GPR、PFC/PFC_ALT、FMU/FMU_ALT、および MU_0 / MU_1 にフルアクセス権限が割り当てられています。 3. ブートシーケンス アプリケーションは以下の起動シーケンスに従います。 3.1 M7_0 ブート → クロック初期化。 3.2 HSE STATUS が INIT_OK であることを確認します。 3.3 リソースマネージャの初期化(XRDC セットアップ用の RM_Init)。 3.4 ペリフェラルの初期化 3.5 M7_1 (コア 1) を開始します。 3.6 OSを起動する。 4.問題の説明と症状 M7_0とM7_1はどちらもOS環境内で正常に起動し、動作します。しかし、その後HSEサービスリクエストが呼び出されると、HSEは応答せず、ハングアップ状態になる。ハング発生時のレジスタの状態は以下のとおりです。 - XRDC登録状況: XRDC_DERRLOC[3]が0x00020000に変更されます。 ただし、DERR_W3_0/1/2 レジスタまたは DERR_W3_16/17/18 レジスタにはエラー値は記録されません。 - メッセージングユニット(MU_0)ステータス: MU_0_TSRレジスタでは、フラグTE1とTE2は「空でない」状態のままで、クリアされません。 MU_0_FSRレジスタでは、F3フラグは変更されません。 5. 質問 5.1 XRDC_DERRLOC[3]がシフトしているにもかかわらず、DERR_W3_xレジスタに特定のエラーの詳細が表示されない場合、この動作を引き起こしている原因は何でしょうか?これは、HSE内部のDMAまたはバスマトリックス構成による暗黙的なアクセス違反に関連している可能性がありますか? 5.2共有SRAMはMPUによって明示的にキャッシュ不可として構成されているにもかかわらず、HSEがディスクリプタを読み取ることを妨げるような、既知のマルチコア制約やOS環境下での隠れたキャッシュ動作はありますか? 5.3 HSE_STATUS_INIT_OK チェックまたはコア 1 の起動に関連して、RM_Init (XRDC 初期化) の実行タイミングに関する既知の制約または前提条件はありますか? 5.4 MU送信ステータスレジスタ(TE1/TE2)がスタックし、HSEが記述子を処理しない理由を特定するために、どのような手順または追加のレジスタを確認する必要がありますか? このボトルネックを解消するためのご意見やご指導をいただければ大変ありがたく存じます。 よろしくお願いいたします。 Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 こんにちは、 @NewbieNerd さん HSEは常に回答を返すことになっている。応答がない場合、HSEはシャットダウンモードに移行した可能性が高いです。これは致命的なエラーが発生した場合に起こります。例えば、アクセス権限の不足、ダブルビットECCエラー、無効なアドレスなどが原因でHSEがデータを読み書きできない場合。 これは、MU_0のGSRレジスタを読み取ることで確認できます。ビット「0」が設定されている場合、HSEはシャットダウンモードです。 XRDCでエラーの詳細を確認するには、「19.7.3.2」の項に従う必要があります。S32K3リファレンスマニュアルの「ドメインアクセス違反エラーの処理」を参照してください。 ステップ2では、DERRレジスターの詳細を確認することが重要です。 デバッグを迅速に行うには、MDA_W0_0_DFMT0にDID=3を書き込むことで、Cortex-M7_0 / Cortex-M7_0_debugをドメイン3に移動できます(S32K328ではHSEは常にドメイン3にあります)。 すると、DERR に詳細が表示されます (これは、HSE によって何らかのエラーが発生したときにデバッガーで確認した例です)。DID = 0 の場合は、これは表示されませんでした。 これは何が問題だったのかの手がかりになるはずだ。 もう一つ重要な点は、HSE_STATUS_INIT_OKが設定された後にXRDCを有効にする必要があるということです。これはHSE FWリファレンスマニュアルに明記されています。 よろしくお願いいたします。 ルーカス Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 迅速なご返信ありがとうございます。ご要望いただいた開発環境の具体的なバージョン情報は以下のとおりです。 1. ソフトウェアおよびファームウェアのバージョン - HSEファームウェア: S32K358_0_2_40_0 注:このバージョンを使用しているのは、ドキュメントにS32K328派生版をサポートしていると明記されているためです。    -  RTD (リアルタイム・ドライバ):  AUTOSAR リリースバージョン: 4.7.0、ソフトウェアバージョン:3.0.0 2. 開発ツールチェーン IDE: このプロジェクトではS32DSを使用していません。 設定ツール:EB tresos Studioは、すべてのMCAL設定に使用されています。 EB tresos バージョン: 27.1.0 3. 追加情報 私は現在、ホスト側(Cortex-M7)の開発を主導しています。私たちは既に、この行動について社内のHSE FW開発チームと徹底的に協議し、合意形成を図っています。しかしながら、HSE FWの観点からは根本原因や異常は見つからなかったため、これはマルチコア/OSの初期化中に発生したホスト側のランタイム構成または同期の問題である可能性が高いと推測されます。 あなたのご指導のもと、正確なボトルネックを特定できることを心から願っております。EB tresosプロジェクトから、さらに設定ダンプやレジスタキャプチャが必要な場合はお知らせください。 よろしくお願いいたします。 Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 使用されているHSEファームウェアのバージョン、RTDおよびS32DSのリビジョンを具体的にご指定いただけますでしょうか?ありがとう Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 貴重なデバッグガイドと洞察をありがとうございました。 ご提案いただいた件について、さらに調査を行い、弊社側で以下の結果を確認いたしました。これらの調査結果を共有し、ツール構成の制約を回避する方法についてご助言をいただきたく存じます。 1. RTDバージョンの明確化 前回のやり取りでお伝えしたとおり、現在弊社では以下のものを使用しています。 - RTDソフトウェアバージョン:3.0.0 - AUTOSAR リリースバージョン: 4.7.0 2. EB tresos構成制約(ドメイン割り当て) S32K328では、HSEはドメイン3に恒久的に割り当てられているとおっしゃっていましたね。 しかし、EB tresos (v27.1.0) ではRTD 3.0.0 環境プラグインの場合、リソースマネージャ(RM)の構成構造では、ドメイン2(ドメインID 0、1、2)までしか割り当てることができません。 設定ツールではドメインの最大数が2に制限されているため、EB tresosを介してドメイン3にマスター/スレーブを適切に設定または割り当てることはできません。 質問:S32K328派生機種のEB tresosでドメイン3の設定を公式に有効化するRTDバージョンまたはパッチを具体的に教えていただけますか?それとも、実行時コードを使ってXRDCレジスタを手動でオーバーライドする必要があるのでしょうか? 3. XRDCエラーレジスタの状態(DERRLOCとDERR_Ww_iの比較) リファレンス・マニュアルの手順に従って、エラー状態中に以下の動作を確認しました。 XRDC_DERRLOC[3]はダンプによって0x00020000としてキャプチャされますが、周辺機器ビューではキャプチャされません(DERRLOC[3]は存在しません)。 しかし、エラー処理の手順に従ったにもかかわらず、すべてのDERR_Ww_iレジスタは0のままです。 ご指摘のとおり、DERRに詳細情報が不足しているのは、ホストコア(Cortex-M7_0)が別のドメイン(例えば、DID=0または1)で動作しているため、ドメイン3(HSE)によって生成されたエラーログを読み取ることができないことが原因のようです。 4. 実行タイミングの検証 ブートシーケンスを再確認した結果、HSE_STATUS_INIT_OKが設定された後にXRDCが明示的に有効になっていることを確認しました。これはHSE FWリファレンスマニュアルの要件に準拠しています。 5.指導依頼 上記のツール制約により、Cortex-M7_0またはそのデバッグマスターをEB tresos内のドメイン3に容易に移動できないため、以下の点についてアドバイスをいただけますでしょうか。 MCALの初期化を壊さずに、デバッグのためにMDA_W0_0_DFMT0を強制的にDID=3にオーバーライドする適切な方法はありますか? RTD 3.0.0において、ドメイン0/1からドメイン3のエラーレジスタを検査するための既知の回避策はありますか? 引き続きサポートいただき、誠にありがとうございます。 Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 ドメイン3が欠落していることは、RTD 3.0.0における既知の問題です。バージョン4.0.0以降で修正されています。推奨される解決策は、RTDを最新バージョンにアップグレードすることです。そうでなければ、XRDC レジスタの書き換え、構成ファイルの書き換え、新しい RTD で構成ファイルの生成、そしてそれをプロジェクトで使用するなど、何らかの回避策を手動で実装する必要が生じます。しかし、これは一時的な応急処置に過ぎず、推奨されるクリーンな解決策は、新しい RTD を使用することです。 「19.7.3.2」の項によるとドメインアクセス違反エラーの処理」では、エラーハンドラのためにドメインを再設定するのが一時的であるべきです。この段階では、デバッガーを使ってDIDを修正し、エラーの詳細を読み取れるようにしてみるのが良いでしょう。 MU_0のGSRレジスタのビット0が設定されていることを確認しましたか? よろしくお願いいたします。 ルーカス
View full article