Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
Microcontroller selection for entry-level consumer graphical application Hi support Team, I  am looking for support in selecting an entry-level microcontroller for a consumer graphical application. Requirements: Display: small display up to 320 × 240 Memory: around 1 MB Flash and 256 KB RAM Power: preferably mainstream or low-power Peripherals: 3 SPI instances 2 I2C instances 2 ADC channels The peripherals will be used with dedicated sensors The application is a consumer product with a small graphical interface and dedicated sensor connections. I am looking for a cost-effective microcontroller that can support the display, peripheral interfaces, and basic graphics requirements in an entry-level solution. Questions: Could you recommend suitable microcontroller families or specific part numbers that best match these requirements?  Is there an existing example or reference project that could be used as a starting point for development?  Best Regards, Nuyuan MCXC MCXN Re: Microcontroller selection for entry-level consumer graphical application Hello @Yuza , Thanks for your post.  Based on your requirements, we would recommend MCX N94x / N54x. MCXN94x/54x: MCX N94, N54, N53, N52 and N24 MCUs | NXP Semiconductors The main reason is memory fit. Your target is around 1 MB Flash and 256 KB RAM , while the MCXN546 / MCXN946 devices provide 1 MB Flash and 352 KB SRAM , and the MCXN547 / MCXN947 devices provide 2 MB Flash and 512 KB SRAM , all running at up to 150 MHz. This family is also a good fit for a small graphical interface. NXP positions the MCX N family for industrial/consumer HMI applications and highlights display support in the portfolio overview. The MCX N series includes SmartDMA for display and fast I/O use cases, and FlexIO can be used for LCD interfaces. The MCX N94x / N54x series integrates 10 low-power Flexcomm instances , and these encapsulate LPSPI, LPUART, and LPI2C functions, giving sufficient serial interface resources for requirements such as 3x SPI and 2x I2C . The documentation includes AN14172, Using SmartDMA for Graphic on MCX N Series MCU , which describes graphics-oriented data handling on MCX N and includes an SDK example named lvgl_demo_widgets_bm . That example uses FlexIO to emulate an MCU8080 interface to drive a 3.5-inch LCD , with SmartDMA transferring data to the FlexIO data registers. In addition, MCX N is listed in NXP’s MCUXpresso GUI ecosystem as a supported platform for LVGL-based development. We also have LVGL demos in our SDK. We also have EVK board for your evaluation: MCXN947 FRDM Board for Industrial IoT Solutions | NXP Semiconductors Hope it helps. BR Celeste
View full article
i.MX 8M Plus:ISIドライバーの選択、RMでのガスケットドキュメント、およびデインターレースのサポート CPU/モジュール = i.MX 8M Plus (TQMa8MPxL) カーネル = NXPカーネル 6.6 H.264エンコード用に、MIPI-CSI2経由でインターレースビデオソース(1080i / 480i)をキャプチャします。 AN13857(「i.MX 8Mシリーズ MIPIキャプチャシステム」、セクション8)に記載されているハードウェアデインターレース機能がi.MX 8M Plusで使用できるかどうかを調べています。 この過程で、3つの疑問点が浮かび上がったので、ここで明確にしておきたいと思います。 今後、どのISIドライバーを使用すべきでしょうか? 現在のNXPカーネルには、ISIドライバの実装が2つあるようです。1つは`drivers/staging/media/imx/`にある古いバージョン、もう1つは`drivers/media/platform/nxp/imx8-isi/`にある新しいバージョンです。 NXP社は、現在のBSPに対応したi.MX 8M Plus向けに公式にサポートされ推奨されているドライバはどれか、また古いドライバは非推奨とみなされているのかどうかを明確にしていただけますでしょうか? ガスケットレジスターは、i.MX 8M Plusリファレンスマニュアルに記載されていますか? AN13857では、i.MX 8M Plusでデインターレースを設定するメカニズムとして、ガスケット制御レジスタ(特にインターレースモードを選択するフィールド)を参照しています。IMX8MPRM (Rev.2) NXP社は、ガスケットレジスタの説明(特にインターレースモードフィールド)がIMX8MPRMのどこかに記載されているかどうかを明確にしていただけますでしょうか? AN13857で示されているハードウェアによるデインターレース処理は、現在のISIドライバでサポートされていますか? 現在のドライバでは、AN13857で説明されているインターレース入力の方法でガスケットとISIをプログラムするコードパスを特定できませんでした。 NXP社に説明をお願いできますでしょうか? AN13857 ハードウェア デインターレース フローが現在の ISI ドライバで標準でサポートされているかどうか、 はいの場合、アプリケーションによってどのように有効化されますか? そうでない場合、NXPが現在この機能を必要とする顧客に対して推奨する解決策(ソフトウェアによるインターレース解除、カスタムドライバの開発など)を教えてください。 よろしくお願いします。 よろしくお願いします、 ラファエロ グラフィック&ディスプレイ i.MX 8ファミリー | i.MX 8QuadMax (8QM) | 8QuadPlus Linux マルチメディア ヨクトプロジェクト
View full article
S32K: LINタイムアウトマネジメント構成に関するサポートが必要です こんにちは、 このメッセージがあなたに届く頃には、お元気でいらっしゃることを願っています。現在、EBTreosを使用してLINタイムアウトマネジメントを設定する際に問題が発生しています。私は、 Lin_MasterFrameTransfer_S32K312のルーチンと、 Lin_TS_T40D34M20I2R0にあるRTD_LIN_UM .pdf ドキュメントを参照しました。私の設定では、MCUがホストとして機能し、CANOEでシミュレートされたメッセージを受信するためにヘッダーを送信しています。私が遭遇した具体的な問題点は以下のとおりです。 Lin Frame Timeout Disableを有効にすると、応答タイムアウト管理は行われず、正常にデータを受信できます。 Lin Frame Timeout Disable を有効にしない場合、LinLpuartStart および LinLpuartStop コールバック関数を手動で追加し、GPT モジュールのタイマーコールバック関数 Switch_TimeOut を設定してタイムアウトイベントを管理します。 しかし、このシナリオでは、スレーブはデータを送信しません。オシロスコープの観測結果によると、ヘッダーを送信しているのはマスター側のみである。問題はタイミングに関係しているのではないかと考えています。タイマーを40MHzのクロックに設定し、 Pit_Ip_StartChannelのCountValueを40MHzに設定しました。これは、タイミング周期が1秒であることを意味します。この構成では、テストは正常に進行します。 しかし、タイマーをマイクロ秒単位のタイミングに設定しようとすると、期待どおりに動作しません。参考までに、私のコードの一部を以下に示します。 void LinLpuartStart(uint8 Instance, uint32 MicroSeconds) { (void)Instance; (void)MicroSeconds; uint32 count_down = 0U; count_down = MicroSeconds * 40U; Pit_Ip_StartChannel(0, 0, count_down); } uint32 stop_cnt = 0U; void LinLpuartStop(uint8 Instance) { (void)Instance; stop_cnt+=1; Pit_Ip_StopChannel(0, 0); } uint32 test_lin_out = 0U; /* This function called when timout event happens. */ void Switch_TimeOut(void) { Lin_PduType linFrame = T_Lin_Frame[0U]; /* Deal with timout event */ test_lin_out+=1; Lpuart_Lin_Ip_TimerExpiredService(0); /* Send the Lin_Header Again */ Lin_SendFrame(0U, &linFrame); } この問題を解決するためのご指導やご提案をいただければ大変ありがたいです。特に、スレーブが正しく応答するようにタイマー設定を適切に構成する方法についてご教示いただければ幸いです。 お時間とご協力に感謝いたします! BR、 ドンシュン Re: S32K: Assistance Required with LIN Timeout Management Configuration はい、ありがとうございます。73μsという結果が出た計算式はどこで入手されたものか教えていただけますか?また、この数式に含まれる様々なパラメータは何を表しているのでしょうか? Re: S32K: Assistance Required with LIN Timeout Management Configuration こんにちは、アオインさん。 T_Lin_Frameはデモファイルで定義されており、完全な定義は以下のとおりです。   uint8 T_Lin_Data[3] = {0x01, 0x02, 0x03}; const Lin_PduType T_Lin_Frame[T_LIN_TEST_FRM_NUM] = { {0x1A, LIN_ENHANCED_CS, LIN_MASTER_RESPONSE, 3u, T_Lin_Data} }; そして、pit_dataは私が自分でデバッグする変数です。 デモルーチンを探す場合は、次のパスが存在するかどうかを確認してください。XXX:\NXP\SW32K3_RTD_4.4_2.0.2\eclipse\plugins\Lin_TS_T40D34M20I2R0\examples\EBT\Lin_MasterFrameTransfer_S32K312\   Re: S32K: Assistance Required with LIN Timeout Management Configuration 「pit_data」と「T_Lin_Frame」パラメータはどこで定義されているか教えていただけますか?私のプロジェクトではこれらの変数が見つかりませんでしたし、「Switch_TimeOut」関数がどこにリンクされているのかもわかりません。それらの機能について教えてください。ありがとう。 Re: S32K: Assistance Required with LIN Timeout Management Configuration こんにちは@dongxunさん これは既知の問題であり、RTD 5.0.0以降で修正されています。 ご迷惑をおかけして申し訳ありません。 よろしくお願いいたします。 ダニエル Re: S32K: Assistance Required with LIN Timeout Management Configuration こんにちは、 このメッセージがあなたに届く頃には、お元気でいらっしゃることを願っています。LINタイムアウト**マネジメント**設定で発生した問題の根本原因を特定できたと考えています。 EB_Treos28の設定では、LInResponseTimeoutは14に設定されています。この値はビット伝送時間の 1.4 倍を表し、具体的には(14/10)∗ビット時間( 14/10 ) ∗ビット時間として計算されます。ボーレートが 19200 bps の場合、この構成を生成するのに必要な時間 は 1.4 ∗ 52.08 μs = 73 μs と 計算 されます。 関連する設定コードの一部を以下に示します。 #ifdef LPUART_LIN_IP_START_TIMER_NOTIFICATION 2292U, /*!< HeaderTimeoutValue in microseconds */ 73U, /*!< ResponseTimeoutValue in microseconds for 1 byte */ #endif 関数 Lpuart_Lin_Ip_MasterRxPidByteProcess(const uint8 Instance, const uint8 Data) において、以下のロジックに気づきました。 else if (LinCurrentState->RxSize > 0u) { #if (LPUART_LIN_IP_FRAME_TIMEOUT_DISABLE == STD_OFF) #ifdef LPUART_LIN_IP_START_TIMER_NOTIFICATION LinCurrentState->TimerCounting = TRUE; /* Call notification to start timer for Lpuart instance and configure timeout value. The Master node will receive Response frame */ LPUART_LIN_IP_START_TIMER_NOTIFICATION(Instance, UserConfig->ResponseTimeoutValue * (uint32)(LinCurrentState->RxSize)); #endif #endif /* (LPUART_LIN_IP_FRAME_TIMEOUT_DISABLE == STD_OFF) */ LinCurrentState->CurrentNodeState = LPUART_LIN_IP_NODE_STATE_RECV_DATA; } タイマーは初期設定で 73 μs∗9 バイト=657 μs 73 μs ∗ 9 バイト = 657 μs です 。この後、LINドライバの状態はLPUART_LIN_IP_NODE_STATE_RECV_DATAに遷移し、スレーブからのデータ応答を待ちます。しかし、当初私は9バイトの応答時間として657μ秒を考慮してタイマーを設定しましたが、これは明らかに間違っています。実際のタイムアウトマネジメントは73 μs∗9 bytes∗8 bits=5256 μs73μs∗9bytes∗8bits=5256μsとなります。 この問題を解決するために、LPUART_LIN_IP_START_TIMER_NOTIFICATION コールバック関数を以下のように変更することを提案します。   void LinLpuartStart(uint8 Instance, uint32 MicroSeconds) { (void)Instance; (void)MicroSeconds; uint32 count_down = 0U; count_down = MicroSeconds * 40U * 8U; pit_data.swtich_notificatio_cnt +=1; /* The Start notification shall be called many times which depends on the times of sending frames */ Pit_Ip_StartChannel(0, 0, count_down); } BR、 ドンシュン
View full article
S32K: Assistance Required with LIN Timeout Management Configuration Hi,  I hope this message finds you well. I am currently facing an issue while configuring LIN timeout management using EBTreos. I have referred to the routine in Lin_MasterFrameTransfer_S32K312 as well as the RTD_LIN_UM.pdf document found in Lin_TS_T40D34M20I2R0. In my setup, the MCU is acting as the host, and I am sending headers to receive simulated messages in CANOE. Here are the specific issues I have encountered: When I enable Lin Frame Timeout Disable: I do not perform any response timeout management, and I can receive data normally. When I do not enable Lin Frame Timeout Disable: I manually add the callback functions LinLpuartStart and LinLpuartStop, and I also configure the GPT module's timer callback function Switch_TimeOut to manage timeout events.  However, in this scenario, the slave does not send any data. The oscilloscope shows that only the master sends a header. I suspect that the issue may be related to timing. I have configured the timer to a 40MHz clock and set the CountValue in Pit_Ip_StartChannel to 40MHz, which means the timing period is 1 second. Under this configuration, testing proceeds normally. However, when I try to set the timer to microsecond-level timing, it does not work as expected. Here is a snippet of my code for reference:  void LinLpuartStart(uint8 Instance, uint32 MicroSeconds) { (void)Instance; (void)MicroSeconds; uint32 count_down = 0U; count_down = MicroSeconds * 40U; Pit_Ip_StartChannel(0, 0, count_down); } uint32 stop_cnt = 0U; void LinLpuartStop(uint8 Instance) { (void)Instance; stop_cnt+=1; Pit_Ip_StopChannel(0, 0); } uint32 test_lin_out = 0U; /* This function called when timout event happens. */ void Switch_TimeOut(void) { Lin_PduType linFrame = T_Lin_Frame[0U]; /* Deal with timout event */ test_lin_out+=1; Lpuart_Lin_Ip_TimerExpiredService(0); /* Send the Lin_Header Again */ Lin_SendFrame(0U, &linFrame); } I would greatly appreciate any guidance or suggestions on how to resolve this issue, particularly regarding the proper configuration of the timer settings to ensure that the slave responds correctly. Thank you for your time and assistance! BR, Dongxun Re: S32K: Assistance Required with LIN Timeout Management Configuration OK, thank you. Could you please tell me where you obtained the formula with a result of 73us? Also, what do the various parameters in this formula represent? Re: S32K: Assistance Required with LIN Timeout Management Configuration hi, Aoyng,   T_Lin_Frame is defined in a demo file, the complete definition is:   uint8 T_Lin_Data[3] = {0x01, 0x02, 0x03}; const Lin_PduType T_Lin_Frame[T_LIN_TEST_FRM_NUM] = { {0x1A, LIN_ENHANCED_CS, LIN_MASTER_RESPONSE, 3u, T_Lin_Data} }; And the pit_data  is a variable that I debug myself.  If you want to find the demo routine, please refer to whether you have this path XXX:\NXP\SW32K3_RTD_4.4_2.0.2\eclipse\plugins\Lin_TS_T40D34M20I2R0\examples\EBT\Lin_MasterFrameTransfer_S32K312\   Re: S32K: Assistance Required with LIN Timeout Management Configuration Could you please tell me where the "pit_data" and "T_Lin_Frame" parameters are defined? I haven't found these variables in my project, and I'm also not sure where the "Switch_TimeOut" function is linked. Please let me know what their functions are. Thank you. Re: S32K: Assistance Required with LIN Timeout Management Configuration Hello @dongxun, This is a known issue that has been fixed since RTD 5.0.0. I'm sorry for the inconvenience caused by it. Best regards, Daniel Re: S32K: Assistance Required with LIN Timeout Management Configuration Hi,  I hope this message finds you well. I believe I have identified the root cause of the issue I encountered with the LIN timeout management configuration. In the EB_Treos28 configuration, the LInResponseTimeout is set to 14. This value represents 1.4 times the bit transmission time, specifically calculated as (14/10)∗bit time(14/10)∗bit time. With a baud rate of 19200 bps, the corresponding time for generating this configuration is calculated as 1.4∗52.08 μs=73 μs1.4∗52.08μs=73μs. Here is an excerpt of the relevant configuration code: #ifdef LPUART_LIN_IP_START_TIMER_NOTIFICATION 2292U, /*!< HeaderTimeoutValue in microseconds */ 73U, /*!< ResponseTimeoutValue in microseconds for 1 byte */ #endif In the function Lpuart_Lin_Ip_MasterRxPidByteProcess(const uint8 Instance, const uint8 Data), I noticed the following logic: else if (LinCurrentState->RxSize > 0u) { #if (LPUART_LIN_IP_FRAME_TIMEOUT_DISABLE == STD_OFF) #ifdef LPUART_LIN_IP_START_TIMER_NOTIFICATION LinCurrentState->TimerCounting = TRUE; /* Call notification to start timer for Lpuart instance and configure timeout value. The Master node will receive Response frame */ LPUART_LIN_IP_START_TIMER_NOTIFICATION(Instance, UserConfig->ResponseTimeoutValue * (uint32)(LinCurrentState->RxSize)); #endif #endif /* (LPUART_LIN_IP_FRAME_TIMEOUT_DISABLE == STD_OFF) */ LinCurrentState->CurrentNodeState = LPUART_LIN_IP_NODE_STATE_RECV_DATA; } The timer is initially set for 73 μs∗9 bytes=657 μs73μs∗9bytes=657μs. After this point, the LIN driver state transitions to LPUART_LIN_IP_NODE_STATE_RECV_DATA, where it waits for the slave's data response. However, I originally set the timer to account for 657 , \mu s for the response time of the 9 bytes, which is clearly incorrect. The actual timeout management should be 73 μs∗9 bytes∗8 bits=5256 μs73μs∗9bytes∗8bits=5256μs. To address this, I propose modifying the LPUART_LIN_IP_START_TIMER_NOTIFICATION callback function as follows:   void LinLpuartStart(uint8 Instance, uint32 MicroSeconds) { (void)Instance; (void)MicroSeconds; uint32 count_down = 0U; count_down = MicroSeconds * 40U * 8U; pit_data.swtich_notificatio_cnt +=1; /* The Start notification shall be called many times which depends on the times of sending frames */ Pit_Ip_StartChannel(0, 0, count_down); } BR, dongxun
View full article
Code Warrior JTAG IDE接続診断の問題 チームの皆さん、こんにちは。 私たちはNXP LX2160Aチップセットをベースにしたカスタムボードを使用しており、現在JTAGフラッシュ書き込み用のCodeWarrior IDE環境のセットアップを試みています。 当社基板に使用されているフラッシュメモリデバイスはMT25QU512ABBです。IDE環境の設定と必要なファイルの追加が完了した後、Flash Programmerを開きました。 接続プロセス中に、「接続診断」の後、Flash Programmer は正常に開きますが、「ターゲット初期化スクリプトの実行」のステップで問題が発生します。発生したエラーはスクリーンショットに添付されています。 ディップ・スイッチをハードコードRCWモードに設定すると、以下のエラーが発生します。 「アドレス…のメモリへの書き込みに失敗しました」 以下の事項は既に確認済みです。 * ハードウェア接続 * JTAGコネクティビティは正常です * 関連する信号を調べたところ、正常であることが確認された。 根本原因の特定と問題の早期解決にご協力をお願いいたします。追加のログファイルや設定ファイルが必要な場合はお知らせください。 よろしくお願いいたします。 スウェタ・K After clicking "Flash programmer" icon, CodeWarrRe: Code warrior Jtag IDE connection diagnosis issue 1. まず、LX2160_RDB(1)をダブルクリックして「ターゲット初期化ファイル」パネルを開き、以下の変更を行ってください。 USE_SAFE_RCW = True 2. 「Flash programmer」アイコンをクリックすると、WindowsタスクバーにCodeWarrior Connection Server(CCS)が表示されます。これをダブルクリックしてCCSコンソールを開き、コンソールに「log v」と入力してから、もう一度「Flash programmer」アイコンをクリックすると、低レベルのCCSログがコンソールに表示されます。このログを取得して私に送ってください。 Re: Code warrior Jtag IDE connection diagnosis issue 添付のスクリーンショットをご覧ください。 Re: Code warrior Jtag IDE connection diagnosis issue こんにちは 問題は解決しました。原因はハードウェアの接続不良でしたが、現在は修正済みです。エラーは発生しなくなりました。サポートありがとうございます
View full article
S32K116 CAN 时钟公差 S32K116 运动时钟的数据表公差为 48M +/- 1% 。但我们的一位客户要求 CAN 时钟的公差为 0.5% 。 我看到过类似的讨论,建议使用外部振荡器: https://community.nxp.com/t5/S32K/CAN-FD-clocked-by-FIRC/m-p/879378#M4033 不过,我们倾向于不使用外部振荡器。我想知道 -- 是否有任何校准或微调方法,我们可以应用其中一个内部时钟,并最终在 CAN 上实现 0.5% 公差? -- 是否有任何 S32K116 变体具有更好的/定制的出厂微调,并实现 0.5% 公差? Re: S32K116 CAN Clock Tolerance 您好, 在 S32K116 上,仅使用内部振荡器无法保证CAN 时钟精度为 ±0.5% 。内部 FIRC 在电压和温度范围内的指定值为 ±1% ,没有运行时间校准或出厂微调变量来改善这一性能。为了可靠、合规地满足 ±0.5% 的要求,需要通过 SOSC 使用外部振荡器或晶体作为 CAN PE 时钟。   BR, Petr
View full article
Unable to recover the IMX95 verdin 19x19 board Hello Team,   We purchased the i.MX95 V1.3A boards in October 2025, and they have been functioning correctly across multiple assignments and use cases since then. However, starting yesterday, we have encountered an issue with one of the boards. The board is currently not booting with any of the images we flash. Specifically: No boot logs are observed on the serial console. The issue persists across multiple images. The board is still detected on the host machine when using the UUU tool. Flashing appears to complete, but there is no visible output or system bring-up post flashing. We have already performed initial troubleshooting steps, including testing with different assignments and configurations, but the issue remains unresolved. For your reference, we have attached the purchase invoice. We request your support in diagnosing and resolving this issue at the earliest. Please let us know if any additional logs, debug steps, or hardware checks are required from our side. Thank you for your assistance.   Below are steps we tried: admin:~/mfgtools/build$ sudo uuu -lsusb uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086   Connected Known USB Devices   Path   Chip   Pro   Vid   Pid   BcdVersion   Serial_no   ====================================================================   3:3   MX95   SDPS:   0x1FC9  0x015D   0x0001   DA76A714E8984460     admin:~/imx-build/bld-xwayland/tmp/deploy/images/imx95-19x19-verdin$ sudo uuu -b spl imx-boot uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086   Success 1    Failure 0              3:3-DA76A714 4/ 4 [Done                                  ] SDPV: done                           So we kindly request you to help on this as we are working on some critical delivery. Re: Unable to recover the IMX95 verdin 19x19 board Thank you for the quick response. Our setup is actually based on the i.MX95 Verdin 19x19 module, version 1.3A.  After emmc failed we thought of trying the tezi image to recover the board. For additional information, we also tried flashing the TEZI images with versions 7.7, 7.4, 7.5, and 7.6 from the below link: https://developer.toradex.com/easy-installer/toradex-easy-installer/download-tezi/#version-7 . We downloaded the tar files under the Verdin iMX95 section and attempted the flashing process. However, in all cases, we ended up facing the following issue: HID(W): LIBUSB_ERROR_NO_DEVICE (-4). Iam attaching the Screenshots of the result below. For the flashing setup: We configured the board USB connection in USB Type-C OTG mode. The DIP switch configuration was set to 1001 for eMMC loading. Could you please provide: The correct TEZI image version recommended for our board: Verdin iMX95 19X19 V1.3A The correct DIP switch configuration for flashing. Looking forward to your response.   Re: Unable to recover the IMX95 verdin 19x19 board Hi @Harsha13, Thank you for contacting NXP Support! Could you please confirm the following details so we can better assist you? Which exact commands are you using during the flashing process? Which BSP version are you trying to flash? After flashing, did you change the boot switches to boot from the programmed device? Which silicon revision are you using: A1 or B0? Please note that A1 silicon revisions are not compatible with the latest BSP versions, while B0 silicon is required for these releases. Once we have this information, we will be able to guide you more accurately. Best regards, Chavira Re: Unable to recover the IMX95 verdin 19x19 board Hi, Thank you for the quick response. Currently, the board appears to be bricked due to some development activity, and we are trying to recover it. As of now, we are only able to access the eMMC flashing mode. Could you please suggest: Any BSP version that can be flashed on the i.MX95 to recover the board successfully Any recovery method or procedure that might help bring the board back to a working state Any known steps or configurations that could help the board boot properly again We are also in parallel contact with Toradex regarding this issue. From your side, if you have any suggestions, recovery procedures, or debugging methods, it would be very helpful for us in resolving this issue. Looking forward to your guidance and support. Re: Unable to recover the IMX95 verdin 19x19 board Hi @Harsha13, A similar behavior can be observed on EVK boards when attempting to flash the latest BSP versions on older silicon revisions. At this point, I am not certain what might be causing the issue on your board. Since the software you are using is not provided by NXP, I recommend reaching out to Toradex support for more detailed assistance specific to your platform. They should be able to provide guidance tailored to your board configuration and software stack. Best regards, Chavira Re: Unable to recover the IMX95 verdin 19x19 board Hi @Harsha13, Please contact Toradex support for further assistance with this issue, as they will be able to provide more detailed support specific to your platform. Best regards, Chavira
View full article
为 S32K116 申请定制 RBF 文件,UART0 位于 PTA2/PTA3 上 亲爱的恩智浦支持团队 我使用的是 FS32K116LAT0MFMT MCU 并需要一个具有以下配置的定制 RAppID 引导加载器 (RBF) 文件: -芯片:S32K116(33 针封装) -UART 接口:UART0-UART 引脚: -RX:PTA2(ALT2 功能) -TX:PTA3(ALT2 功能) -UART 波特率:4800 bps(默认) -CAN 接口:不需要 我需要这个 RBF 文件与恩智浦基于模型的设计工具箱 (MBDT) 配合使用,以生成 Simulink 代码并进行一键下载。 非常感谢您的帮助!
View full article
Questions on DH Key Support in HSE-B Hello NXP Community Team,   I have a couple of quick questions regarding DH key support in HSE-B: Does HSE-B support Diffie-Hellman (DH) keys? If yes, then why does the call HseResponse = App_GetHseAttrCapabilities(MU0_INSTANCE_U8, &Hse_AttrCapabilities); return a zero value for the HSE_CAP_IDX_CLASSIC_DH (25th bit) in Hse_AttrCapabilities After adding the following key group to the NVM catalog: {(HSE_MU0_MASK), HSE_KEY_OWNER_CUST, HSE_KEY_TYPE_DH_PAIR, 2U, 1024U, {0U, 0U}}, the call to formatKeyCatalog returns HSE_SRV_RSP_NOT_ALLOWED. Could you clarify why this happens? How can i generate the DH key pair, which later use for generate DH-shared-secret computation. Thank you for your guidance. Best regards, Rushikesh Re: Questions on DH Key Support in HSE-B Hi @KaleRushikesh  This feature was available in earlier versions of HSE firmware but it was removed due to limited size of flash for HSE firmware. You can check release notes file of the firmware. I can see that it was removed from version 0.2.40.0 and higher: If you need this feature, there’s an option to request premium customized version of HSE firmware. Please contact local sales person for details. Regards, Lukas
View full article
TJA1028のスリープモードではVCCが遮断されない こんにちは、 Raspberry Pi 5のGPIOを使用してTJA1028モードをテストしています。モードを切り替えるために、ENピンとTXDピンのみを制御します。通常モードからスリープモードに移行すると、RSTNは低くなりますが、VCC(3.3V)出力は遮断されず、2.76Vまで低下します。まずTXDピンをローに設定し、次にENピンをローにプルダウンします。これは電圧レギュレータをスリープ状態にするための正しい方法でしょうか? Re: TJA1028 Sleep Mode Doesnt Shutoff VCC VCCはOFFになっているはずです。念のため、VCCのリアステージ回路を再度確認するか、切り離していただけますでしょうか?
View full article
Is Fatal Blackout Worth Trying? A 2026 Review Fatal Blackout is becoming one of the most talked-about preparedness systems in 2026 because it focuses on realistic blackout survival strategies instead of Hollywood-style fear tactics. Created by combat veteran Teddy Daniels, the program combines practical guides, step-by-step videos, and military-inspired planning to help families prepare for long-term power outages, cyber threats, and emergency situations. ✅ Click to Order Fatal Blackout From Its Official Website What makes it stand out is its beginner-friendly approach. Rather than pushing expensive bunkers or complex survival gear, the system focuses on affordable, practical actions like water storage, backup power, food security, EMP protection, and home preparedness. Many users appreciate that the guide breaks everything into simple weekend projects that ordinary households can actually implement. In 2026, with growing concerns around grid instability, severe weather, and supply chain disruptions, preparedness has shifted from a niche hobby to a mainstream conversation. Fatal Blackout taps directly into this trend by offering a structured survival roadmap for families who want peace of mind without becoming extreme “doomsday preppers.”  Is it worth buying? For people looking for a practical preparedness blueprint, the answer appears to be yes. The value comes from the organization, simplicity, and real-world focus of the system. However, the guide only works if users actually apply the strategies. It is best suited for those willing to take gradual action to improve their household resilience and emergency readiness. Click Here to Know More About Fatal Blackout Re: Is Fatal Blackout Worth Trying? A 2026 Review Fatal Blackout is gaining significant attention in 2026 as a preparedness system focused on practical, real-world blackout survival planning rather than exaggerated, fear-driven messaging. Developed by combat veteran Teddy Daniels, the program brings together structured guides, instructional videos, and military-informed strategies designed to help households prepare for extended power outages, cyber risks, and unexpected emergency situations. What sets Fatal Blackout apart is its simple and accessible approach to preparedness. Instead of promoting costly survival setups or extreme doomsday scenarios, the system emphasizes realistic, budget-friendly steps that everyday families can follow. These include essential areas such as water storage, backup power solutions, food security planning, EMP awareness, and general home readiness. The content is often broken down into manageable actions, allowing users to complete small preparedness tasks over weekends without feeling overwhelmed. As of 2026, interest in emergency preparedness has grown due to increasing concerns about grid reliability, extreme weather events, and global supply chain disruptions. Fatal Blackout aligns with this shift by offering a structured and organized framework that helps individuals build confidence in handling potential disruptions. It appeals especially to people who want to be prepared without adopting extreme survivalist lifestyles. Overall, Fatal Blackout is viewed as a practical preparedness resource for those who want a clear and guided approach to emergency readiness. Its value lies in its structure, simplicity, and focus on actionable steps.
View full article
MCUXpresso IDE 与 Jenkins 集成 是否有将 MCUXpresson IDE 与 Jenkins 集成的选项? i.MXRT Re: MCUXpresso IDE integration with Jenkins 您好, 我正在尝试使用 SVN 和 MCUXpresso 配置 Jenkins 管道,请问有什么指南吗?能帮帮我吗? Re: MCUXpresso IDE integration with Jenkins 你好,苏奈娜、 目前还没有关于 MCUXpresso 和 Jenkins 集成的文档,但社区用户已经完成了集成。您可以找到一些与 MCUXpresso 和 Jenkins 的使用相关的社区文档,如下面的文档。 https://community.nxp.com/t5/MCUXpresso-SDK/Impossible-to-build-MCUXpresso-project-based-on-imported-SDK/m-p/682995 我还没有查看过詹金斯的邮件列表,但我也建议你去詹金斯社区看看有没有关于集成MCUXpresso和Jenkins的用例的更多信息。 敬上, Gustavo
View full article
i.MX93 A0 EVK ブート時に Walnascar BSP (imx-linux-walnascar lf-6.12.34-2.1.0) でハングアップするBL31 / ELE Vo の後 NXPチームの皆様、こんにちは。 私はOpenBMCとYocto BSPを使用して、A0試作シリコンを搭載したi.MX93 EVKボードの開発に取り組んでいます。 私は以下の方法でBSPを取得しました。 repo init -u https://github.com/nxp-imx/imx-manifest.git -b imx-linux-walnascar -m imx-6.12.34-2.1.0.xml リポジトリ同期 ボード: i.MX93 EVK A0シリコン 問題: Scarthgap BSPは、同じハードウェア上で正常に起動します。 Walnascar BSPは完全に起動しません。 初期症状: UUUのフラッシュは最初に以下のエラーで失敗しました。 LIBUSB_ERROR_TIMEOUT (-7) UARTログを使った詳細なデバッグの結果、以下のことが判明しました。 AHABコンテナは受け入れられます SPLは正しく起動します DDRの初期化に成功しました BL31 (ATF) 開始 BL31の後にシステムがハングアップする U-Boot本体が起動しない UARTログ: U-Boot SPL 2025.04-g44898b9f3cfe (2025年9月3日 09:56:50 +0000) PMIC: PCA9451A PMIC: オーバードライブ電圧モード エラー: ele_volt_change_start_req: 戻り値 -5、応答 0xf429 エラー: ele_volt_change_finish_req: 戻り値 -5、応答 0xf429 DDR: 3733MTS M33準備OK 通常起動 BOOTROMから起動しようとしています ブートステージ:プライマリブート 画像オフセット 0x8000、ページサイズ 0x200、IVT オフセット 0x0 ROM_APIを使用して0x4f400からイメージをロードします 通知:TRDC初期化完了 お知らせ:BL31:v2.12.0(リリース) .12.34-2.1.0 お知らせ:BL31:製造日時:2025年8月25日 08:27:20 この時点以降、システムはフリーズする。 重要な発見: AHABコンテナはSPSDKを使用して正常に解析されました。 nxpimage ahab parse -f mimx9352 -b imx-boot-evb-imx93-sd.bin-flash_singleboot -o ahab_parse 解析されたAHAB設定は以下のとおりです。 改訂版:最新 新しいファームウェアパッケージに気づきました。 ファームウェア-ele-imx-1.3.0-7b1e150.bin 以下は含まれません: mx93a0-ahab-container.img 私はそれを以下のように置き換えました。 firmware-sentinel-0.11.bin なぜなら、それは以下を含んでいるからです。 mx93a0-ahab-container.img mx93a1-ahab-container.img 私のオーバーライド: FSLBIN_NAME = "firmware-sentinel-0.11.bin" SRC_URI = " https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/ ${FSLBIN_NAME} ;fsl-eula=true " SRC_URI [sha256sum] = "269480417a8ae9aa4cc4101ab947287fc33455a931021dbdc4d9badb5212bceb" S = " ${WORKDIR} /firmware-sentinel-0.11" それにもかかわらず、WalnascarはBL31以降も依然として稼働している。 現在の疑い: 以下の要素間で実行時の非互換性が発生する可能性があります。 A0 Sentinel/ELEファームウェア より新しいWalnascar SPL/U-Boot/ATF ELE API 質問: imx-linux-walnascarは、i.MX93 A0シリコンを公式にサポートしていますか? は: 改訂版:最新 A1シリコンを効果的にターゲットにしている? 強制するにはどうすればいいですか? 改訂版: a0 AHAB世代の間ですか? 以下の間で既知のELE ABI/ランタイムの非互換性はありますか? 古いSentinelファームウェア 新しいウォルナスカーのブーツチェーン? サポートされていないA0ランタイムパスの場合、以下のELEエラーは想定されるものですか? ele_volt_change_start_req: レスポンス 0xf429 Walnascarでは、A0固有のPMIC/ELE電圧処理経路は削除されましたか? A0シリコンのサポートには、旧型のSPL/ATF/imx-mkimageコンポーネントを使用すべきでしょうか? その他詳細: DDRの初期化に成功しました。 DDR: 3733MTS BL31は正常に起動しました U-Boot本体が起動する前にエラーが発生する 以下のような事項に関するガイダンス: A0サポート状況 ELEランタイム互換性 AHAB改訂処理 A0シリコン向け推奨BSPバージョン 大変ありがたく思います。 よろしくお願いします。
View full article
i.MX6 HABv4 Boot Failure: `j4 err` After Successful USB Load on Production Board **Objective:** Our goal is to use the `imx_usb` loader to boot our board directly into RAM, bypassing the eMMC. This is a critical step in our failure analysis. We have physically disconnected the eMMC on the production board to ensure we are exclusively testing the USB boot path. **Board States:** 1. **Development Board:** Fuses are not blown. The SoC reports it is in **Development Mode**. 2. **Production Board:** Fuses are blown for secure boot. The SoC reports it is in **Production Mode**. **Summary of Results:** We are observing two different outcomes when using the `imx_usb` utility. **1. SUCCESS: Development Board** On our development boards, an unsigned `u-boot.imx` loads and executes perfectly. The log confirms the binary is loaded and the SoC jumps to the entry point. * **Command:** `sudo ./imx_usb u-boot.imx` * **Key Log Output (`development.txt`):** ``` HAB security state: development mode (0x56787856) ... loading binary file(u-boot.imx) to 877ff400, skip=0, fsize=5faa4 type=aa succeeded (status 0x88888888) jumping to 0x877ff400 ``` *(Result: Board boots to U-Boot prompt)* **2. FAILURE: Production Board** On our production boards, we use a **signed `u-boot.imx`** provided by our manufacturing team, which is signed with the same keys whose hashes are fused in the SoC. The `imx_usb` tool reports that the DCD and the binary are loaded successfully. However, the final jump command fails. * **Command:** `sudo ./imx_usb u-boot-signed.imx` * **Key Log Output (`production.txt`):** ``` HAB security state: production mode (0x12343412) ... loading binary file(u-boot.imx) to 877ff400, skip=0, fsize=5faa4 type=aa succeeded (status 0x88888888) jumping to 0x877ff400 j4 in err=0, last_trans=64 33 18 c0 00 ``` *(Result: Board does not boot. No console output.)* **Analysis and Key Questions:** The critical difference is the outcome of the `jumping to 0x877ff400` command. On the production board, the process fails at this exact point, after the image has been successfully transferred to RAM. This strongly suggests that the SoC's boot ROM is performing a **HABv4 signature validation** on the image in RAM *before* executing it, and this validation is failing. The `j4 err` is not a standard USB error; it appears to be an internal status code from the `imx_usb` tool related to the jump command. The core issue is that the jump is not successful. 1. **HAB Authentication Failure:** Is the `j4 err` (or the subsequent lack of boot) indicative of a HAB authentication failure? The boot ROM successfully accepted the image but appears to refuse to run it. 2. **Image Signing for USB Boot:** Is there a specific requirement or format for signing a U-Boot image that is intended to be loaded via the USB Serial Download Protocol? We are using an image signed for eMMC boot. Could there be a difference in the expected IVT (Image Vector Table) structure or other metadata that causes HAB to reject the image when it's loaded at `0x877ff400`? 3. **Load Address:** The image is being loaded to `0x877ff400`. Is this the correct address for a USB-loaded image on a secured i.MX6? Does the boot ROM expect the image to be at a different location in RAM for authentication? Re: i.MX6 HABv4 Boot Failure: `j4 err` After Successful USB Load on Production Board Hello, Is your signed image built for eMMC boot? the error shows the step load to RAM succeeded but the execution  is denied by ROM due to a  HAB authentication failure. Re: i.MX6 HABv4 Boot Failure: `j4 err` After Successful USB Load on Production Board Hi All, what is the status of this ticket and how can this be moved forward?  Is a face-to-face (on-site) meeting needed? Re: i.MX6 HABv4 Boot Failure: `j4 err` After Successful USB Load on Production Board Hello, Yes image is signed for emmc boot. Perfectly working on RAM but not able to flash on emmc . Re: i.MX6 HABv4 Boot Failure: `j4 err` After Successful USB Load on Production Board Using  imx_usb_loader  (Serial Download Protocol), we successfully boot into U-Boot and Linux entirely from RAM. From that live U-Boot session we wrote the following images to eMMC: # U-Boot IVT at mandatory 1 KiB hardware offset mmc dev 1 0 mmc write 0x82000000 0x2 0x400 # FIT image to raw sectors beyond active partitions mmc write 0x80800000 0x66000 0x3000 # Boot environment setenv bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw" setenv loadfit  "mmc dev 1 0; mmc read 0x80800000 0x66000 0x3000" setenv bootcmd  "run loadfit; bootz 0x808000e8 - 0x80da4bc0" saveenv Executing run boot manually from this U-Boot prompt works correctly — Linux boots and mounts /dev/mmcblk1p2 without issue. Working logs attached in mail. Failure State: On any cold power cycle or hardware reset, with the USB OTG cable physically disconnected, the board produces zero UART output and silently re-enters USB Serial Download Mode. The ROM appears to never reach the eMMC.
View full article
S32的BSP问题 我想咨询一下,咱们这边有没有在s32g处理器上,部署过VxWorks7.0的操作系统。或者有没有能引导vx的bsp? Re: S32的BSP问题 Hello, @YPKEJI12341  您好 1.目前NXP 发布的官方BSP,是基于Linux开发测试的,并不直接支持Vxworks。 2. 确实有客户在S32G上部署过Vxworks,相关软件信息建议您咨询一下Windriver的技术支持。 BR Chenyin
View full article
问题: java.io.IOException:Script not found: ... Level:错误类型:工具错误 你好 对于恩智浦项目,我点击这个链接只是为了简单地使用示例,我完全遵循了但是 java 异常出现问题,想找到一些 MCAL 元器件和驱动程序来为 dio 或端口编写脚本,mcu... 找不到我的 codegenerator.js 的路径,但是,我的所有文件都在我的 eclispe 工作区 上,我花了 3 天时间试图解决这个问题,它非常复杂,我管理了我的驱动程序,检查了到 eclipse 的路径、 链接:https://nxp.gitbook.io/nxp-cup/2024-fall-2025-nxp-cup-bare-metal-drivers/s32k144-rtd-software-setup/rtd-software-packet-installation -我使用的是 S32DS 平台 3.5 更新版 3 -SW32K1_S32M24x_RTD_4.4_R21-11_2.0.0_D2308_DS_Updatesite 请!如果有人能帮我,我找不到问题所在,也不想再过几天独自搜索而没有问题。 Re: Issue: java.io.IOException: Script not found: ... Level: Error Type: Tool pr 谢谢您! Re: Issue: java.io.IOException: Script not found: ... Level: Error Type: Tool pr 我遇到了同样的问题,可以确认重命名元器件的文件以使其大小写与错误打印中的大小写相匹配可以解决问题。 在 Ubuntu 上,它们位于 ~/nxp/s32ds3.5/eclipse/mcu_data/components/platformsdk_s32K3/ Re: Issue: java.io.IOException: Script not found: ... Level: Error Type: Tool pr 嗨,@土星、 感谢您提供的信息和解决方法! Re: Issue: java.io.IOException: Script not found: ... Level: Error Type: Tool pr 由于 Linux 操作系统的大小写敏感性,Linux 不支持 RTD。 要让 RTD 在 Linux 上运行,需要对文件夹进行一些更改:/nxp/s32ds.3.x/eclipse/mcu_data/Components 请阅读 "ReadmeToModifyTheRTD.txt"、我只对我的项目做了必要的改动,其他代码可能需要更多改动。好在我已经制作了 sh 文件,只需两步就能完成工作。 这只是我的看法:在 S32DS 进行代码编译和调试时,Linux 操作系统的运行速度要快得多。恩智浦应该正式支持它,包括 RTD ~ ,恩智浦的同事们,请在编码时注意字母的大小写敏感性。 Re: Issue: java.io.IOException: Script not found: ... Level: Error Type: Tool pr 嗨,@Raphael_Q78、 这可能是您的 RTD 安装出现了问题,您可以按照本指南进行尝试吗? 方法:在 S32DS v3.5 中离线安装 S32K1 RTD 2.0.0 - NXP Community。 看了你的照片,似乎你使用的是 Linux 发行版,能确认一下你的操作系统吗? 致以最诚挚的问候, Julián
View full article
KW47B42Z83AFTB 上的 RADE 错误(代码 1) - digital_key_car_anchor_cs_freertos 嗨,恩智浦支持团队、 我们在自定义 PCB 上使用 KW47B42Z83AFTB 作为 ECU(锚/车侧)和应答器(设备端)角色。 设置: - SDK:sdk_25_12_00_kw47b42z83xxxa-ECU(启动器/汽车锚点):使用 digital_k ey_car_anchor_cs_freertos 闪存 ——转发器(反射器/设备):使用 d igital_key_device_cs_ freertos 闪存——两款设备均采用自定义 PCB 设计 问题: 在启动器方面(ECU /汽车锚点),我们在信道探测过程中持续收到 RADE 错误代码 1。RTT 距离测量在两端都能正常运行,但是基于 Rade 的距离计算在启动器上失败。 问题: 1.当前的 SDK 是否支持 KW47B42Z83AFTB(无 LCE)上的 RADE 距离计算? 2. 错误代码 1 是否表示需要 LCE 硬件但不存在,或者是否有可用的软件备用? 3. app_preinclude.h 中是否有任何已知的配置标志?还是需要在非 LCE 变体上为 RADE 设置的 CS 配置文件层? 请与我们联系,了解其他日志或配置文件是否有帮助。 致以最崇高的敬意 Christian BLE-NFC BLUETOOTH-BEACON Re: RADE Error (Code 1) on KW47B42Z83AFTB — digital_key_car_anchor_cs_freertos 你好 希望你一切顺利。使用不带 LCE 的集成电路版本有什么特殊原因吗? 总之,我建议您查看 SDK 文档中的这一部分:启用 RADE v1 使用(非LCE) - MCUXpresso SDK 文档 顺祝商祺! 里卡多
View full article
ICODE SLIX2 独创性签名 恩智浦社区你好, 我正在使用 RC663 ISO 15693 阅读器 在嵌入式 MCU(GD32F303CC、ARM Cortex-M4)上实现 AN11350 中描述的 ICODE SLIX2 原创性签名验证。 已成功从标签中读取签名(通过 命令 0xBD 为 32 字节),但是 ECDSA 验证总是失败。 如能说明正确的哈希值/信息格式,我将不胜感激。 ───────────────── 硬件 & 软件 ─────────────────── ── 读者:恩智浦 RC663 标签:恩智浦 ICODE SLIX2 (SL2S2602) 曲线:secp128r1(由 32 字节签名 = r|s 确认,每个 16 字节)ECC 库:easy-ecc (https://github.com/jestan/easy-ecc) 使用 ECC_CURVE = secp128r1 (ECC_BYTES = 16) MCU 编译:GD32F303CC(ARM Cortex-M4,无操作系统) ─────────────── READ_SIGNATURE 命令 (0xBD) ────────────── 请求帧(11 字节,ISO 15693 寻址模式): FLAGS = 0x22 (高数据速率 | 地址标志) CMD = 0xBD (READ_SIGNATURE,恩智浦自定义命令) MFG_CODE = 0x04 (恩智浦集成电路制造商代码 — 0xA0–0xDF 范围必需) UID = 8 字节(已寻址) 响应(33 字节): FLAGS = 0x00 (无错误) SIG = 32 字节 通过与 对相同标签的 proxmark3 扫描进行比较,32 字节签名和 UID 已确认正确。 ──────────────────公钥 ────────────────── ── 33 字节 公钥:048878a2a2a2d3eec3eec336b4f261a082bd71f9be11c4e2e2e896648b32efa59cea6e59f0 使用 seca6e59f0 p128r1 压缩公钥(17 字节):0x02、0x88、0x78、0xA2、0xA2、0xD3、0xEE、0xC3、0x36、0xB4、0xF2、0x61、0xA0、0x82、0xBD、0x71(前缀 = 0x02 因为 y 坐标的 LS B 是奇数)) 标签供应商已确认公钥正确无误。 ──────────────────────── RC663 缓冲区中的 UID 字节顺序 ───────────────────────────────────── ISO 15693 首先传输 UID LSB。 RC663 按接收顺序填充接收缓冲区,因此: UID [0] = 收到的第一个字节 = 64 位 UID 的 LSB UID [7] = 收到的最后一个字节 = 0xE0(MSB,固定 ISO 15693 前缀) 示例标签 UID(显示/大端顺序):E0 04 01 A2 B3 C4 D5 E6 缓冲区内容:UID [] = {E6、D5、C5、C6 4、B3、A2、01、04、E0} ─────────────────────────────────────────────────────────────────────────── ─────────────────────── AN11350 表示签名是通过 UID 计算的,但没有明确规定:1. 用作 ECDSA 消息的 UID 的字节顺序 (大端显示顺序与从标签收到的 LSB 优先顺序对比)2。 如何使用 8 字节 UID 进行零填充以填充完整的 128 位哈希字段 我在下面尝试了所有四种合理的组合 — 全部返回验证 失败: 选项 A:高 8 字节哈希中的 UID 原始(LSB-First),低 8 字节哈 希 = {UID [0],UID [1],...,UID [7],0,0,0,0,0,0,0,0,0,0,0,0} 选项 B:高 8 字节中的 UID 反向(大端),低 8 字节 哈希值为零 = {UID [7],UID [6],...,UID [0],0,0,0,0,0,0,0} 选项 C:高 8 字节为零,低 8 字节哈希中的 UID 原始(LSB-first)= {0,0, 0, 0, 0, 0 , 0, 0, UID [0], UID [1],..., UID [7]} 选项 😧 高 8 字节为零,低 8 字节哈希值中的 UID 反向(大端)= {0、0、0、0、0、0、0、0、0、0、UID [7]、UID [6]、...、UID [0]} 在 easy-ecc 中,ecc_bytes2native () 将 16 字节 哈希缓冲区视为大端 128 位整数: p_native [1](高 64 位字)← 哈希 [0.. 7] p_native [0](低 64 位字)← 哈希 [8.. 15] ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── sig); /* 0 = 失败,1 = 通过 */ ─────────────────────────────────────────
View full article
RW612 GAU GPADC0 — inconsistent / non-monotonic readings on a high-impedance source Setup MCU: NXP RW612 on a Murata 2FR module Software: Zephyr RTOS (GAU ADC driver adc_mcux_gau_adc) ADC: GAU_GPADC0, base 0x40038000, channel 3 (single-ended) on GPIO_45 Use case: battery voltage monitoring, 22 V to 29 V range Voltage divider on the analog input Vbat ──[R1 = 243 kΩ]──┬──[R2 = 10 kΩ]── GND │ GPIO_45 / ADC0_CH3 Thevenin source impedance: ~9.6 kΩ Expected pad voltage at Vbat = 25 V → 988 mV Vbat range 22–29 V → pad range 869–1146 mV (well within Vref headroom) Zephyr device-tree configuration &adc0 { status = "okay"; /delete-property/ nxp,input-buffer; /* try to disable INBUF via DT */ channel@3 { reg = <3>; zephyr,gain = "ADC_GAIN_1"; zephyr,reference = "ADC_REF_INTERNAL"; /* maps to VREF_SEL=01 (1.2V) */ zephyr,vref-mv = <1200>; zephyr,acquisition-time = ; zephyr,resolution = <12>; zephyr,input-positive = ; }; }; Application-level configuration static struct adc_channel_cfg channel_cfg = { .gain = ADC_GAIN_1, .reference = ADC_REF_INTERNAL, .acquisition_time = ADC_ACQ_TIME_DEFAULT, .channel_id = 3, .input_positive = 3, /* GAU_ADC_CH3 */ }; static int16_t adc_buffer; static struct adc_sequence adc_seq = { .channels = BIT(3), .buffer = &adc_buffer, .buffer_size = sizeof(adc_buffer), .resolution = 12, .calibrate = true, .oversampling = 4, /* 16x HW averaging */ }; What I had to fix manually to get any sensible reading at all These are issues we encountered and worked around — listed here in case any of them point to a real bug or a misuse: 1. INBUF_EN was never actually being cleared The Zephyr driver does not propagate /delete-property/ nxp,input-buffer; from the DT into the hardware on this SoC, so we cleared ADC_REG_ANA[14] directly: /* GAU_GPADC0 base 0x40038000, ADC_REG_ANA at offset 0x10 */ volatile uint32_t *p = (volatile uint32_t *)0x40038010; *p &= ~(1U << 14); /* clear INBUF_EN */ Without this, the input buffer biases the high-impedance divider and gives a systematic offset. 2. GPIO_45 default pad pull-up biases the divider node by ~200 mV At reset, SOCCIU_PAD_PU_PD_EN2 (offset 0x78 of SOCCTRL non-secure base 0x45001000) had bits [27:26] = 01 → ~100 kΩ pull-up to VDDIO active on GPIO_45. On a 9.6 kΩ Thevenin source this offsets Vadc by ~200 mV. The nxp,mci-io-mux Zephyr pinctrl driver does not expose a bias-disable property for analog pins, so we clear the bits manually at boot: /* Clear GPIO_45 pad pull (PAD_PU_PD_EN2 bits [27:26]) */ volatile uint32_t *p = (volatile uint32_t *)0x45001078; *p &= ~(0x3U << 26); After this, the multimeter at the pad reads exactly Vbat × 10 / 253 (within ~2 %, consistent with resistor tolerance), so the divider itself and the pad biasing are now clean. 3. Settling / always-on divider For diagnostic purposes, the divider is now permanently powered (instead of being switched via a MOSFET) so settling is not an issue. The pad voltage is verified stable with a multimeter before each ADC sample. Verified register state at the time of measurement GAU_GPADC0 (0x40038000): ADC_REG_ANA [0x40038010] = 0x0000A810 → INBUF_EN=0, VREF_SEL=01 (1.2 V), INBUF_GAIN=01, INBUF_CHOP_EN=1, ADC_CHOP_EN=1, RES_SEL=00 (12-bit) ADC_REG_CONFIG [0x40038014] = 0x00000000 MCI_IO_MUX (0x40004000): GPIO_GRP0 [0x40004030] = 0x001C1C02 GPIO_GRP1 [0x40004034] = 0x201EDBD8 SOCCIU PAD_PU_PD_EN2: [0x45001078] = 0x01152400 → GPIO_45 PU/PD bits = 00 (no pull) What I tried before posting All combinations below were tested with the divider permanently powered, multimeter confirming the analog input is the steady-state expected value: Knob Values tried Effect on RAW VREF_SEL (reference) 1.2 V (01) → 1.8 V (00) RAW scales by ~1.2/1.8 as expected, but the mismatch with the multimeter persists with the same factor INBUF_GAIN (gain) gain=1 (01), gain=0.5 (00), gain=2 (10) No effect — suggests INBUF_GAIN does nothing while INBUF_EN=0 BYPASS_WARMUP / WARMUP_TIME 0 (bypass) up to 32 (max) cycles No measurable effect on RAW ADC_CHOP_EN & INBUF_CHOP_EN both ON, both OFF No effect Zephyr .calibrate true / false No effect   The remaining issue Even with everything above looking correct, RAW does not track the input voltage in a sensible way. Sequence of measurements (Vbat fed by a stable bench supply, divider verified by multimeter at each point): Vbat (V) Pad (multimeter, mV) Pad expected = Vbat·10/253 (mV) RAW from adc_read() 22 848 869 1682 24 928 949 1708 26 1007 1028 2413 28 1084 1107 1745 29 1122 1146 1860 The multimeter column is monotonic and matches divider theory within ~2 %. The RAW column is non-monotonic (jumps to 2413 at 26 V, then down to 1745 at 28 V). Even ignoring the 2413 outlier, ΔRAW between 22 V and 28 V is only +63 LSB for +236 mV at the pad. With Vref = 1.2 V at 12-bit, expected ΔRAW ≈ 805 LSB. So the apparent gain is roughly 0.08× of theoretical — clearly wrong. Earlier individual readings at single set-points had given RAW ≈ 2415 at Vbat ≈ 25 V (multimeter pad ≈ 990 mV), which would imply effective Vref ≈ 1.68 V instead of the configured 1.2 V — also unexplained.   My questions Is there any front-end attenuator or fixed gain on the GAU GPADC single-ended input path that is always active when INBUF_EN = 0, regardless of INBUF_GAIN? The ratio I'm seeing (~0.6 to 0.7×) is independent of VREF_SEL and INBUF_GAIN. Is INBUF_EN = 0 (direct sampling) actually a supported / characterized mode for single-ended measurements on RW612, or is it only valid for differential mode? The reference manual implies the input buffer should normally be enabled, but enabling it makes high-impedance sources unusable due to bias current. What is the maximum recommended source impedance for ADC0_CH3 in single-ended direct-sampling mode? Is 9.6 kΩ Thevenin acceptable or is an external buffer required? Is GPIO_45 a "special" channel (it can also carry EXT_VREF for external reference) — does the EXT_VREF analog path stay connected even when VREF_SEL = 01 (internal 1.2 V), and could it be loading the input? Are there any known errata or chopper-related artifacts on the GAU GPADC for high-impedance, low-frequency DC inputs? Thanks! Re: RW612 GAU GPADC0 — inconsistent / non-monotonic readings on a high-impedance source Hello @_arthur_, hope you are doing well. Would you please confirm in which Zephyr version have you done these tests? Regarding the Zephyr version, there is now available the release of Zephyr 4.4.0 of our downstream repository, would you please confirm if the behavior that you are observing is also present in this version? Additionally, have you been doing these tests on a custom application? Or is it from a repository example?
View full article
EIS BMSを構築したい EIS BMSを構築したい。秘密保持契約(NDA)以外でICとデータシートを入手する方法はないのでしょうか?これは個人的な研究目的です。 私は現在、韓国の忠南国立大学で修士号と博士号の取得を目指している学生です。 現在、BMSのハードウェア設計とファームウェアに関する包括的な研究を行っており、既存のICをNXP製のICに交換し、EIS機能を組み込みたいと考えています。 大学がNXPと秘密保持契約(NDA)を結んでいるかどうかは分かりませんし、それを確認する方法も知りません。私は普段DigiKeyからしか商品を購入しないので、このような情報を入手しようとしたのは今回が初めてです。もしご迷惑をおかけしたようでしたら、お詫び申し上げます。 #BMA7418 EIS BCC #BMA8420 EIS BCC #TAA3033 #FS26 PMIC もし可能であれば、各ICのリファレンスファームウェアのソースコードも入手できますか? 貴社資料の中から[ホワイトペーパー]-EISがバッテリーシステムを廃止する、を拝見した後、ご連絡させていただきました。 Re: I want to build an EIS BMS パーク様、 大学がNDA(秘密保持契約)に署名しているかどうか不明な場合は、こちらから新しいチケットを作成してください。当社のNDA担当者が確認し、まだNDAが締結されておらず、お客様が署名を希望される場合は、その手続きについてご案内いたします。 関連するドキュメント、ハードウェア、ソフトウェアなどは、通常、製品ページで入手できます。以下のリンクをご確認ください。 BMA7418 、 BMA8420 、 TAA3033 、 FS26 。 文書は通常、機密情報として「安全な場所」セクションに分類されており、有効な秘密保持契約(NDA)を締結することでダウンロードできます。 ソフトウェアについては、各リンク先のソフトウェアセクションまでスクロールしてください。 ダウンロードオプションをクリックしてください。ソフトウェアドライバのページに移動します。 敬具、 ヨゼフ
View full article