Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
PWM Capture can't work in frdm_mcxw72 board Hi, I tried to practice the pwm capture sample in  frdm_mcxw72 board, but unfortunately, the print message in serial tool only show " capture cycle err -134" . I'm sure there is the 1Khz, 50% duty cycle pwm signal inject into the PTA21 pins in frdm_mcxw72 board. i imported the whole project files from the demo case,  there is no change that i only added the overlay file,   below is the overlay files setting. anliu114036_0-1783501416708.png can you help check the reason why there is no correct print information. thanks in advance! Re: PWM Capture can't work in frdm_mcxw72 board Hello, Hope you are doing well. Could you please clarify what Zephyr repo are you using? Also, are you starting from any of the examples? Did you modify something? Best Regards, Ricardo Re: PWM Capture can't work in frdm_mcxw72 board Hi Ricardo, The repo version is V4.4.1.0,  below is the my steps  1. Import the capture example application from the repo anliu114036_0-1783644698775.png  2. Add the  DTS overlay file in the board folder, the content of the overlay file  posted in first message. 3. build and flash into the frdm_mcxw72 board in my hand,  the print message is  "capture cycle err" ,  it looks the board state is ok because i didn't inject the pwm signal , but the print message is the same after the pwm signal injected into PTA21 pins.     Re: PWM Capture can't work in frdm_mcxw72 board Hello, Could you please clarify what repository are you using? Are you using Upstream or Downstream? Also, is the example working on your side without modifications? Best Regards, Ricardo Re: PWM Capture can't work in frdm_mcxw72 board Hi Ricardo here is the repo version  anliu114036_0-1783902527295.png i only update the overlay file,  it will be  can't build successfully if there is no this file. Best regards! Re: PWM Capture can't work in frdm_mcxw72 board Hello, Could you please clarify if you are using Upstream or Downstream? Best Regards, Ricardo Re: PWM Capture can't work in frdm_mcxw72 board Hi Ricardo, Sorry, i didn't very understand  what's the "Upstream" or "Downstream" here . i guess it should be the downstream. or can you change another description?
記事全体を表示
i.MX95 ブートROM:eMMC Boot0/Boot1をプライマリ/セカンダリ、FlexSPI NORをリカバリとして設定する こんにちは、専門家の皆様。 i.MX95のブートROMがプライマリ、セカンダリ、リカバリーの各ブート段階をどのように処理するのかを理解しようとしています。リファレンスマニュアルやU-Bootのsplソースコードの一部は確認しましたが、リカバリーブートの仕組みがどう機能するのかはまだよく分かっていません。 私の目標は、以下のブートアーキテクチャを実装することです。 プライマリブート: eMMC Boot0 セカンダリブート: eMMC Boot1 リカバリブート: FlexSPI NORフラッシュ(ゴールデンリカバリイメージ) arch/arm/mach-imx/image-container.cを調べていると、以下のコードに気付きました: printf("Boot stage: "); if (rom_data.boot_stage == 0x6) printf("Primary\n"); else if (rom_data.boot_stage == 0x9) printf("Secondary\n"); else if (rom_data.boot_stage == 0xa) printf("Recovery\n"); else printf("USB Serial Download\n"); これに基づき、ブートROMはプライマリ、セカンダリ、リカバリー、USBシリアルダウンロードの4つのブート段階をサポートしているようです。しかし、リカバリーステージがどのように選択・設定されるのかについて十分な情報が見つかりませんでした。 以下の質問について、ご助言いただければ幸いです。 eMMC Boot0とBoot1を プライマリおよびセカンダリブートパーティションとして 使用しながら、 FlexSPI NORフラッシュをリカバリブートデバイスとして 構成することは可能ですか ? この構成がサポートされている場合、推奨される構成方法は何ですか? ブートROMがプライマリ、セカンダリ、リカバリーの各ブートステージを選択する際に従う順序は何ですか? プライマリブートとセカンダリブートの両方が失敗した場合、どのような条件でリカバリブート段階が開始されますか? 開発や検証中にリカバリーモードをシミュレートするために、意図的に再現できる故障条件はどのようなものでしょうか?  Boot ROMのブート選択アルゴリズムやリカバリーブートフローについて詳細に説明したドキュメントやアプリケーションノートはありますか? ブートデバイスのヒューズ構成(ヒューズモード) は、 リカバリブートデバイスの選択に何らかの役割を果たしますか? リカバリデバイスは、ブートデバイスのヒューズによって決定されますか? それとも、ブートROMがeMMCにフュージョンされていても、自動的に別のブートデバイス(例えばFlexSPI NORなど)に切り替わることは可能でしょうか? 最終的な目標は、システムを通常はeMMC Boot0から起動し、必要に応じてeMMC Boot1にフォールバックし、両方のeMMCブートパーティションが利用できないか無効な場合は、 FlexSPI NORに保存されているゴールデンリカバリイメージから起動することです。 もし似たようなブートアーキテクチャを実装したことがある方や、関連するドキュメントやアプリケーションノートを教えていただける方がいれば、ぜひご指導いただけるとありがたいです。 お手数ですが、よろしくお願いいたします。 BR、 アルン・クマール Re: i.MX95 Boot ROM: Configuring eMMC Boot0/Boot1 as Primary/Secondary and FlexSPI NOR as Recovery こんにちは、 eMMC Boot0とBoot1をプライマリおよびセカンダリブートパーティションとして使用しながら、 FlexSPI NORフラッシュをリカバリブートデバイスとして構成することは可能ですか? いいえ、それは不可能です。LPブート用のリカバリーブートデバイスはLPSPI1/2のみで、他のブートソースをリカバリーオプションとして設定することはできません。 Oswalag_0-1783975544422.png
記事全体を表示
PWM捕获功能在frdm_mcxw72板上无法工作 你好, 我尝试在frdm_mcxw72板上练习pwm捕获示例,但不幸的是,串口工具中的打印消息只显示“捕获周期错误-134 ”。我确信有 1Khz、50% 占空比的 PWM 信号注入到 frdm_mcxw72 板的 PTA21 引脚中。 我从演示案例中导入了整个项目文件,没有任何改动,只是添加了覆盖文件,以下是覆盖文件设置。 anliu114036_0-1783501416708.png 请帮忙查一下为什么打印信息不正确。提前致谢! Re: PWM Capture can't work in frdm_mcxw72 board 你好, 希望你一切都好。请问您使用的是哪个 Zephyr 仓库? 另外,你是从哪些例子入手的?你修改过什么吗? 顺祝商祺! 里卡多 Re: PWM Capture can't work in frdm_mcxw72 board 你好, 请问您使用的是哪个代码仓库? 您使用的是上游还是下游? 另外,这个示例在您那边无需修改就能正常运行吗? 顺祝商祺! 里卡多 Re: PWM Capture can't work in frdm_mcxw72 board 嗨,里卡多, 仓库版本为V4.4.1.0,以下是我的步骤 1. 从仓库导入捕获示例应用程序 anliu114036_0-1783644698775.png 2. 将 DTS overlay 文件添加到板文件夹中,overlay 文件的内容已在第一条消息中发布。 3. 将固件编译并烧录到我手中的frdm_mcxw72开发板上,打印信息为: “捕获周期错误”,看起来板状态正常,因为我没有注入 PWM 信号,但是将 PWM 信号注入 PTA21 引脚后,打印消息仍然相同。     Re: PWM Capture can't work in frdm_mcxw72 board 嗨,里卡多 这是仓库版本 anliu114036_0-1783902527295.png 我只更新了覆盖文件,如果没有这个文件,就无法成功版本。 顺祝商祺! Re: PWM Capture can't work in frdm_mcxw72 board 你好, 请问您使用的是上游系统还是下游系统? 顺祝商祺! 里卡多 Re: PWM Capture can't work in frdm_mcxw72 board 嗨,里卡多, 抱歉,我不太明白这里的“上游”和“下游”是什么意思。我猜应该是下游。或者您能否修改其他描述?
記事全体を表示
MCTPTX1AK324, FreeMASTER connecttion problem 0x80000101 I'm using the MCTPTX1AK324 development board for motor development,,Right now,when I press button 3, the motor can run,I need to use the MCAT host computer to adjust the settings,But when using freeMASTER with the serial connection, it shows an error: connection timeout, 0x8000 0101,Can you take a look and see if the demo program needs any changes? Currently, the demo program has some code blocked. Initializing GD3000 and IPCF on the M3 causes the program to freeze, so we blocked them based on the FAE's suggestion. 3Q Re: MCTPTX1AK324, FreeMASTER connecttion problem 0x80000101 Hello,  here are some generic hints to resolve FreeMASTER connection timeout issues. If these will not help, I will try to reach out to motor control team for more specific help. Generally, timeout means the board does not answer FreeMASTER commands. I would recommend the following: 1. Make sure you are running the original unmodified software received from NXP and use a original board kit. 2. Check connection port and cable. In FreeMASTER go to Project/Options and check the serial COM port. It can happen there are more ports in your system and you have chosen a wrong one. 3. Use Tools/Connection Wizard to probe different COM ports. 4. Try to use FreeMASTER with a different application, ideally one of FreeMASTER sample applications if these are available for your target board. 5. Advanced: Hook an oscilloscope or logic analyzer to serial communication lines to see if the RX and TX signals are active. Put a breakpoint to FMSTR_ProtocolDecoder to see if the code ever stops there. If not, the commands do not even reach the MCU. Regards, Michal
記事全体を表示
NXPRDLIB_REM_GEN_INTFS usage Hi. I'd like to know what is the exact purpose of the NXPRDLIB_REM_GEN_INTFS define in NXP Reader Library. From what I can see, if it's defined a software API interface is built with the project, otherwise it's replaced by some binary equivalent, since then only the function prototypes are available... Is this correct? If so, where are the binary libs? What are pros/cons in selecting binary over software API? Thank you in advance, Peppe NFC Reader Library Re: NXPRDLIB_REM_GEN_INTFS usage @stephanie_m  Thats a bug in the Doxygen-Doku: /* DEBUG build mode */ /*#define NXPBUILD__PH_DEBUG*/ /**< DEBUG build definition */ #define NXPRDLIB_REM_GEN_INTFS Thus, the correct answer is still pending... Re: NXPRDLIB_REM_GEN_INTFS usage Hello, According to the API documentation of the reader library the definition you are seeing it's for build debug purposes Regards, Estephania Re: NXPRDLIB_REM_GEN_INTFS usage Hi Estephania, thank you for your interest. Starting e.g. at PN7462AU-FW_v05.21.00_Full file root that definition is enabled in some NFC Reader Library examples: $ grep -r NXPRDLIB_REM_GEN_INTFS NfcrdlibEx* NfcrdlibEx4_MIFAREClassic/intfs/ph_NxpBuild_App.h:#define NXPRDLIB_REM_GEN_INTFS NfcrdlibEx5_ISO15693/intfs/ph_NxpBuild_App.h:#define NXPRDLIB_REM_GEN_INTFS NfcrdlibEx7_EMVCo_Polling/intfs/ph_NxpBuild_App.h:#define NXPRDLIB_REM_GEN_INTFS NfcrdlibEx9_NTagI2C/intfs/ph_NxpBuild_App.h:#define NXPRDLIB_REM_GEN_INTFS and in some PN7462AU PSP examples too: $ grep -r NXPRDLIB_REM_GEN_INTFS PN7462AU* PN7462AU_ex_phExMain/inc/APP_NxpBuild.h:#define NXPRDLIB_REM_GEN_INTFS PN7462AU_ex_phExVCom/inc/APP_NxpBuild.h:#define NXPRDLIB_REM_GEN_INTFS and it is checked in many places in NFC Reader Library sources: $ grep -r NXPRDLIB_REM_GEN_INTFS NxpNfcRdLib/ NxpNfcRdLib/comps/phacDiscLoop/src/phacDiscLoop.c:#ifndef NXPRDLIB_REM_GEN_INTFS NxpNfcRdLib/comps/phacDiscLoop/src/phacDiscLoop.c:#endif /* NXPRDLIB_REM_GEN_INTFS */ NxpNfcRdLib/comps/phalFelica/src/phalFelica.c:#ifndef NXPRDLIB_REM_GEN_INTFS NxpNfcRdLib/comps/phalFelica/src/phalFelica.c:#endif /* NXPRDLIB_REM_GEN_INTFS */ NxpNfcRdLib/comps/phalI18000p3m3/src/phalI18000p3m3.c:#ifndef NXPRDLIB_REM_GEN_INTFS NxpNfcRdLib/comps/phalI18000p3m3/src/phalI18000p3m3.c:#endif /* NXPRDLIB_REM_GEN_INTFS */ (...) Best regards, Peppe Re: NXPRDLIB_REM_GEN_INTFS usage Hello, Which version of the library are you using ? Could you please help me with that information and the file where you are seeing this definition ? I was not able to locate the definition you are referring to neither in the  API documentation nor in the library, so it would help me a lot. Regards, Estephania
記事全体を表示
i.MX95 Boot ROM: Configuring eMMC Boot0/Boot1 as Primary/Secondary and FlexSPI NOR as Recovery Hello Experts, I am trying to understand how the i.MX95 Boot ROM handles the Primary, Secondary, and Recovery boot stages. I have gone through the Reference Manual and some of the U-Boot spl source code, but I am still not clear on how the Recovery boot mechanism is intended to work. My goal is to implement the following boot architecture: Primary boot: eMMC Boot0 Secondary boot: eMMC Boot1 Recovery boot: FlexSPI NOR flash (Golden Recovery Image) While looking through arch/arm/mach-imx/image-container.c, I noticed the following code: printf("Boot stage: "); if (rom_data.boot_stage == 0x6) printf("Primary\n"); else if (rom_data.boot_stage == 0x9) printf("Secondary\n"); else if (rom_data.boot_stage == 0xa) printf("Recovery\n"); else printf("USB Serial Download\n"); Based on this, it appears that the Boot ROM supports four boot stages: Primary, Secondary, Recovery, and USB Serial Download. However, I could not find sufficient information explaining how the Recovery stage is selected or configured. I would appreciate some guidance on the following questions: Is it possible to configure FlexSPI NOR flash as the Recovery boot device while using eMMC Boot0 and Boot1 as the Primary and Secondary boot partitions? If this configuration is supported, what is the recommended way to configure it? What is the sequence followed by the Boot ROM when selecting between the Primary, Secondary, and Recovery boot stages? If both Primary and Secondary boot attempts fail, what conditions trigger the Recovery boot stage? What failure conditions can be intentionally reproduced to simulate Recovery mode during development and validation?  Is there any documentation or application note that describes the Boot ROM boot selection algorithm and Recovery boot flow in detail? Does the boot device fuse configuration (Fuse Mode) play any role in selecting the Recovery boot device? Is the Recovery device determined by the boot device fuses? Or can the Boot ROM automatically switch to a different boot device (such as FlexSPI NOR) even when the boot device is fused to eMMC? Ultimately, my objective is to have the system normally boot from eMMC Boot0, fall back to eMMC Boot1 if necessary, and finally boot a Golden Recovery Image stored in FlexSPI NOR if both eMMC boot partitions are unavailable or invalid. If anyone has implemented a similar boot architecture or can point me to the relevant documentation or application notes, I would really appreciate your guidance. Thank you in Advance ! BR, Arun Kumar Re: i.MX95 Boot ROM: Configuring eMMC Boot0/Boot1 as Primary/Secondary and FlexSPI NOR as Recovery Hello, Is it possible to configure FlexSPI NOR flash as the Recovery boot device while using eMMC Boot0 and Boot1 as the Primary and Secondary boot partitions? No, it is not possible. The recovery boot device for LP boot is only LPSPI1/2, you can't configure any other boot source as recovery option.  Oswalag_0-1783975544422.png
記事全体を表示
IMXRT 1180ファミリ NXPチームの皆様、こんにちは。 現在、宇宙搭載コンピュータ(OBC)アプリケーションでのNXPマイクロコントローラの評価を進めています。 当初、 i.MX RT1170(MIMXRT1170)を検討しており、評価の際にNXPのドキュメントに 28nm FD-SOIテクノロジで製造されていることが記されていることに気づきました。半導体プロセス技術が当社の応用における重要な評価基準であるため、現在は i.MX RT1180 ファミリーの評価にも関心を持っています。 先に進む前に、 i.MX RT1180の製造工程についてご説明いただければ幸いです。 i.MX RT1180も i.MX RT1170と同様に 28nm FD-SOI技術で製造されているのでしょうか? もしなければ、RT1180に使われたプロセス**テクノロジ**について教えていただけますか? この装置の製造ノードやプロセス**テクノロジ**について言及した公式の**ドキュメント**や**製品**概要はありますか? 公開されているドキュメントを調査しましたが、RT1180プロセス技術に関する公式な声明は見つかりませんでした。 この情報は当社の内部テクノロジ評価および資格確認活動にとって重要であり、皆様からのご指導を大変ありがたいです。 再開まで今しばらくお待ちください。 Re: IMXRT 1180 Family こんにちは、@mayliu1 さん。 迅速な返信と、 i.MX RT1180 が 28nm FD-SOIテクノロジで製造されていることを確認してくださりありがとうございます。 もう一つ、ご説明をいただければ幸いです。これが以下の機器を含む すべての i.MX RT1180ファミリに適用されるのか確認していただけますか? i.MX RT1186 i.MX RT1187 i.MX RT1189 RT1180ファミリの全ての製品が同じ28nm FD-SOIプロセスで製造されている場合、この情報はペリフェラルおよび機能解析を進め、アプリケーションに最適なデバイスを決定するのに役立ちます。 ご確認いただければ幸いです。 再開まで今しばらくお待ちください。 よろしくお願いします、 ルースヴィク・R Re: IMXRT 1180 Family こんにちは、 @ruthvik_1 さん、 私たちの製品にご関心を寄せ、コミュニティをご利用いただき、本当にありがとうございます。 はい。i.MX RT1180は28nmのFD-SOIテクノロジを採用しています。 申し訳ありませんが、現時点ではこの装置の製造ノードやプロセス技術を明示的に言及した公的な公式ドキュメントや製品概要はありません。 お役に立てれば幸いです。 よろしくお願いいたします。 5月 Re: IMXRT 1180 Family こんにちは、@ruthvik_1 さん。 ご意見ありがとうございます。 はい、i.MX RT1186、i.MX RT1187、i.MX RT1189の情報を確認しました。これらはすべて同じ28nm FD-SOIプロセス**テクノロジ**で製造されています。   お役に立てれば幸いです。 よろしくお願いいたします。 5月 Re: IMXRT 1180 Family こんにちは、@mayliu1 さん。 迅速なご対応とご確認をいただき、ありがとうございます。この情報は非常に役立ち、大変感謝いたします。 ご確認をいただいた上で、私たちは評価を進め、製造テクノロジの確認とみなします。 再開まで今しばらくお待ちください。 よろしくお願いいたします。 ルースヴィク・R
記事全体を表示
NVT4857UKAZの代替部品 これはソフトウェアに直接関係ない話ですが、最近、 NVT4857UKAZ はすでにEOLに達しており、ピン・ツー・ピン対応の交換部品が入手できないことが判明しました。i.MX95ベースのデバイスではSDカード**サポート**が必須機能であるため、この状況を踏まえた代替手段を理解しようとしています。交換可能な選択肢や設計方法について、おすすめを教えていただけますか? Re: Alternative part for NVT4857UKAZ こんにちは! NVT4858を代替と呼んでください。 ただし、NVT4858はそのまま交換できるものではないことにご注意ください。したがって、新しいデバイスに対応するためにハードウェアとソフトウェアの両方の改造が必要になる場合があります。 ErikaC_0-1783547925570.png 移行の影響を評価するために、仕様や設計要件を慎重に確認することをお勧めします。 お役に立てば幸いです! Re: Alternative part for NVT4857UKAZ こんにちは! NVT4858を代替と呼んでください。 ただし、NVT4858はそのまま交換できるものではないことにご注意ください。したがって、新しいデバイスに対応するためにハードウェアとソフトウェアの両方の改造が必要になる場合があります。 ErikaC_0-1783547925570.png 移行の影響を評価するために、仕様や設計要件を慎重に確認することをお勧めします。 お役に立てば幸いです!
記事全体を表示
iMXRT1052 Generating key blob in custom firmware not accepted on boot. Hi,   I have an encrypted bootloader that is signed, and HAB is enabled but not sealed. When flashed via NXP’s Secure Provisioning Tool, it works fine. Similarly, when I concatenate the FCB + Padding + Signed and encrypted bootloader + key blob (where the key blob is generated by executing the following command in the terminal):   blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin"   it also works. However, if I run this process using custom firmware in a debug session (which is only used to generate the key blob), the resulting blob file is not accepted and the bootloader fails to execute. The DEK remains unchanged in both scenarios.   Both generated .bin files differ only at the blob offset address.   Is there any difference between the flashloader.bin provided by the Secure Provisioning Tool and the publicly available source code (MCU boot)?   The "stock" flashloader reports this version: blhost -u 0x15A2,0x0073 -- get-property 1 Response status = 0 (0x0) Success. Response word 1 = 1258424320 (0x4b020800) Current Version = K2.8.0   Based on the bl_version.h, the source should be consistent, and the Secure Provisioning Tool version is 25.09.   The custom firmware uses code snippets from the flashloader source (specifically found in bl_keyblob_dcp.c), and all dependencies are taken from the same source. This implementation will only be used internally, so extracting the DEK from the firmware is not a concern.   Thank you for your time. 🙂 Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot. Hi @JordanSt , May I understand you have tested with iMXRT1052 as below? 1. Load the flashloader from NXP’s Secure Provisioning Tool and use the following command to have dek.bin and blob.bin blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin" 2. Run a custom firmware with code from the sdk demo of flashloader on iMXRT1052 and use the same command as above to have the dek.bin and blob.bin.  3. The generated dek.bin files are the same, but the blob.bin files are not. If my understanding is correct , have you tried the flashloader from the sdk in step 2? Was the result the same? Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" 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. ------------------------------------------------------------------------------- Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot. Hi @Kan_Li ,  Thank you for your support. Regarding: 1. Load the flashloader from NXP’s Secure Provisioning Tool and use the following command to have dek.bin and blob.bin  -  Yes, to get the key blob. 2. Run a custom firmware with code from the sdk demo of flashloader on iMXRT1052 and use the same command as above to have the dek.bin and blob.bin.   -  Yes, I did, test with demo flashloader from the SDK, also a custom-custom firmware.  Not sure if important, but the main difference is that the flashloader from the SPT is executed from internal SRAM, the custom firmware or the demo from SDK is not, they are configured and build for External (on board) SDRAM.   3. The generated dek.bin files are the same, but the blob.bin files are not.  -  Yes, the DEK used in both scenarios stays the same (it make sense). From the resulted key blob, headers are the same, only bk and dek sections differ, mac section is all zeros. Have a great day 🙂 Jordan
記事全体を表示
iMXRT1052 自定义固件中生成的密钥blob在启动时未被接受。 您好,   我有一个已签名的加密引导加载程序,HAB 已启用但未密封。使用 NXP 的安全配置工具进行刷写时,运行正常。同样地,当我将 FCB + 填充 + 已签名和加密的引导加载程序 + 密钥 blob 连接起来时(其中密钥 blob 是通过在终端中执行以下命令生成的):   blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin"   也行得通。但是,如果我在调试会话中使用自定义固件运行此过程(仅用于生成密钥 blob),则生成的 blob 文件不被接受,引导加载程序执行失败。两种情况下,DEK 值保持不变。   两者都生成了 .bin 文件。文件仅在 blob 偏移地址处不同。   安全配置工具提供的 flashloader.bin 与公开可用的源代码(MCU 启动)之间有什么区别?   “官方”刷机工具报告的版本号为: blhost -u 0x15A2,0x0073 -- get-property 1 Response status = 0 (0x0) Success. Response word 1 = 1258424320 (0x4b020800) Current Version = K2.8.0   根据 bl_version.h,源代码应该一致,安全配置工具版本为 25.09。   该自定义固件使用了来自 flashloader 源代码(具体位于 bl_keyblob_dcp.c 中)的代码片段,所有依赖项均来自同一来源。此实现仅供内部使用,因此从固件中提取 DEK 不是问题。   感谢您抽出时间。 🙂 Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot. 嗨@JordanSt , 我理解您已使用 iMXRT1052 进行了如下测试? 1. 从NXP 的安全配置工具加载闪存加载器,并使用以下命令生成 dek.bin 和 blob.bin 文件。 blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin" 2. 使用 iMXRT1052 上的 flashloader 的 sdk 演示代码运行自定义固件,并使用与上面相同的命令生成 dek.bin 和 blob.bin。 3. 生成的 dek.bin 文件相同,但 blob.bin 文件不同。 如果我理解正确,您是否尝试过在步骤 2 中使用 SDK 中的 flashloader?结果是否相同? 祝你有美好的一天, 坎 ------------------------------------------------------------------------------- 笔记: - 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你! - 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。 如果您之后有相关问题,请另开新帖并引用已关闭的帖子。 ------------------------------------------------------------------------------- Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot. 嗨@Kan_Li , 感谢您的支持。 关于: 1. 从 NXP 的安全配置工具加载闪存加载器,并使用以下命令生成 dek.bin 和 blob.bin 文件。 - 是的,为了获取关键信息。 2. 使用 iMXRT1052 上的 flashloader 的 sdk 演示代码运行自定义固件,并使用与上面相同的命令生成 dek.bin 和 blob.bin。 - 是的,我测试过了,用 SDK 中的演示 flashloader 和自定义固件都测试过了。 不确定这是否重要,但主要区别在于 SPT 中的 flashloader 是从内部 SRAM 执行的,而 SDK 中的自定义固件或演示程序则不是,它们是为外部(在板上)同步动态随机存取存储器\(SDRAM\) 配置和构建的。 3. 生成的 dek.bin 文件相同,但 blob.bin 文件不同。 是的,两种情况下使用的DEK保持不变(这很合理)。从生成的密钥块来看,头部信息相同,只有bk和dek部分不同,mac部分全部为零。 祝你有美好的一天 🙂 约旦
記事全体を表示
MCTPTX1AK324、FreeMASTER接続の問題 0x80000101 モーター開発にはMCTPTX1AK324の開発ボードを使っています。今、ボタン3を押すとモーターは動きます。設定を調整するためにMCATホストコンピュータを使う必要があります。しかし、シリアル接続でfreeMASTERを使うとエラーが表示されます:接続タイムアウト、0x8000 0101。デモプログラムに変更が必要かどうか確認してもらえますか? 現在、デモプログラムの一部のコードがブロックされています。M3でGD3000とIPCFを初期化するとプログラムがフリーズするため、FAEの提案に基づいてブロックしました。 3Q Re: MCTPTX1AK324, FreeMASTER connecttion problem 0x80000101 こんにちは、 FreeMASTERの接続タイムアウト問題を解決するための一般的なヒントをいくつかご紹介します。それでも効果がなければ、より具体的なサポートを求めてモータ制御チームに連絡してみます。 一般的に、タイムアウトとは、ボードがFreeMASTERコマンドに応答しないことを意味します。以下のことをお勧めします。 1. NXPから受け取ったオリジナルの未修正ソフトウェアを使用し、オリジナルのボードキットを使用することを確認してください。 2. 接続ポートとケーブルを確認してください。FreeMASTERで「プロジェクト」→「オプション」に進み、シリアルCOMポートを確認してください。システムに他にもポートがあって、間違ったものを選んだ場合もあります。 3. ツール/接続ウィザードを使用して、さまざまなCOMポートを検査します。 4. FreeMASTERを別のアプリケーションで使うようにしましょう。理想的には、ターゲットボードでFreeMASTERサンプルアプリケーションが利用可能であれば、そのアプリケーションのいずれかを利用してください。 5. 上級編:オシロスコープまたはロジックアナライザをシリアル通信ラインに接続して、RX信号とTX信号がアクティブかどうかを確認します。FMSTR_ProtocolDecoderにブレークポイントを設定して、コードがそこで停止するかどうかを確認してください。そうでなければ、コマンドはMCUにすら届きません。 よろしくお願いいたします。 ミハル
記事全体を表示
登録:S32K eMIOSエンコーダーのCW/CCWカウンタの静的ローター位置での挙動 チームの皆さん、こんにちは。 私はS32K322マイクロコントローラを使っており、位置センサーからローター角度を得るためのエンコーダーインターフェースを実装しています。 申請ノートに基づいて、TRGMUX、LCU、eMIOSを含む必要なMCALモジュールを構成しました。エンコーダーの機能は正常に動作していますが、CWカウンターとCCWカウンターで予期しない動作が見られました。 私の質問は以下のとおりです。 ローターが動いていない静的なローター位置では、CWおよびCCWカウンターがフリーランニングカウンターとして振る舞うことが期待されますか? 私の場合、CWとCCWカウンターは増加し続けますが、絶対ポジション値はゼロのままです。これは想定される動作ですか? もしこれが予想されるなら、ローターが静止しているのにCWやCCWカウンターが増加する理由は何ですか? もし予想外の情報があれば、以下の方法を提案していただけませんか: MCALの設定(TRGMUX、LCU、またはeMIOS)において、必要な構成変更はありますか? ローターが静止しているときにCW/CCWカウンターが増加しないように、追加のソフトウェア機構やフィルタリングを実装すべきでしょうか? 参考のために動画を添付しました。 AWSライブラリS32K3 よろしくお願いいたします。 ティル Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position こんにちは、 LCnからのCWおよびCCW出力は、それ自体で位置カウンターではありません。インクリメンタルエンコーダの実装によれば、使用されるLCnは、検出された直交シーケンスに応じて、A/B信号の各エッジでCWまたはCCW出力にパルスストリームを生成します。eMIOSはこれらのパルスをカウントして位置を蓄積します。これは、PHA/PHBがLCUで処理され、eMIOSが位置蓄積のカウンターとして機能するS32K3の直交方式と一致しています。https://community.nxp.com/t5/S32K/Quadrature-decoder-on-S32K344/mp/1507580 ローターが本当に静的でエンコーダのA/B入力が安定している場合、新しいCW/CCWパルスを連続的に生成すべきではありません。したがって、CWとCCWの両方のカウンターが、絶対位置がゼロのまま増加するのは期待される「理想的な」挙動ではありません。 いくつか確認しておくと良い点があります。 eMIOSチャネルが本当にCW/CCWの入力パルスをカウントしているか、内部クロックソースではないか確認してください。 デバッガで使用されているeMIOSチャネルのUINステータスを確認してください。カウンターが増加してもUINが一定のままであれば、チャネルは意図した外部入力を使っていない可能性があります。 もしローターが静止している間にUINがトグルしている場合は、エンコーダA/B信号、TRGMUXルーティング、LCU出力、入力フィルタリングを調べてください。 また、ノイズやグリッチがないことを確認するために、エンコーダのA/B信号とLCUのCW/CCW出力をオシロスコープで監視してください。 これにより、問題の原因がエンコーダ信号の活動/ノイズによるものか、eMIOSの設定の問題によるものかを判断するのに役立つはずです。 BR、ペトル Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position こんにちは、 I could not find any register corresponding to the UIN status in the S32K322 リファレンス・マニュアル. Could you please check and guide me on how to verify this for further analysis? I debugged the registers that update the CW and CCW counters. According to the 参考マニュアル, eMIOS チャンネル 5 MCU CNT corresponds to the CW counter, and eMIOS チャンネル 6 MCU CNT corresponds to the CCW counter. しかし、MCU CNTのレジスタは、ローターが静的状態でも0から65535(フリーランニング)まで連続的に増加し続けるのを観察しました。この行動が予想されるものなのか、あるいは何が原因なのか教えていただけますか? 参考までに、関連するレジスタ値のスクリーンショットを添付しました。 さらに、MCALの設定も確認しましたが、共有されたアプリケーションノート通りに正しく設定されています。 早くもサポート よろしくお願いいたします。 ティル Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 質問にお答えください。 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position こんにちは、 UINと書きましたが、チャネルSレジスタのUCINビットであるはずです。 レジスタビューに基づくと、コントロールレジスタは0x20E06D1に設定されており、これは外部信号のカウントである0x51が使用されている正しいモードを示しています。 私の理解ではLCnはCWまたはCCW出力の各A/B信号エッジでパルスストリームを生成するため、定常モーター/エンコーダ信号ではパルスを発生させず、カウントされることはありません。 また、TRGMUX出力が選択されているかを確認するために、それぞれのSIUL IMCRレジスタも確認できます PetrS_0-1784696552579.png BR、ペトル  
記事全体を表示
如何确保 gPTP 二层数据包通过 S 上的 GMAC0 以最高优先级传输 你好 如何确保 gPTP 第 2 层数据包通过 S32G399 上的 GMAC0 以最高优先级传输? zhijie_0-1783478043907.png Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 确保 gPTP 帧进入 Q4 区。 如何实现这一点? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您的回复和提供的信息。 您可以参考 BSP 用户手册,按照下图所示的方式尝试实现此功能。可以考虑为第四季度设定一个单独的时间窗口,并给予其更高的优先级。此外,确保 gPTP 帧进入 Q4。以下命令可用于设置第二层时间窗口,供参考: tc qdisc add dev eth0 root taprio \ num_tc 5 \ 地图 0 1 2 3 4 \ 队列 1@0 1@1 1@2 1@3 1@4 \ 基准时间 0 \ 计划条目 S 10 50000 \ 调度条目 S 0f 450000 \ 计划条目 S 1f 96 \ 标志 0x2 Joey_z_0-1783569523008.png 希望这些信息对您有所帮助。 BR 乔伊 Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 您在 M 核或 A 核上使用 GMAC0 时是否使用 gPTP? A:在 A 核上 您目前是否正在使用GMAC的TSN功能?是否使用了VLAN? A:利用 GMAC 的 TSN 功能:gptp;gptp 数据包上没有 VLAN。 GMAC控制器提供五个发送/接收队列, 我需要将所有 gPTP 流量路由到优先级最高的 Tx/Rx 队列(q4)。 请问在Linux系统中,相应的寄存器配置、代码实现方法以及如何配置(例如:tc、ip)? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您与我们联系。您能提供更多信息吗? 您在 M 核或 A 核上使用 GMAC0 时是否使用 gPTP? 您目前是否正在使用GMAC的TSN功能?是否使用了VLAN? BR 乔伊 Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您的回复。 您可以尝试在设备树的 gmac0 部分配置队列信息。 其中包含 arch\arm64\boot\dts\freescale\s32cc.dtsi 文件。         gmac0 :以太网@4033c000 { 状态 = "已禁用" ; compatible = "nxp,s32cc-dwmac" ; mtl_rx_setup_gmac0 : rx-queues-config { snps,要使用的 rx 队列 = < 5 >; #address-cells = < 1 >; #size-cells = < 0 >;                 queue@0 { };                 queue@1 { };                 queue@2 { };                 queue@3 { };                 queue@4 { }; };             mtl_tx_setup_gmac0 : tx-queues-config { snps,要使用的交易队列 = < 5 >; #address-cells = < 1 >; #size-cells = < 0 >;                 queue@0 { };                 queue@1 { };                 queue@2 { };                 queue@3 { };                 queue@4 { }; }; 另外,可以在 GMAC 驱动程序中找到 RX 队列数据包路由配置,您可以尝试将节点设置为 Q4 的“snps,route-ptp”。 Joey_z_0-1783656314593.png 如果您还有任何疑问,可以随时联系我们。   BR 乔伊
記事全体を表示
S32K389 AES_ACCEL 在加密 64KB 数据时会挂起/冻结 您好,NXP团队: 我正在使用S32K389并测试AES_ACCEL (ACE/MSC)模块。我在处理大型数据缓冲区时遇到了稳定性问题。 测试设置: 模式: AES-密码块链接(CBC) 案例 1(通过):加密4KB数据工作正常。 企业微信截图_17834738161180.png 案例 2(失败):加密64KB数据会导致芯片在执行 AES 服务时立即崩溃/挂起。 观察到的行为: S32DS(S32 设计工作室)在执行 AES 服务期间冻结。 尝试通过调试器连接到 S32K389 完全失败。 企业微信截图_17834744241242.png 问题: 对于每个 AES_ACCEL 事务的最大数据长度,是否存在任何已知的限制? 此致, 显龙 Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 嗨@wuxianlong 让我查一下。我会尽快回复您。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 很抱歉耽搁了,我遇到了一些内部资源访问权限方面的问题,解决起来比预期要花更多时间。我会尽快回复。感谢您的耐心等待。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 嗨@wuxianlong CMAC生成验证服务存在以下限制: lukaszadrapa_2-1784041947940.png 我还在确认加密方面是否存在限制。我稍后会通知你。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 你好, @lukaszadrapa 非常感谢您的解释。加密和 CMAC 验证可能面临同样的局限性。 此致, 显龙 Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 我了解到大小限制为 512KB - LEN 位域的大小为 19 位。 有趣的是,程序执行完全崩溃了。我预计 AES_ACCEL 在参数无效的情况下会返回一些错误代码。 那不是XRDC引起的吗?XRDC 是否已启用?您能否尝试将其禁用以进行测试? 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 你好, @lukaszadrapa 使用 64KB 进行测试仍然失败。启用 AEC 错误检测后发现,IP 驱动程序宏将限制设置为(1 << 19) - 1​ 位 < 64 KB。 image.png 此致, 显龙
記事全体を表示
カーネル6.6.92ではPN7160が応答しません 当チームはPN7160をカーネル6.6.92に移植しました。 しかし現在、NFCタグを 読み取ることができません 。 以下は、当社の被試験デバイス(DUT)に関する情報です。 カーネルバージョン: 6.6.92 OS: ヨクト・スカースギャップ PN7160 ドライバーパッチファイル: 0003-nfc-nxpnfc-add-NXP-PN7160-i2c-spi-kernel-driver.patch(NFCのGitHubリポジトリからクローンし、カーネル6.6に対応するように修正しました) nfcDemoApp レシピ: recipes-nfc.7z (NFC GitHub からクローンし、ビルドエラーを修正するために変更しました) カーネルログ: nfc-log.txt この問題を解決するためのアドバイスをいただけますか? 回复: PN7160 no response with kernel 6.6.92 libnfc-nxp.conf ファイルで LOGLEVEL を 0x03 に設定してください。次に、nfcDemoAppを実行したときのログを送ってください。確認のため、libnfc-nci.confとlibnfc-nxp.confも送ってください。 回复: PN7160 no response with kernel 6.6.92 ご返信よろしくお願いします。 ログファイルと設定ファイル(libnfc-nci.confとlibnfc-nfc.conf)添付されています。 何かアドバイスをいただけますか?
記事全体を表示
如何在 S32DS 上测量 S32G399 裸机应用程序的 CPU 负载 大家好, 我想知道如何在 S32G399 运行时测量其 CPU 负载。 背景:我的 S32G399 项目是一个四核 M7 裸机项目,只有一个 ELF 文件,是在 S32DS3.5.10 上开发的。我使用自定义引导加载程序来启动 A53 和 M7,该程序已经实现。我的需求是测量M7端的CPU负载。我手头有 S32 调试探针,因此我可以在我的 M7 应用程序运行时将其连接到该应用程序。但是,我不知道测量负载的具体步骤/方法。我甚至不知道仅使用 S32 调试探针是否能够实现此目标。 希望有人能提供相关文件或指导。 谢谢! Re: How to measure CPU load for S32G399 baremetal application on S32DS 你好, @Yang_C 感谢你的帖子。 1. 据我了解,仅仅依靠调试器可能无法准确获取运行时 CPU 负载。 2. 可以向自己的应用程序添加一些代码,例如启用计时器,然后测量执行主要任务的时间。计算(执行时间)/(运行时间)的比例,以评估 CPU 的大致负载。 BR 陈银 Re: How to measure CPU load for S32G399 baremetal application on S32DS 非常感谢。我将尝试从代码端进行测量。
記事全体を表示
LSDK 25.12 udev 自动加载与 /boot/modules 布局的竞争 NXP团队您好, 我们使用的环境如下: * 平台:i.MX8MP * 发行版:Debian 13 / trixie * LSDK 版本:LSDK-25.12_DEBIAN-13_LF-6.12.20 * 内核版本:6.12.20 * systemd / udev: 257.x * kmod / libkmod:34.x 我们遇到了一个间歇性的冷启动问题,其中某些内核模块无法通过 udev 自动加载。就我们而言,受影响的设备主要是音频编解码器/音频链和 WLAN 模块。 症状包括: * `snd_soc_wm8962` 未加载 音频编解码器和音频平台设备仍然不受限制 `aplay -l` 报告没有声卡 * 无线局域网接口缺失 * 启动后手动运行 `modprobe` 或 `udevadm trigger --action=add` 可以恢复设备。 经过调试,我们发现该问题似乎与此 flexbuild 版本使用的内核模块布局有关。 在 `LSDK-25.12_DEBIAN-13_LF-6.12.20` flexbuild 标签中,`configs/debian/debian_post_config.sh`创建以下符号链接: ```sh ln -sf /boot/modules /lib/modules ``` 此外,`tools/create_bootpartition` 会将内核模块复制到启动分区: ```sh cp -rf $KERNEL_OUTPUT_PATH/$KERNEL_BRANCH/tmp/lib/modules $bootpartdir ``` 因此,在运行时,`/lib/modules` 依赖于 `/boot/modules`,而 `/boot` 稍后由 `boot.mount` 挂载。 我们还注意到 `src/system/启动.mount`包含: ```ini [Unit] Description=启动分区 Before=systemd-modules-load.service [山] What=UUID=PARTUUID 地点=/启动 类型=ext4 选项=默认值 [安装] WantedBy=local-fs.target ``` 这似乎是为了确保在由 `systemd-modules-load.service` 处理的静态模块加载路径之前挂载 `/boot`。 然而,我们的问题并非出在 `systemd-modules-load.service` 上。受影响的音频/WLAN模块由udev通过设备`MODALIAS`事件动态加载。 在启动失败的情况下,我们观察到受影响的设备事件是在 `boot.mount` 之前由 udev 处理的。已完成。此时,`/lib/modules` 指向 `/boot/modules`,但 `/boot` 尚未挂载。因此,libkmod 无法访问模块别名/索引文件或相应的 `.ko` 文件,所以 udev 模块自动加载路径失败。由于 udev 事件已被处理,除非我们手动重新触发 udev 或运行 `modprobe`,否则驱动程序不会再加载。 我们对失败路径的理解是: ```文本 内核设备添加事件 → udev 接收到 MODALIAS 事件 → udev/libkmod 尝试访问 /lib/modules → /lib/modules 指向 /boot/modules。 → /boot 尚未挂载 → 模块别名/索引文件或 .ko 文件文件不可用 → 模块自动加载失败 ``` 我们想确认以下事项: 1. 对于 LSDK 25.12 Debian 13 版本,`/lib/modules -> /boot/modules` 的布局是否符合预期? 2. 早期 udev 的 `MODALIAS` 处理和后期的 `boot.mount` 处理之间存在竞争关系吗?这是该布局的已知问题或已知局限性吗? 3. 我们注意到,当前的上游 flexbuild 主分支似乎已经改变了这种架构:内核模块不再通过 `create_bootpartition` 复制到启动分区,并且 `debian_post_config.sh` 中不再创建 `/lib/modules -> /boot/modules` 符号链接。 这种架构变更是否与避免这种早期启动模块自动加载竞争有关? 4. 对于 LSDK 25.12 Debian 13,NXP 针对此问题推荐的修复方案或变通方法是什么? 请与我们联系,告知我们我们的理解是否正确,以及该版本是否有官方补丁或推荐的更新途径。 谢谢。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: LSDK 25.12 udev autoload race with /boot/modules layout 您好, Q1:这样做的初衷是将内核映像和模块放在启动分区上,这样在升级内核时,只需要替换启动分区,而无需修改根文件系统。这种布局是故意设计的,并非错误。 Q2:你的推理是正确的;这是这种布局固有的局限性。 Q3:构建镜像时,您可以进行一次性调整,将根文件系统中的 `/boot/modules` 内容移动到 `/lib/modules`,并删除符号链接: rm -f /lib/modules mkdir -p /lib/modules cp -a /boot/modules/* /lib/modules/ 同时, 1. 修改构建脚本中的 `tools/create_bootpartition`,并删除 `cp -rf .../lib/modules $bootpartdir` 这行; 2. 修改 `debian_post_config.sh` 文件,并删除 `ln -sf /boot/modules /lib/modules` 这行; 3. 配置 `bld linux / modules_install` 目标,将模块安装到根文件系统中(参见 `main` 分支中 ` linux-modules`目标的实现)。 此致, 志明
記事全体を表示
Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Hi Team, I am using the S32K322 microcontroller and have implemented the encoder interface to obtain the rotor angle from a position sensor. I have configured the required MCAL modules, including TRGMUX, LCU, and eMIOS, based on the application note. The encoder functionality is operational; however, I have observed unexpected behavior with the CW and CCW counters. My questions are as follows: During a static rotor position (i.e., when the rotor is not moving), is it expected for the CW and CCW counters to behave as free-running counters? In my case, both the CW and CCW counters continue to increment, while the absolute position value remains at zero. Is this expected behavior? If this is expected, what is the reason for the CW and CCW counters incrementing even though the rotor is stationary? If this is not expected, could you please suggest: Any configuration changes required in the MCAL setup (TRGMUX, LCU, or eMIOS)? Any additional software mechanism or filtering that should be implemented to prevent the CW/CCW counters from incrementing when the rotor is stationary? Attached the video for your reference AWS-LIBRARIES-S32K3  Regards, Thiru Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Hi, The CW and CCW outputs from LCn are not position counters by themselves. According to the incremental encoder implementation, used LCn generates pulse streams on the CW or CCW output at every A/B signal edge, depending on the detected quadrature sequence. eMIOS then counts these pulses to accumulate position. This matches the S32K3 quadrature approach where PHA/PHB are processed by LCU and eMIOS acts as the counter for position accumulation. https://community.nxp.com/t5/S32K/Quadrature-decoder-on-S32K344/m-p/1507580 If the rotor is truly static and the encoder A/B inputs are stable, then new CW/CCW pulses should not be continuously generated. So both CW and CCW counters incrementing while the absolute position remains zero is not the expected “ideal” behavior. A few things are worth checking: Verify that the eMIOS channel is really counting the CW/CCW input pulses and not an internal clock source. Check the UIN status of the used eMIOS channel in the debugger. If UIN remains constant while the counter increments, the channel may not be using the intended external input. If UIN is toggling while the rotor is stationary, investigate encoder A/B signals, TRGMUX routing, LCU outputs, and input filtering. Also monitor the encoder A/B signals and LCU CW/CCW outputs on a scope to rule out noise or glitches. This should help determine whether the issue is caused by encoder signal activity/noise or by an eMIOS configuration issue. BR, Petr Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Hi, I could not find any register corresponding to the UIN status in the S32K322 Reference Manual. Could you please check and guide me on how to verify this for further analysis? I debugged the registers that update the CW and CCW counters. According to the Reference Manual, eMIOS Channel 5 UC CNT corresponds to the CW counter, and eMIOS Channel 6 UC CNT corresponds to the CCW counter. However, I observed that both UC CNT registers keep incrementing continuously from 0 to 65535 (free-running), even when the rotor is in a static condition. Could you please let me know whether this behavior is expected, or suggest what could be causing it? I have attached a screenshot of the relevant register values for reference. Additionally, I verified the MCAL configuration, and it is configured correctly as per the application note that was shared. Support at earliest Regards, Thiru Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Please reply for the query Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Hi, I wrote UIN, but it should be UCIN bit of the channel S register. Based on register view I see Control register is set to 0x20E06D1, which indicate correct mode used 0x51, counting of external signal. Per my understanding LCn generates pulse streams on the CW or CCW output at every A/B signal edge, so with steady motor/encoder signals, no pulses should be generated and so counted. You can also check respective SIUL IMCR registers to be sure TRGMUX output is selected PetrS_0-1784696552579.png BR, Petr  
記事全体を表示
LSDK 25.12 udev autoload race with /boot/modules layout Hi NXP team, We are using the following environment: * Platform: i.MX8MP * Distribution: Debian 13 / trixie * LSDK release: LSDK-25.12_DEBIAN-13_LF-6.12.20 * Kernel: 6.12.20 * systemd / udev: 257.x * kmod / libkmod: 34.x We encountered an intermittent cold boot issue where some kernel modules are not automatically loaded by udev. In our case, the affected devices are mainly the audio codec/audio chain and WLAN module. The symptoms include: * `snd_soc_wm8962` is not loaded * the audio codec and audio platform devices remain unbound * `aplay -l` reports no sound cards * the WLAN interface is missing * manually running `modprobe` or `udevadm trigger --action=add` after boot can recover the devices After debugging, we found that the issue seems related to the kernel module layout used by this flexbuild release. In the `LSDK-25.12_DEBIAN-13_LF-6.12.20` flexbuild tag, `configs/debian/debian_post_config.sh` creates the following symlink: ```sh ln -sf /boot/modules /lib/modules ``` Also, `tools/create_bootpartition` copies the kernel modules into the boot partition: ```sh cp -rf $KERNEL_OUTPUT_PATH/$KERNEL_BRANCH/tmp/lib/modules $bootpartdir ``` Therefore, at runtime, `/lib/modules` depends on `/boot/modules`, and `/boot` is mounted later by `boot.mount`. We also noticed that `src/system/boot.mount` contains: ```ini [Unit] Description=Boot Partition Before=systemd-modules-load.service [Mount] What=UUID=PARTUUID Where=/boot Type=ext4 Options=defaults [Install] WantedBy=local-fs.target ``` This appears to ensure that `/boot` is mounted before the static module loading path handled by `systemd-modules-load.service`. However, our issue is not from `systemd-modules-load.service`. The affected audio/WLAN modules are loaded dynamically by udev through device `MODALIAS` events. In failing boots, we observed that the affected device events are processed by udev before `boot.mount` has completed. At that moment, `/lib/modules` points to `/boot/modules`, but `/boot` has not been mounted yet. As a result, libkmod cannot access the module alias/index files or the corresponding `.ko` files, so the udev module auto-loading path fails. Since the udev event has already been processed, the driver is not loaded later unless we manually retrigger udev or run `modprobe`. Our understanding of the failing path is: ```text kernel device add event → udev receives the MODALIAS event → udev/libkmod tries to access /lib/modules → /lib/modules points to /boot/modules → /boot is not mounted yet → module alias/index files or .ko files are not available → module auto-loading fails ``` We would like to confirm the following: 1. Is the `/lib/modules -> /boot/modules` layout expected for the LSDK 25.12 Debian 13 release? 2. Is the race between early udev `MODALIAS` handling and the later `boot.mount` a known issue or known limitation of this layout? 3. We noticed that the current upstream flexbuild main branch appears to have changed this architecture: kernel modules are no longer copied into the boot partition by `create_bootpartition`, and the `/lib/modules -> /boot/modules` symlink is no longer created in `debian_post_config.sh`. Is this architecture change related to avoiding this kind of early boot module auto-loading race? 4. For LSDK 25.12 Debian 13, what is NXP’s recommended fix or workaround for this issue? Please let us know whether our understanding is correct and whether there is an official patch or recommended update path for this release. Thanks. i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: LSDK 25.12 udev autoload race with /boot/modules layout Hi, Q1: The original intention behind this was to place the kernel image and modules together on the boot partition, so that when upgrading the kernel, only the boot partition needs to be replaced, without having to modify the root filesystem. This layout is intentional and is not a bug. Q2:Your line of reasoning is correct; this is an inherent limitation of this layout. Q3: When building the image, you can make a one-time adjustment to move the contents of `/boot/modules` to `/lib/modules` in the root filesystem and remove the symbolic links: rm -f /lib/modules mkdir -p /lib/modules cp -a /boot/modules/* /lib/modules/ At the same time, 1. modify `tools/create_bootpartition` in the build script and remove the line `cp -rf .../lib/modules $bootpartdir`;  2. Modify `debian_post_config.sh` and remove the line `ln -sf /boot/modules /lib/modules`;  3. Configure the `bld linux / modules_install` target to install modules into the root filesystem (see the implementation of the `linux-modules` target in the `main` branch). Best Regards, Zhiming
記事全体を表示
寄存器:S32K eMIOS 编码器在静态转子位置的顺时针/逆时针计数器行为 大家好, 我正在使用 S32K322 微控制器,并实现了编码器接口,以从位置传感器获取转子角度。 我已根据应用笔记配置了所需的 MCAL 模块,包括 TRGMUX、LCU 和 eMIOS。编码器功能正常;但是,我发现 CW 和 CCW 计数器出现了意外情况。 我的问题如下: 在转子静止时(即转子不移动时),顺时针和逆时针计数器是否应表现为自由运转计数器? 就我而言,顺时针和逆时针计数器都在持续递增,而绝对位置值始终为零。这是预期行为吗? 如果这是预期行为,那么即使转子静止不动,CW 和 CCW 计数器为何还会递增? 如果这不是预期行为,请您提出以下建议: MCAL 设置(TRGMUX、LCU 或 eMIOS)是否需要进行任何配置更改? 是否需要实施任何额外的软件机制或过滤措施来防止转子静止时 CW/CCW 计数器递增? 附上视频供您参考。 AWS-LIBRARIES-S32K3 此致, 蒂鲁 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 您好, LCn 的 CW 和 CCW 输出本身并不是位置计数器。根据增量编码器的实现方式,所用的 LCn 会在每个 A/B 信号边沿生成 CW 或 CCW 输出脉冲流,具体取决于检测到的正交序列。然后,eMIOS 对这些脉冲进行计数以累积位置信息。这与 S32K3 正交方法相符,其中 PHA/PHB 由 LCU 处理,eMIOS 充当位置累积的计数器。https://community.nxp.com/t5/S32K/Quadrature-decoder-on-S32K344/mp/1507580 如果转子确实静止不动,并且编码器 A/B 输入稳定,则不应持续产生新的 CW/CCW 脉冲。因此,当绝对位置保持为零时,顺时针和逆时针计数器都递增,这不是预期的“理想”行为。 有几件事值得检查: 确认 eMIOS 通道确实在计数 CW/CCW 输入脉冲,而不是内部时钟源。 在调试器中检查所用 eMIOS 通道的 UIN 状态。如果 UIN 在计数器递增时保持不变,则该通道可能未使用预期的外部输入。 如果转子静止时 UIN 发生切换,请检查编码器 A/B 信号、TRGMUX 路由、LCU 输出和输入滤波。 同时在示波器上监测编码器 A/B 信号和 LCU CW/CCW 输出,以排除噪声或故障。 这应该有助于确定问题是编码器信号活动/噪声引起的,还是 eMIOS 配置问题引起的。 BR,彼得 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 您好, 我在S32K322参考手册中找不到与UIN状态对应的任何寄存器。请问您能否帮忙查找并指导我如何验证这一点以便进行进一步分析? 我调试了用于更新 顺时针 和 逆时针 计数器的 寄存器 。根据参考手册, eMIOS 通道 5 的 UC CNT 对应于顺时针计数器, eMIOS 通道 6 的 UC CNT 对应于逆时针计数器。 然而,我观察到即使转子处于静止状态,两个UC CNT寄存器仍然持续从0 递增到 65535 (自由运转)。请问这种现象是否正常,或者可能是什么原因造成的? 我已附上相关寄存器值的截图供您参考。 此外,我还验证了 MCAL 配置,其配置与共享的**应用笔记**中所述一致,是正确的。 尽早提供支持 此致, 蒂鲁 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 请回复此查询 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 您好, 我写的是 UIN,但它应该是通道 S 寄存器的 UCIN 位。 根据寄存器视图,我看到控制寄存器设置为 0x20E06D1,这表明使用了正确的模式 0x51,即对外部信号进行计数。 据我了解,LCn 在每个 A/B 信号边沿在 CW 或 CCW 输出端产生脉冲流,因此对于稳定的电机/编码器信号,不应产生脉冲,因此不应计数。 您还可以检查相应的 SIUL IMCR 寄存器,以确保已选择 TRGMUX 输出。 PetrS_0-1784696552579.png BR,彼得  
記事全体を表示