Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
S32DS for ARM 2018.R1 debug Problem S32DS for ARM 2018.R1 have a problem when I debug S32K146 chip, As follow: Could not determine GDB version after sending: D:\S32DS\eclipse\../Cross_Tools/gcc-arm-none-eabi-4_9/bin/arm-none-eabi-gdb --version, response: But, Jlink can cnonect and erase and program chip. Now, I do not debug using S32DS for ARM 2018.R1, Please help me, Thanks! Re: S32DS for ARM 2018.R1 debug Problem Hi@lyz I didn't quite understand your question. Could you post a screenshot of the error?
View full article
SC18IM704 does not work Hi everyone! I used STM32F407 for UART communication with SC18IM704 chip. The UART peripheral of STM32 successfully sent data to tx, but there was no feedback from SC18IM704 on rx.when board is power on.UART baud rate is 9600 bit/s. The schematic diagram of the board is shown in the figure. 3046B74B-E9DE-4e11-8E23-9134E0817F20.png3046B74B-E9DE-4e11-8E23-9134E0817F20.png3046B74B-E9DE-4e11-8E23-9134E0817F20.png I use the Read version function ID command of SC18IM704 .shown in the figure SDS1204X_HD_JPG_1.jpgSDS1204X_HD_JPG_1.jpgSDS1204X_HD_JPG_1.jpg No data feedback provided of SC18IM704 I2C uart Re: SC18IM704 does not work Hi,  according to the SC18IM704 datasheet, after power up the SC18IM704 send two bytes to the host. Do you receive these two bytes after power up?  JozefKozon_0-1779954086888.pngJozefKozon_0-1779954086888.pngJozefKozon_0-1779954086888.png If you are not receiving these two bytes, please check if the RESET pin is high. Please remove the 10k pull-up resistors on the TX and RX lines. Only the RX pin requires pull-up resistor and only if you want to keep the SC18IM704 in Deep Power-down mode. Otherwise no pull-up resistors should be on the TX and RX lines. With Best Regards, Jozef Re: SC18IM704 does not work Hello,  thank you for confirmation. Please remove the R106 resistor, to disconnect the TX pin from your MCU. To make sure, that the TX pin is floating (not held high by your MCU). Then power up the SC18IM704 and measure the TX pin on the SC18IM704 with an oscilloscope to look for the "OK", the two bytes 0x4F and 0x4B.  If you still don't see the "OK" please conduct the reset with the RESET pin.  1. Watch TX with oscilloscope 2. Hold RESET LOW (GND) for ~10 ms 3. Release to HIGH 4. See if the "OK" appears   With Best Regards, Jozef Re: SC18IM704 does not work hello Jozef: I check the RESET pin of SC18IM704 is high(3.3V) by oscilloscope.after power up the SC18IM704. I not find the two bytes('OK') by oscilloscope. I removed the 10k pull-up resistors on the TX and RX lines. I use four SC18IM704 chips ,and the situation is the same. I don't know how to solve this problem,please help me. Re: SC18IM704 does not work Hi, I am running into similar issue, did remove the Rx and Tx resistors, but still now showing ok. What are some common next step to trouble shoot, or if there is a recommended design that I can look into. Re: SC18IM704 does not work I am facing the same issue. I built a board using SC18IM704 a few years ago, and it worked correctly. However, when I recently built the same board again, I encountered a problem where it does not work at all. Specifically, sending a reset signal to the reset pin yields no acknowledgment(OK). Furthermore, sending commands to the RX pin results in no response—neither the version information nor I2C commands work.  Since I had an older lots on hand, I tried swapping it in, and it operated normally. It appears there is a major issue with the IC itself in specific lots. Please share the problematic lots in this thread. -Work 18IM704 355.101 ZXD23 13 18IM704 355.101 ZXD23 25 18IM704 355.103 ZXD22 32 -Not Work 18IM704 265.102 ZXD21 35
View full article
MIMXRT700 EVK Battery Connection and External Power Up Clarification Hi Team, We are currently working on the MIMXRT700 EVK and need clarification regarding battery connection and external board power-up. We observed that the PMIC IC has a VBAT input, but we are unable to identify the exact connector/header on the EVK where a battery can be connected directly. Could you please help us with the following: Please point us to the official battery connector/header available on the RT700 EVK. Exact connector/header location on the board Supported battery type/specification Recommended connector/part number We would also like to understand the correct procedure to power up the RT700 EVK using an external power adapter while still supporting flashing and debugging. Currently, we are powering and debugging the board through the USB debug port. We want to know: What changes/setup are required when powering the board externally for battery and adapter Whether flashing and debugging through USB/J-Link will continue to work in this setup. Thanks & Regards, Suhas Evaluation Board Re: MIMXRT700 EVK Battery Connection and External Power Up Clarification Hi @suhas1503 , Thanks for your interest in NXP MIMXRT series! The PMIC supports battery power, but on the EVK, it is set to DNP by default. You can locate J37 on the schematic. A detailed description can be found in the “MIMXRT700-EVK Board User Manual[UM12188]”. Please take a look. Gavin_Jia_0-1779932324256.pngGavin_Jia_0-1779932324256.png Gavin_Jia_1-1779932333707.pngGavin_Jia_1-1779932333707.png For the RT700, there is no specific requirement regarding the choice of battery for the PMIC; you can select one based on the PCA9422 datasheet. In addition, the RT700-EVK supports powered by an external power adapter and supports a 5V power supply. It is connected via J45, and the power source is selected by shorting pins 1 and 2 on J2. The details is in “MIMXRT700-EVK Board User Manual[UM12188]” Section 2.2 . The on-board debugger continues to function normally when powered by an external power source. Best regards, Gavin Re: MIMXRT700 EVK Battery Connection and External Power Up Clarification Hi, I am using the MIMXRT700-EVK with a Murata 2EL M.2 module connected to the M.2 socket on the RT700-EVK. I am testing different examples from the MCUXpresso SDK. Hardware setup: - Board: MIMXRT700-EVK - M.2 module: Murata 2EL M.2 module - Murata 2EL module is connected to the M.2 socket - Power is supplied through JP37 using a battery - MCUXpresso SDK: SDK_26_03_00_MIMXRT700-EVK Observed behavior: When the RT700-EVK is powered through JP37 using a battery: 1. The hello_world example works correctly. 2. The xaf_record example works correctly. 3. The edgefast_bluetooth_examples/peripheral_ht example builds and flashes successfully, but the application fails during runtime initialization. The UART log is: BLE Peripheral HT demo start... [sdio] Error: Card initialization failed [wifi_io] Error: SDIO driver init failed. ASSERT ERROR " API_SUCCESS == result ": file "middleware/wireless/ethermind/port/pal/mcux/bluetooth/controller/controller_wifi_nxp.c" Line "120" However, when I use the same edgefast_bluetooth_examples/peripheral_ht example with the J54 USB debug port and J45 port with the adapter, the example works correctly. Therefore, the EdgeFast Bluetooth example works correctly with the J54/J45 configuration but fails when the board is powered through JP37 using a battery. The hello_world and xaf_record examples work correctly with the JP37 battery configuration. Expected behavior: I expect the edgefast_bluetooth_examples/peripheral_ht example to initialize the Bluetooth controller successfully when the RT700-EVK is powered through JP37 using a battery and the Murata 2EL M.2 module is connected. Questions: 1. Is the JP37 power configuration supported for running the EdgeFast Bluetooth examples with the Murata 2EL M.2 module? 2. Does the Murata 2EL M.2 module require any additional jumper, switch, or power configuration when JP37 is used with a battery? 3. Why does the application report the following errors when using the JP37 battery configuration? [sdio] Error: Card initialization failed [wifi_io] Error: SDIO driver init failed. 4. Is there any required power sequencing or M.2 power-enable configuration for the wireless module when using battery power through JP37? 5. Is there a recommended RT700-EVK jumper and power configuration for using the Murata 2EL M.2 module with the EdgeFast Bluetooth examples and battery power? Please let me know if you need any additional information, such as the complete UART log, jumper configuration, SDK configuration, schematic details, or power measurements. Thank you.
View full article
S32K31XEVB-Q100FlexCAN0 — ループバックは正常に動作しますが、外部CANoeツールでは受信できません。 ボード: S32K311-EVB モジュール: FlexCAN0 ツール: J8コネクタで接続されたベクターCANoe デバッグプローブ: Jリンク 私はFlexCAN0を使ってS32K311-EVBでCANプロトコルを実装しています。 ループバックモードテスト(動作確認済み): 私はまず、FlexCAN0を内部ループバックモードで実装し、テストしました。これはうまくいきました。送信されたメッセージは、私の「void CanIf_RxIndication(const Can_HwType* Mailbox, const PduInfoType* PduInfoPtr )」を通じて正しく受信されました。 処理機能により、FlexCAN0の基本設定(クロック設定、ビットタイミング、メッセージバッファ初期化)が正しく機能していることを確認します。 外部コミュニケーションテスト(効果なし): 次に外部CAN通信のテストに移りました: ピン構成でPTA6とPTA7のピンを設定してください。 J8コネクターでVector CANoeをボードに接続しました。 CANoe構成では、私は チェックされていない「CAN Loopback Mode」 12Vアダプターを取り付ける CANoeの送信を開始しました — CANoeはCANフレームを送信していることを示しています。 しかし、S32K311側では何も受信されず、 CanIf_RxIndication (ループバックモードでは正しく動作していた同じ関数)は呼び出されたりトリガーされたりしません。 デバッグには、JTAG を使用した Segger RTT Viewer を使用しています。 設定 Sami2098_0-1789478804307.pngSami2098_0-1789478804307.pngSami2098_0-1789478804307.png Sami2098_1-1789478831337.pngSami2098_1-1789478831337.pngSami2098_1-1789478831337.png Sami2098_2-1789478911944.pngSami2098_2-1789478911944.pngSami2098_2-1789478911944.png Sami2098_3-1789478932611.pngSami2098_3-1789478932611.pngSami2098_3-1789478932611.png よろしくお願いします。   Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool こんにちは、 @Sami2098 さん。 現在使っているRTDバージョンを教えてもらえますか? 私たちのコミュニティには参考にできるいくつかの例があります: Re: S32K311のCAN例 - NXPコミュニティ ポーリングモードDS3.5 RTD300を使用したS32K312 CAN送受信の例 [RTD600 MCAL & IP] S32K3X4EVB-T172 FlexCAN 割り込みのサンプル / ポーリング FlexCANの設定は全体的に問題なさそうです。PTA6/7がそれぞれ入力と出力として設定されていること、そして実際にSiul2_Port_Ip_Init()APIを呼び出してポートの初期化をしているのか確認できますか? Julin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.png S32K1XEVBを使っている場合、使用されているトランシーバはFS23で、FS23がデバッグモードの場合、CANトランシーバはデフォルトでアクティブモードに設定されているため、CAN_MODE = 0b1xを設定する必要はありません。 S32K311<->CANoeの間で設定されているビットレートとサンプリングポイントが同じであることを確認することもお勧めします。 最後に、もしロジックアナライザーやオシロスコープをお持ちなら、CANTXD、CANRXD、CANH、CANLの信号を共有してもらえますか? よろしくお願いします、 ジュリアン Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool こんにちは、 Julián_AragónMさん。 調べていただきありがとうございます。原因は、実は CANoeのチャネルバス設定の問題 で、S32K311 CANドライバの設定の問題ではありませんでした。CANoe Vectorの設定を修正したところ、受信は正常に動作するようになりました。 追加の質問: 現在は 500 kbpsで動作しており、異なるボーレート(例: 125 kbps)に切り替えると、正しいビットタイミングとCAN周辺クロックに対するサンプルポイントを維持するために、プリスケーラ、伝播セグメント、位相セグメント1、フェーズセグメント2、リシンクジャンプ幅など、いくつかの依存パラメータを再計算する必要があると理解しています。 誰か、 以下の説明書や参考資料 を教えてもらえますか? これらのビットタイミングパラメータ(プリスケーラ、プロップセグメント、PS1、PS2、SJW)が、異なる目標ボーレートとどのように関連し、どのように導出されるか。 オートモーティブ・インダストリアルの文脈で異なるボーレートに対する推奨サンプルポイント範囲。 ビットタイミング計算用の S32K3xx FlexCAN MCAL(AUTOSAR) 構成ツールに関する公式のNXPアプリケーションノートや参考文献など、いかなるものもご存知。 私は MCALレイヤーをAUTOSARモード (S32 Configuration Tool for Canドライバー設定)で使っているので、この設定フローに合わせたガイド(レジスタレベルのFlexCANプログラミングだけでなく)が特に助かります。 ご指導ありがとうございます。 Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool こんにちは、 @Sami2098 さん。 1.リファレンスマニュアルRev. 12の73.3.10.8章(プロトコルタイミング)S32K3XXビットタイミングの設定とその各種パラメータが説明されています。 2. これはアプリケーションや構成によります。ただし、標準ビットレートには125 kbps、250 kbps、500 kbpsがあります。 3. FlexCANビットタイミング計算シートを参照してください。また、RTDトレーニングのシルデスと連携したS32K3XX FlexCANも参照できます。 よろしくお願いします、 ジュリアン
View full article
NXP S32k118 I2Cエミュレーション こんにちは、 私は、I2Cマルチプレクサを使用せずに、S32K118(Q48)マスターから10個の同一アドレスのI2Cスレーブを同時に駆動する方法を評価しています。 私の計画は、ハードウェアタイマーでクロックを生成し、DMA転送を組み合わせて同じポート上の10本のGPIOピンを同時に更新することで、10本の並列I2Cバスをエミュレートすることです。 S32K118のDMAやタイマー**ペリフェラル**が、このような方法でポート全体のGPIO更新をトリガーできるかどうか、確認を手伝ってもらえますか?このアーキテクチャに関して注意すべきハードウェアの制限やエッジケースはありますか? よろしくお願いいたします。 Re: NXP S32k118 I2C emulation こんにちは、 @Luke_John さん。 はい、このアーキテクチャは基本的にサポートしています。 S32K1xxシリーズリファレンスマニュアル、Rev. 14を参照: 第13.3.1項 GPIOレジスタの説明 ご覧の通り、すべてのGPIOポートは32ビットレジスタからアクセス可能です。 セクション 17 4.1「GPIOポートを使用して波形を駆動またはサンプリングする」DMAを構成してデータを1つ以上のGPIOポートに転送することにより、オンチップメモリに格納された表形式データを使用して複雑な波形を作成することが可能です。逆に、DMAを使用して1つまたは複数のGPIOポートからデータを定期的に転送することで、複雑な波形をサンプリングし、その結果を表形式でオンチップメモリに保存することが可能です。 DMAトランスファーはDMAMUXやTRGMUXのタイマーでトリガーできます。 シームレスなDMA転送を実現するには、クロスバーをラウンドロビンアービトレーション(MCM_CPCR[CBRR]を「1」に設定)にプログラムする必要があります。 よろしくお願いいたします。 ダニエル
View full article
i.MX93 M33 无法使用系统 TCM RAM 进行分配 我们正在评估 i.MX9352 在物联网设备中的应用。我为 M33 内核创建了一个应用程序,用于执行时间关键型 IO 操作,其中包括从外围设备收集大量样本。为了开发目的,我正在使用 remoteproc 从 Linux 加载和启动 M33 代码。代码是用 C 语言编写的,并使用了 MPUXpresso 26.06.00 SDK。 代码运行良好,但我现在需要一个大的样本缓冲区(约 24 kB)。我尝试过将其添加为静态数组或使用 `malloc` 分配的堆。无论哪种情况,我的内存似乎都会耗尽,即使编译输出表明内存充足。 工作版本: 以下是使用较小缓冲区版本的内存信息,**运行正常**(但缓冲区太小,无法满足我们的要求)。 Memory region Used Size Region Size %age Used m_interrupts: 1140 B 1144 B 99.65% m_text: 78300 B 129928 B 60.26% m_m33_suspend_ram: 0 B 8 KB 0.00% m_a55_suspend_ram: 0 B 4 KB 0.00% m_data: 48016 B 108 KB 43.42% m_rsc_tbl: 0 B 4 KB 0.00% build finished successfully. 以下是ELF文件中的一些信息: readelf -l imx_m33.elf Elf file type is EXEC (Executable file) Entry point 0xffe0595 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x0ffe0000 0x0ffe0000 0x00474 0x00474 R 0x1000 LOAD 0x001478 0x0ffe0478 0x0ffe0478 0x131dc 0x131dc RWE 0x1000 LOAD 0x015000 0x20003000 0x0fff3654 0x00170 0x00170 RW 0x1000 LOAD 0x000180 0x20003180 0x0fff37e0 0x00000 0x0ba10 RW 0x1000 Section to Segment mapping: Segment Sections... 00 .interrupts 01 .resource_table .text .ARM .init_array .fini_array 02 .data 03 .bss .heap .stack 大型静态分配: 以下是使用 **24 kB 静态分配缓冲区**的编译版本的内存和 ELF 文件信息。 IE。: static uint32_t m_sample_queue[SAMPLE_QUEUE_LENGTH]; // SAMPLE_QUEUE_LENGTH = 6000 Memory region Used Size Region Size %age Used m_interrupts: 1140 B 1144 B 99.65% m_text: 78240 B 129928 B 60.22% m_m33_suspend_ram: 0 B 8 KB 0.00% m_a55_suspend_ram: 0 B 4 KB 0.00% m_data: 72016 B 108 KB 65.12% m_rsc_tbl: 0 B 4 KB 0.00% build finished successfully. ### (As expected, the `m_data` section has increased in size.) ### readelf -l imx_m33.elf Elf file type is EXEC (Executable file) Entry point 0xffe0595 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x0ffe0000 0x0ffe0000 0x00474 0x00474 R 0x1000 LOAD 0x001478 0x0ffe0478 0x0ffe0478 0x131a0 0x131a0 RWE 0x1000 LOAD 0x015000 0x20003000 0x0fff3618 0x00170 0x00170 RW 0x1000 LOAD 0x000180 0x20003180 0x0fff37a0 0x00000 0x117d0 RW 0x1000 Section to Segment mapping: Segment Sections... 00 .interrupts 01 .resource_table .text .ARM .init_array .fini_array 02 .data 03 .bss .heap .stack 当我在 Linux 系统中尝试使用 remoteproc 启动此版本时,启动失败,dmesg 显示以下错误: [ +0.001258] imx-rproc remoteproc-cm33: Translation failed: da = 0xfff37a0 len = 0x117d0 [ +0.000021] remoteproc remoteproc0: bad phdr da 0xfff37a0 mem 0x117d0 [ +0.000006] remoteproc remoteproc0: Failed to load program segments: -22 [ +0.008868] remoteproc remoteproc0: Boot failed: -22 克劳德告诉我这是.bss .heap .stack的问题。部分,因为 PhysAddr 为 `0x0fff37a0`,大小现在为 `0x117d0`。`0x0fff37a0 + 0x117d0 = 0x10004f70` 超出了 M33 代码 TCM 地址范围0x0ffe0000 .. 0x10000000 。解释令人困惑,但我的理解是静态初始化必须放在“代码”部分,导致它溢出,即使“系统”TCM 范围内有足够的空间(另外 128 kB)。所以,这或许说得通。 动态(堆)分配: 例如。: uint32_t *p_sample_queue = malloc(SAMPLE_QUEUE_LENGTH, sizeof(uint32_t)); C 语言默认可用的堆大小只有 1 kB,因此malloc无法处理我们的大缓冲区。 我修改了项目的 CMake 文件,通过__heap_size__分配了更大的堆内存 (32 kB),该参数会传递给链接器脚本: mcux_add_linker_symbol( SYMBOLS "__stack_size__=0x400 \ __heap_size__=0x8000 \ <---- Added __use_shmem__=1 \ __multicore__=1 \ " ) 版本输出和 ELF 文件信息: Memory region Used Size Region Size %age Used m_interrupts: 1140 B 1144 B 99.65% m_text: 78240 B 129928 B 60.22% m_m33_suspend_ram: 0 B 8 KB 0.00% m_a55_suspend_ram: 0 B 4 KB 0.00% m_data: 103760 B 108 KB 93.82% m_rsc_tbl: 0 B 4 KB 0.00% build finished successfully. #### ELF file info: #### readelf -l imx_m33.elf Elf file type is EXEC (Executable file) Entry point 0xffe0595 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x0ffe0000 0x0ffe0000 0x00474 0x00474 R 0x1000 LOAD 0x001478 0x0ffe0478 0x0ffe0478 0x131a0 0x131a0 RWE 0x1000 LOAD 0x015000 0x20003000 0x0fff3618 0x00170 0x00170 RW 0x1000 LOAD 0x000180 0x20003180 0x0fff37a0 0x00000 0x193d0 RW 0x1000 Section to Segment mapping: Segment Sections... 00 .interrupts 01 .resource_table .text .ARM .init_array .fini_array 02 .data 03 .bss .heap .stack 这似乎让问题变得更糟,而不是更好(.bss/.heap/.stack)。位于 PhysAddr 0x0fff37a0,大小 0x193d0)。 [ +0.001320] imx-rproc remoteproc-cm33: Translation failed: da = 0xfff37a0 len = 0x193d0 [ +0.000019] remoteproc remoteproc0: bad phdr da 0xfff37a0 mem 0x193d0 [ +0.000006] remoteproc remoteproc0: Failed to load program segments: -22 [ +0.002908] remoteproc remoteproc0: Boot failed: -22 我原以为使用堆分配可以缩小代码段的大小,并从数据段分配内存。上面版本输出中显示的“m_data”部分确实更大。 我不太理解“PhysAddr”,它与参考手册中的“Code TCM”范围相匹配,即使对于应该在“System TCM”区域内的内容也是如此(我认为?)。“VirtAddr”下的地址似乎是正确的。 为什么 ELF 文件仍然尝试放置 .bss/.heap/.stack 文件?PhysAddr 0x0fff37a0 处的数据为什么在使用运行时堆分配时如此之大?有没有办法在“系统 TCM”区域中分配我的大缓冲区? Re: i.MX93 M33 Can't Use System TCM RAM for Allocation 嗨@jcolebaker 您可以选择将数据/bss/堆/堆栈的 LMA 更改为系统 TCM。在 MCUX 链接器脚本中,将数据段的加载地址 (AT) 从代码 TCM 更改为系统 TCM,以便 PhysAddr 也位于 0x2000_0000: .data : { ... } > m_data AT> m_data /* Do not use AT> m_text */ .bss : { ... } > m_data 当 LMA == VMA 且两者都在系统 TCM 中时,PhysAddr 变为 0x2000_xxxx,这与 remoteproc 驱动程序中 {0x20000000, …, 0x00040000} (256 KB) 范围内的条目匹配,从而使 remoteproc 能够正确转换。 此致, 志明
View full article
参照構成パス Simulinkでハードウェアを構成する際に、参照構成のディレクトリを相対パスに変更しようとしています。 Simulink -> HW-Settings -> Hardware Implementation -> Target hardware resources -> Referenced Configuration 参照構成パス = '.\generated\referenced_config' 残念ながら、ここでは相対パスを入力することはできません。 また、MATLABスクリプトで進路を設定することもまだできません。 スクリプトはCoderTargetDataにパスを設定しているように見えますが、実際には適用されていません。 古いパスが引き続き有効になるか、空のパスが適用されます。 参照設定に対して相対パスを設定する方法はありますか? Re: refence configuration path こんにちは、 @AlexG124 さん、 詳細を教えていただきありがとうございます。ご使用中のMBDTツールボックスバージョンとMATLABバージョンについて教えていただけませんか? もしS32K3ツールボックスを使っているなら、model_ref/s32k3xx_refconfig_s32ctフォルダの下に参照された設定ワークフローを示すモデル例があります。ここにはs32k3xx_refconfig_update_paths_callback.mというMATLABスクリプトがあり、あなたの目標達成に役立つかもしれません。 また、ご参照の構成方法、使用方法、アプリケーションの流れについても詳しく教えていただけると助かります。 よろしくお願いいたします。 ドラゴス
View full article
s32k144 MBDツールボックスを使用したI2Cの読み書き こんにちは、 私はs32k144を使用して、外部EEPROMからのデータ読み書きを行っています。モデルを下に添付します。データの書き込みはできますが、読み込み時に255+NACKが出力されます。何か見落としているのでしょうか? Sriram_0-1737789999186.pngSriram_0-1737789999186.png Sriram_1-1737790013461.pngSriram_1-1737790013461.png I2CmasterブロックでEEPROMのレジスタアドレスを指定する方法はありますか? Sriram_2-1737790096449.pngSriram_2-1737790096449.png この問題について皆さん助けてもらえますか? ありがとう Re: I2C read and write using s32k144 MBD toolbox こんにちは、 私も、マスターとしてS32K144 、スレーブとしてST M24C04 EEPROMを使用したI2C通信で同じ問題に直面しています。 同じマイクロコントローラとEEPROMを使っているので、解決策が見つかっているか確認したいです。もしこの問題が解決したなら、その解決策を教えていただけるか、どう解決したのか教えていただけませんか? ご協力ありがとうございます。 Re: I2C read and write using s32k144 MBD toolbox 私はM24C02-DRE EEPROMを使用しています
View full article
i.MX93 M33 System TCM RAMを割り当てに使用できません 当社はIoTデバイス向けにi.MX9352を評価しています。私はM33コア用のアプリケーションを作成しました。これにはペリフェラルから大量のサンプルを収集する時間的責任のIO操作が含まれます。開発のために、Linuxからリモートプロックを使ってM33コードを読み込み、起動しています。コードはC言語で書かれ、MPUXpresso 26.06.00 SDKを使用しています。 コードはうまく動作するようになったのですが、今度はサンプル用の大きなバッファ(約24kB)が必要です。私はこれを静的配列として、または`malloc`で割り当てられたヒープとして追加しようと試みました。いずれにせよ、コンパイル出力では十分なRAMがあると示されているのに、私はすぐにRAMが切れてしまうようです。 作業版: こちらは小さなバッファのビルドのメモリ情報で、**問題なく動作します*(ただしバッファは私たちの要件には小さすぎます)。 Memory region Used Size Region Size %age Used m_interrupts: 1140 B 1144 B 99.65% m_text: 78300 B 129928 B 60.26% m_m33_suspend_ram: 0 B 8 KB 0.00% m_a55_suspend_ram: 0 B 4 KB 0.00% m_data: 48016 B 108 KB 43.42% m_rsc_tbl: 0 B 4 KB 0.00% build finished successfully. ELFファイルからの情報は以下のとおりです。 readelf -l imx_m33.elf Elf file type is EXEC (Executable file) Entry point 0xffe0595 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x0ffe0000 0x0ffe0000 0x00474 0x00474 R 0x1000 LOAD 0x001478 0x0ffe0478 0x0ffe0478 0x131dc 0x131dc RWE 0x1000 LOAD 0x015000 0x20003000 0x0fff3654 0x00170 0x00170 RW 0x1000 LOAD 0x000180 0x20003180 0x0fff37e0 0x00000 0x0ba10 RW 0x1000 Section to Segment mapping: Segment Sections... 00 .interrupts 01 .resource_table .text .ARM .init_array .fini_array 02 .data 03 .bss .heap .stack 大規模な静的割り当て: こちらは**24 kBの静的割り当てバッファ**を持つビルドのメモリとELFファイル情報です。 つまり: static uint32_t m_sample_queue[SAMPLE_QUEUE_LENGTH]; // SAMPLE_QUEUE_LENGTH = 6000 Memory region Used Size Region Size %age Used m_interrupts: 1140 B 1144 B 99.65% m_text: 78240 B 129928 B 60.22% m_m33_suspend_ram: 0 B 8 KB 0.00% m_a55_suspend_ram: 0 B 4 KB 0.00% m_data: 72016 B 108 KB 65.12% m_rsc_tbl: 0 B 4 KB 0.00% build finished successfully. ### (As expected, the `m_data` section has increased in size.) ### readelf -l imx_m33.elf Elf file type is EXEC (Executable file) Entry point 0xffe0595 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x0ffe0000 0x0ffe0000 0x00474 0x00474 R 0x1000 LOAD 0x001478 0x0ffe0478 0x0ffe0478 0x131a0 0x131a0 RWE 0x1000 LOAD 0x015000 0x20003000 0x0fff3618 0x00170 0x00170 RW 0x1000 LOAD 0x000180 0x20003180 0x0fff37a0 0x00000 0x117d0 RW 0x1000 Section to Segment mapping: Segment Sections... 00 .interrupts 01 .resource_table .text .ARM .init_array .fini_array 02 .data 03 .bss .heap .stack Linuxでremoteprocを使ってこのバージョンを起動しようとすると起動できず、dmesgは以下のエラーを表示します。 [ +0.001258] imx-rproc remoteproc-cm33: Translation failed: da = 0xfff37a0 len = 0x117d0 [ +0.000021] remoteproc remoteproc0: bad phdr da 0xfff37a0 mem 0x117d0 [ +0.000006] remoteproc remoteproc0: Failed to load program segments: -22 [ +0.008868] remoteproc remoteproc0: Boot failed: -22 クロードは、これは.bss .heap .stackの問題だと私に言った。PhysAddr が `0x0fff37a0` で、サイズが `0x117d0` になったため、このセクションが使用不可となります。`0x0fff37a0 + 0x117d0 = 0x10004f70` は、M33 コード TCM アドレス範囲0x0ffe0000 .. 0x10000000を超えています。説明は分かりにくかったのですが、私の解釈では、静的初期化は「code」セクションに記述する必要があり、「system」TCM領域(残りの128kB)には十分な空き容量があるにもかかわらず、オーバーフローが発生してしまうということです。だから、これで納得できるかもしれません。 動的(ヒープ)割り当て: 例えば。: uint32_t *p_sample_queue = malloc(SAMPLE_QUEUE_LENGTH, sizeof(uint32_t)); Cで利用可能なデフォルトのヒープサイズはわずか1 kBなので、 malloc は大きなバッファでは失敗します。 プロジェクトのCMakeを修正し、 __heap_size__を介してより大きなヒープ(32kB)を割り当てるようにしました。この__heap_size__はリンカースクリプトに渡されます。 mcux_add_linker_symbol( SYMBOLS "__stack_size__=0x400 \ __heap_size__=0x8000 \ <---- Added __use_shmem__=1 \ __multicore__=1 \ " ) ビルド出力とELFファイル情報: Memory region Used Size Region Size %age Used m_interrupts: 1140 B 1144 B 99.65% m_text: 78240 B 129928 B 60.22% m_m33_suspend_ram: 0 B 8 KB 0.00% m_a55_suspend_ram: 0 B 4 KB 0.00% m_data: 103760 B 108 KB 93.82% m_rsc_tbl: 0 B 4 KB 0.00% build finished successfully. #### ELF file info: #### readelf -l imx_m33.elf Elf file type is EXEC (Executable file) Entry point 0xffe0595 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x0ffe0000 0x0ffe0000 0x00474 0x00474 R 0x1000 LOAD 0x001478 0x0ffe0478 0x0ffe0478 0x131a0 0x131a0 RWE 0x1000 LOAD 0x015000 0x20003000 0x0fff3618 0x00170 0x00170 RW 0x1000 LOAD 0x000180 0x20003180 0x0fff37a0 0x00000 0x193d0 RW 0x1000 Section to Segment mapping: Segment Sections... 00 .interrupts 01 .resource_table .text .ARM .init_array .fini_array 02 .data 03 .bss .heap .stack これは問題を改善するどころか悪化させているようだ(.bss/.heap/.stackPhysAddr 0x0fff37a0、サイズ 0x193d0)。 [ +0.001320] imx-rproc remoteproc-cm33: Translation failed: da = 0xfff37a0 len = 0x193d0 [ +0.000019] remoteproc remoteproc0: bad phdr da 0xfff37a0 mem 0x193d0 [ +0.000006] remoteproc remoteproc0: Failed to load program segments: -22 [ +0.002908] remoteproc remoteproc0: Boot failed: -22 ヒープ割り当てを使うことでコードセクションを小さくし、データセクションからメモリを割り当てられると思っていました。上記のビルド出力に示されている「m_data」セクションは確かに大きいです。 リファレンスマニュアルの「Code TCM」の範囲に一致する「PhysAddr」の意味がよく分かりません。本来「System TCM」領域にあるべきもの(だと思うのですが)についてもです。「VirtAddr」の下のアドレスは正しいようです。 ELF ファイルはなぜまだ .bss/.heap/.stack を配置しようとするのかPhysAddr 0x0fff37a0のデータについて、なぜランタイムヒープ割り当てを使うとこんなに大きいのでしょうか?また、「System TCM」領域に大きなバッファを割り当てる方法はありますか? Re: i.MX93 M33 Can't Use System TCM RAM for Allocation こんにちは、 @jcolebakerさん データ/BSS/ヒープ/スタックのLMAをSystem TCMに変更することもできます。MCUXリンカースクリプトでは、データセグメントのロードアドレス(AT)をコードTCMからSystem TCMに変更し、PhysAddrも0x2000_0000に当てはまるようにします。 .data : { ... } > m_data AT> m_data /* Do not use AT> m_text */ .bss : { ... } > m_data LMA == VMAが両方ともSystem TCMにある場合、PhysAddrは0x2000_xxxxとなり、remoteprocドライバーの{0x20000000, ..., 0x00040000}(256 KB)の範囲に一致し、remoteprocが正しく翻訳できるようにします。 よろしくお願いします、 志明
View full article
MCXN947 HPDACバックポート Zephyrのnxp_hpdacドライバをMCXN947ベースのボード用にZephyr 4.3にバックポートしています。 アップストリームドライバーはデバイスinitコールバックを使用しません。しかし、Zephyr 4.3では、ペリフェラルを使う前にDAC2クロック、SPCアナログモジュールを明示的に初期化し、リセットしないとHPDACが正しく動作しません。 以下の手順を実行するnxp_hpdac_init()関数を追加しました。 CLOCK_SetClkDiv(kCLOCK_DivDac2Clk, 1U) CLOCK_AttachClk(kFRO_HF_to_DAC2) CLOCK_EnableClock(kCLOCK_Dac2) SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlDac2) SPC_EnableLowPowerModeAnalogModules(SPC0, kSPC_controlDac2) RESET_PeripheralReset(kDAC2_RST_SHIFT_RSTn) DAC14_DoSoftwareReset() DAC14_DoFIFOReset() SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlVref) これらの初期化手順は、MCXN947リファレンスマニュアルに基づいており、対応するMCUX SDK APIを使用して実装されました。 初期化関数は、DEVICE_DT_INST_DEFINE() を介してデバイス初期化コールバックとして登録されます。これらの変更により、HPDACは正常に動作するようになりました。 また、Zephyr MCUXのSYSCONクロックコントロールドライバーとmcux_lpc_syscon_clock.hも確認しましたバインディングは使っていますが、このペリフェラルのHPDAC/DAC2クロック識別子やクロック制御実装が見つからなかったため、現在はMCUX SDKのクロック、SPC、リセットAPIを直接使っています。 私の質問は以下のとおりです。 1. MCXN947 HPDACドライバーをバックポートする際、この方法は正しいのでしょうか? 2. 新しいZephyrバージョンでは、これらのリソースは別の場所で初期化されているのか、それとも上流nxp_hpdacドライバーはすでに設定済みだと想定しているのか? 3. HPDACデバイスのinitコールバックがこのMCXN947固有の初期化の正しい場所でしょうか?それともこれらのステップはZephyrの他の部分で処理すべきでしょうか? 参考までに完全なバックポートドライバを添付しました。 アナログ(ADC|CMP|DAC|オペアンプ) クロック|タイマー MCX N 回复: MCXN947 HPDAC backport こんにちは、 @wesOS 1. MCXN947 HPDACドライバーをバックポートする際、この方法は正しいのでしょうか? はい、これはバックポートを行う上で合理的かつ現実的なアプローチです。必要なDAC2クロック、SPCアナログモジュール、VREF、リセットリソースがZephyr 4.3環境の他の場所で初期化されていない場合、正しいHPDAC動作を確保するためにドライバーでの初期化が必要です。 2. 新しいZephyrバージョンでは、これらのリソースは別の場所で初期化されているのか、それとも上流nxp_hpdacドライバーはすでに設定済みだと想定しているのか? HPDAC サポートはすでに上流に追加されています: https://github.com/zephyrproject-rtos/zephyr/pull/104642 しかし、現在のアップストリーム実装を使用して簡単な検証を行ったところ、DAC2クロックが設定されていないことが確認されました。例えば、CLOCK_GetDacClkFreq(2)は私のテスト環境で0Hzを報告していますが、同等のMCUX SDK例ではDACクロック設定後は48MHzと報告されています。 この観察から、現在のドライバは特定のデバイスリソースがすでに設定されていると仮定しているようです。あなたの側の時計設定経路ももう一度確認してもらえますか? また、クロック初期化のバグが確認された場合は、Zephyrチームにも報告し、さらなる調査を依頼します。 3. HPDACデバイスのinitコールバックがこのMCXN947固有の初期化の正しい場所でしょうか?それともこれらのステップはZephyrの他の部分で処理すべきでしょうか? バックポートの場合、このロジックをHPDACデバイスの初期化コールバックに配置することは、実用的かつ許容できる解決策です。 とはいえ、MCXN947固有のDAC2クロック、SPC、VREF、およびリセットの設定は、汎用的なHPDACの動作として組み込まれるのではなく、SoC固有の機能として明確に分離されるべきである。長期的には、これらのリソースはクロック、リセット、パワーマネージメントフレームワークなど、Zephyrのインフラストラクチャを通じて管理されることが望ましいです。 BR ハリー 回复: MCXN947 HPDAC backport ありがとうございます。MCXN947の設定でDAC2のクロックパスを再確認しました。 HPDACドライバーがクロックを設定する前に: dac_nxp_hpdac: DAC2 クロックの設定前: 0 Hz 後: CLOCK_SetClkDiv(kCLOCK_DivDac2Clk, 1U); CLOCK_AttachClk(kFRO_HF_to_DAC2); CLOCK_EnableClock(kCLOCK_Dac2); 次のようなメッセージが表示されました: dac_nxp_hpdac: 設定後のDAC2クロック:48000000 Hz 私も同じ挙動を目にしています:HPDACドライバーの初期化前にDAC2クロックが設定されていません。 MCXN947固有のリソース処理を分離しておくというあなたの説明も理にかなっています。 私が今主に理解しようとしているのは、最終的な上流ソリューションにおいて、その初期化処理がどのように分割されることを期待しているのかということです。 例えば、DAC2のクロック構成、SPC/VREFの設定、リセット処理がそれぞれ対応するZephyr/SoCインフラストラクチャに移行し、「dac_nxp_hpdac.c」と設定される予定ですか?汎用的なHPDAC初期化のみを保持するのですか? 主に各初期化ステップの意図された所有権を理解し、バックポートをその方向に合理的に整合させたいためです。 ありがとう。 BR ウアシム 回复: MCXN947 HPDAC backport こんにちは、 @wesOS 結果の確認ありがとうございます。設定前にDAC2のクロックが0 Hz、48000000 Hzが設定後に起きているという事実は、HPDACドライバーが動作する前にDAC2クロックが初期化されていないことを強く示唆しています。 すでに内部のZephyrチームにバグ修正を報告しました。 FRDM-MCXN947実装をさらに調べたところ、既存のDACクロック初期化は現在、DACドライバ自体ではなく基板レベルで処理されていることがわかりました。 zephyr/boards/nxp/frdm_mcxn947/board.c 機能: void board_early_init_hook(void) DAC0とDAC1の両方について、クロックとSPCの初期化を実行します。 #if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(dac0)) SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlDac0); CLOCK_SetClkDiv(kCLOCK_DivDac0Clk, 1u); CLOCK_AttachClk(kFRO_HF_to_DAC0); CLOCK_EnableClock(kCLOCK_Dac0); #endif #if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(dac1)) SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlDac1); CLOCK_SetClkDiv(kCLOCK_DivDac1Clk, 1u); CLOCK_AttachClk(kFRO_HF_to_DAC1); CLOCK_EnableClock(kCLOCK_Dac1); #endif 現在の実装から考えると、既存の基板設計と一貫性を保つことが期待されています。言い換えれば、DAC2のクロック初期化は既存のDAC0/DAC1初期化に加えてboard_early_init_hook()に追加でき、基板固有のクロックセットアップを汎用HPDACドライバに配置するのではなく、 BR ハリー
View full article
参考配置路径 在 Simulink 中配置硬件时,我尝试将参考配置的目录更改为相对路径。 Simulink -> 硬件设置 -> 硬件实现 -> 目标硬件资源 -> 参考配置 参考配置路径 = '.\generated\referenced_config' 很遗憾,这里无法输入相对路径。 到目前为止,我还没能通过 MATLAB 脚本设置路径。 虽然脚本似乎在 CoderTargetData 中设置了路径,但实际上并没有应用。 要么保持旧路径有效,要么应用一个空路径。 是否可以为参考配置设置相对路径? Re: refence configuration path 你好, @AlexG124 , 谢谢你提供的详细信息。请问您能否告知我们您目前使用的 MBDT 工具箱版本以及 MATLAB 版本? 如果您正在使用S32K3工具箱,则在model_ref/s32k3xx_refconfig_s32ct文件夹下有一个模型示例,展示了所引用的配置工作流程。这里有一个名为s32k3xx_refconfig_update_paths_callback.m的 MATLAB 脚本,它可以帮助您实现目标。 如果您能与我们联系并提供更多关于您所参考的配置的工作方式、使用方法和应用程序流程的详细信息,将对我们很有帮助。 顺祝商祺! 德拉戈斯
View full article
S32K3X4EVB-T172 Unable to Program using OpenSDA I have a fresh-out-the-box S32K3X4EVB-T172 Eval board. The S32 processor seems to be running some factory default code, but when I try to debug/reprogram using the on-board debugger (connected to my computer using USB) both the S32 and the on-board debugger go into reset. I am using the correct Power On/Plug in procedure as described by the S32K3X4EVB-T172 quick start guide. I also have installed the software and addons described there as well. Tried same process with a co-worker's S32K3X4EVB-Q172 and it worked just fine.\ Thanks in advance, -Tobiah Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 1. Please refer to the discussion: PEmicro Connection Assistant Issue on S32K3X4EVB-T172. Do the red LEDs D15(RST_OSDA) and D3(RESET_K3) remain lit, or do they flash periodically? Is your board experiencing the same issue as this customer?   2. Is FS26(U12) hot? 3. Did you follow the steps "3.2 Plug in the Power Supply" and then "3.3 Connect the Debugger Cable"? 4. Plug in the J40 micro-USB cable and observe the D14STATUS OSDA LED. If the D14 orange LED does not light up: Check whether the USB cable is a data cable, verify if the PC enumerates the OpenSDA device, and ensure the USB port and drivers are functioning correctly. Connecting the USB cable to the PC via a USB hub is not recommended. 5. The onboard debugger is provided by PEMicro, it is recommended to download the latest "USB Multilink Resources Installer" from the "Support & Downloads" category of the "Multilink Debug Probes". After installation, open PEFirmwareConfig.exe located in C:\PEMicro\Multilink_Resources to check the firmware version. My onboard debugger's firmware version is 10.98. What version is your board? If the version is too old, it is recommended to update. If the update fails, it is recommended to contact PEMicro technical support. check the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.png 6. Please use a multimeter in voltage mode or an oscilloscope to observe the voltage of P3V3_SDA (J34). S32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.png 7. The SDA_RST_TGTMCU is controlled by the output of the onboard debugger K26. If the SDA_RST_TGTMCU outputs a low level, both red LEDs D15 and D3 will light up. Please observe the SDA_RST_TGTMCU (J36) level using an oscilloscope. Is it always low, or is it periodically pulled low? Normally, when downloading a program or resetting the S32K3 via the onboard debugger, a 10ms low level should be observed in the SDA_RST_TGTMCU, causing red LEDs D15 and D3 to light up briefly. 8. Is it possible to debug the onboard S32K3 chip after connecting via J12 using an external debugger? Best Regards, Robin Re: S32K3X4EVB-T172 Unable to Program using OpenSDA I am not sure which version of the RTD Port_Example_S32K344 you are currently testing. However, I suggest setting J31 to positions 2-3 and trying again. Re: S32K3X4EVB-T172 Unable to Program using OpenSDA After some more testing: 5. I was able to update the onboard debugger firmware using the PEFirmwareConfig exe.  The behavior remains the same though when I try to debug/program. 6. J34 voltage is at 3.25V when USB is plugged in. 7. J36 is high until I try to debug/program. At which point it goes low and stays low until the micro USB is disconnected. Still waiting on an adapter for point 8.  It should arrive today. Thank you, -Tobiah Re: S32K3X4EVB-T172 Unable to Program using OpenSDA How can I determine what the version of the example project is? I switched J31 to 2-3. Same behavior. Thanks, -Tobiah Re: S32K3X4EVB-T172 Unable to Program using OpenSDA Please take a photo of the S32K3X4EVB-T172 board after connecting the external 12V power supply to J14 and plugging in the USB cable; the image must be clear enough to show the jumper settings and which LEDs are lit. Please record a video of the S32DS interface, starting from when you click the debug button and continuing until the error screen appears. This will allow me to see exactly what is happening and help troubleshoot the issue quickly. If you cannot record a video of the operations performed in S32DS on the screen, could you take a few screenshots to show the error? Re: S32K3X4EVB-T172 Unable to Program using OpenSDA Hello Robin, 1. Once I attempt to debug/program, both LEDs (D15 and and D3) remain lit. They do not flash.  I believe my board is experiencing the same issue as the customer in https://community.nxp.com/t5/S32K/PEmicro-Connection-Assistant-Issue-on-S32K3X4EVB-T172/m-p/2252525, but it seems he bypassed his issue by purchasing another EVB, which is unfortunate. 2. no 3. yes 4. D14 does light up when I plug in the micro-USB cable.  Device Manager shows "OpenSDA - CDC Serial Port (http://www.pemicro.com/opensda)".  There is no USB hub in the system, and my PC+cable can program other S32K344 EVBs using S32DS.  The issue seems tied specifically to this board. 5-7.  Give me some time to run these down.  I will respond shortly. 8. I have yet to try to JTAG directly as I am waiting on an adapter so I can interface with J12. Thank you for your detailed response, -Tobiah Re: S32K3X4EVB-T172 Unable to Program using OpenSDA Please check whether the jumper settings match those described in "3.1 Set Up Jumpers in the S32K3X4EVB-T172 Evaluation Board." Is the input voltage for J14 12V? Which project did you debug? Would it be possible for you to record a video of the debugging process and share it with me? Re: S32K3X4EVB-T172 Unable to Program using OpenSDA The jumper settings do match. J16 is showing 12V (seemed easier than measuring the jack directly). I am using the project Port_Example_S32K344 as recommended in the quick start guide.  I don't think I will be able to video. -Tobiah
View full article
P3H2840 debugging issues consultation Currently, I'm debugging based on the official P3H2840 demo and found that the temperature sensor readings on the demo differ between I2C and I3C modes (as shown in the image below). Is this normal? Re: p3h2840调试问题咨询 Hi, The 0xff second byte you are seeing on every I3C mode register read is not correct and points to a hub configuration issue. For reference, the on-board temperature sensors on the P3H2x4xHN-ARD are NXP P3T1755DP devices, which are fully I3C-capable, so the readings should be identical in both modes once the hub is correctly set up. Please check the following three items: Dynamic address assignment — The P3T1755DP powers up in I2C mode and must receive a dynamic address (via ENTDAA, SETAASA, or SETDASA) before I3C private transfers will work. If i3c_xfer is called before this step completes, the device cannot respond correctly to I3C frames, and the second byte will read as 0xff . Confirm that the address assignment CCC ran successfully and that 0x4c is the assigned dynamic address. Burst Length enable — REG#17[6] (BL_ENABLE) — If this bit is set, the I3C write phase must include a Burst Length byte after the register pointer. If your i3c_xfer call sends only 1 write byte (register address), the hub receives an incomplete frame and the read response is misaligned, causing 0xff on the second byte. Please read back REG#17 and confirm whether bit 6 is set. If it is, either add the BL byte to your write payload or clear BL_ENABLE if it is not needed. Target port VCCIO — REG#22 — In I3C mode the target port uses push-pull drive levels referenced to the VCCIO setting in REG#22. If this does not match the actual P3T1755DP supply voltage, data bytes transferred in push-pull mode can be corrupted. Please confirm that REG#22 reflects the correct operating voltage for the target port the sensor is connected to.
View full article
MPC5744P EVM – CAN1/CAN2 Support with External CAN Transceiver Hello Dear, I would like to clarify whether the MPC5744P EVM supports operation of two CAN channels using external CAN transceivers. I have successfully tested CAN0 on the EVM using the onboard/inbuilt CAN transceiver, and the CAN0 communication is working as expected. Now, I have configured CAN1 and CAN2 with the appropriate pin mapping to interface with external CAN transceivers. Could you please confirm whether CAN1 and CAN2 can be configured and operated successfully with external CAN transceivers on the MPC5744P EVM? If yes, could you please provide any recommended configuration, hardware connections, or specific settings that need to be considered for CAN1/CAN2 operation? Your guidance and support would be greatly appreciated. Thanks in advance for your help. Re: MPC5744P EVM – CAN1/CAN2 Support with External CAN Transceiver Hi, Yes, CAN1 and CAN2 can be used with external CAN transceivers on MPC5744P-based evaluation boards. The MPC5744P device provides three independent FlexCAN modules (CAN0, CAN1, and CAN2), and CAN1/CAN2 can be routed to external transceivers through their corresponding MCU TX/RX pins, if no onboard transceiver is available and connected. The device supports operation of all FlexCAN instances independently.  For CAN1/CAN2, please ensure: The selected FlexCAN instance is configured correctly in software. The corresponding TX and RX pins are configured for the FlexCAN alternative function. The external CAN transceiver is powered and connected correctly. Proper CAN bus termination is present. Board-specific jumper settings or routing options may depend on the exact EVM revision. If you can provide the EVM part number or revision, we can check whether any additional hardware configuration is required. BR, Petr
View full article
S32K3X4EVB-T172 OpenSDAを使用してプログラムできません 私は新品の S32K3X4EVB-T172 Eval ボードを持っています。S32 プロセッサは工場出荷時のデフォルトコードを実行しているようですが、USBでパソコンに接続したオンボードのデバッガでデバッグや再プログラムを試みると、S32もオンボードのデバッガもリセットされてしまいます。 S32K3X4EVB-T172クイックスタートガイドに記載されている正しい電源オン/接続手順を使っています。また、そこに記載されているソフトウェアやアドオンもインストールしています。 同僚のS32K3X4EVB-Q172で同じ手順を試したところ、問題なく動作しました。 よろしくお願いいたします。 -トビア Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 1. 議論を参照してください: S32K3X4EVB-T172 での PEmicro Connection Assistant の問題。赤色LED D15 (RST_OSDA)とD3 (RESET_K3)は点灯したままですか、それとも定期的に点滅しますか?あなたのボードもこのお客様と同じ問題を抱えていますか?   2. FS26(U12)はホットですか? 3. 「 3.2 電源を接続する」の手順、そして「3.3デバッガーケーブルを接続しますか? 4. J40マイクロUSBケーブルを接続し、 D14 STATUS OSDA LEDを確認します。 D14のオレンジ色LEDが点灯しない場合は、USBケーブルがデータケーブルかどうか、PCがOpenSDAデバイスを列挙しているか、USBポートとドライバが正しく動作しているか確認してください。USBケーブルをUSBハブ経由でPCに接続することは推奨されません。 5. オンボードデバッガはPEMicroが提供しており、「 Multilink Debug Probes 」の 「サポート & Downloads」カテゴリから 最新の 「USB Multilink Resources Installer 」をダウンロードすることをお勧めします 。インストール後、 C:\PEMicro\Multilink_Resourcesの中からPEFirmwareConfig.exeを開き、ファームウェアのバージョンを確認してください。私のオンボードデバッガーのファームウェアバージョンは 10.98 です。あなたのボードのバージョンは何ですか?バージョンが古すぎる場合は、アップデートを推奨します。アップデートが失敗した場合は、PEMicroの技術サポートに お問い合わせ することをお勧めします。 check the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngS32K3X4EVB-T172.pngのファームウェアのバージョンを確認してください。 6. マルチメーターを電圧モードで使用するか、オシロスコープを使用してP3V3_SDA(J34 )の電圧を観察してください。 S32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.png 7. SDA_RST_TGTMCUは、オンボードデバッガK26の出力によって制御されます。SDA_RST_TGTMCUが低レベルを出力すると、赤色LED D15とD3の両方が点灯します。 オシロスコープを使用して、 SDA_RST_TGTMCU(J36)レベルを監視してください。常に低い値を示すのか、それとも定期的に低い値を示すのか? 通常、オンボードデバッガを使用してプログラムをダウンロードしたり、S32K3をリセットしたりすると、 SDA_RST_TGTMCUに10msのローレベルが観測され、赤色LED D15とD3が短時間点灯します。 8. J12経由で接続した後、外部デバッガを使用してオンボードのS32K3チップをデバッグすることは可能ですか? よろしくお願いいたします ロビン Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 外部12V電源をJ14に接続し、USBケーブルを差し込んだ後、S32K3X4EVB-T172ボードの写真を撮影してください。写真は、ジャンパー設定と点灯しているLEDがはっきりとわかるように撮影してください。 デバッグボタンをクリックしたところからエラー画面が表示されるまで、S32DSのインターフェースの動画を録画してください。これにより、何が起こっているのかを正確に把握し、問題を迅速に解決することができます。もしS32DSで行われた操作の動画を画面に録画できない場合、エラーを示すためにスクリーンショットをいくつか撮ってもらえますか? Re: S32K3X4EVB-T172 Unable to Program using OpenSDA さらにテストを重ねた結果: 5.PEFirmwareConfig.exeを使用して、オンボードデバッガーのファームウェアをアップデートすることができました。しかし、デバッグやプログラミングを試みても同じ動作が続きます。 6. USBを接続すると、J34の電圧は3.25Vになります。 7. デバッグ/プログラミングを試みるまでは、J36 はハイレベルです。その時点で電圧は低下し、マイクロUSBケーブルが抜かれるまで低いままになります。 8番目の部品用のアダプターはまだ届いていません。今日届くはずです。 ありがとうございました。 -トビア Re: S32K3X4EVB-T172 Unable to Program using OpenSDA ジャンパーの設定が「S32K3X4EVB-T172評価ボードの3.1セットアップジャンパー」に記載されているものと一致しているかご確認ください。 J14の入力電圧は12Vですか? どのプロジェクトのデバッグを担当しましたか?デバッグ作業の様子を動画に録画して、私と共有していただけませんか? Re: S32K3X4EVB-T172 Unable to Program using OpenSDA ジャンパー設定は一致しています。 J16には12Vが表示されています(ジャックを直接測定するよりも簡単そうでした)。 クイックスタートガイドで推奨されているプロジェクトPort_Example_S32K344を使用しています。動画撮影はできないと思います。 -トビア Re: S32K3X4EVB-T172 Unable to Program using OpenSDA こんにちは、ロビンさん。 1. デバッグ/プログラミングを試みると、両方のLED(D15とD3)が点灯したままになります。それらは点滅しない。私のボードも https://community.nxp.com/t5/S32K/PEmicro-Connection-Assistant-Issue-on-S32K3X4EVB-T172/m-p/2252525 のお客様と同じ問題を抱えていると思います。 しかし、彼は別のEVBを購入することで問題を回避したようで、それは残念なことだ。 2. いいえ 3. はい 4. マイクロUSBケーブルを接続すると、D14のランプが点灯します。デバイスマネージャーには「OpenSDA - CDC シリアルポート(http://www.pemicro.com/opensda)」と表示されます。システムにはUSBハブがなく、PC+ケーブルはS32DSを使って他のS32K344 EVBをプログラムできます。この問題は、特にこの掲示板に関係しているようです。 5~7番。これらについて少し時間をください。すぐに返信いたします。 8. J12とインターフェースできるアダプターを待っているため、まだ直接JTAGを試していません。 詳細なご回答ありがとうございます。 -トビア Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 現在テストされているRTD Port_Example_S32K344のバージョンがどれなのか分かりません。 ただし、 J31 を 2〜3 のポジションに設定して、もう一度試してみることをおすすめします。 Re: S32K3X4EVB-T172 Unable to Program using OpenSDA サンプルプロジェクトのバージョンはどうやって判別すればいいですか? J31を2-3に切り替えました。同じ挙動。 ありがとう、 -トビア
View full article
S32K3X4EVB-T172 无法使用 OpenSDA 进行编程 我有一块全新的S32K3X4EVB-T172评估板。S32处理器似乎运行的是出厂默认代码,但是当我尝试使用板载调试器(通过USB连接到我的电脑)进行调试/重新编程时,S32处理器和板载调试器都会进入复位状态。 我已按照S32K3X4EVB-T172快速入门指南中的说明,正确执行了开机/插电步骤。我也已安装了指南中提到的软件和插件。 我用同事的S32K3X4EVB-Q172 试了同样的方法,结果一切正常。 提前感谢! 托比亚 Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 1. 请参阅讨论: S32K3X4EVB-T172 上的 PEmicro 连接助手问题。红色 LED 指示灯D15 (RST_OSDA) 和D3 (RESET_K3) 是常亮还是周期性闪烁?您的主板是否也遇到了与这位客户相同的问题?   2. FS26(U12) 是否热门? 3. 你是否按照步骤“ 3.2 连接电源”和“3.3”进行操作?连接调试器电缆“?” 4. 插入 J40 micro-USB 连接线,观察D14状态 OSDA LED 指示灯。 如果D14橙色 LED 不亮:检查 USB 电缆是否为数据电缆,验证 PC 是否枚举 OpenSDA 设备,并确保 USB 端口和驱动程序正常工作。不建议通过 USB 集线器将 USB 线缆连接到电脑。 5. 板载调试器由 PEMicro 提供,建议 从“支持与下载”类别下的“ 多链路调试探针”页面下载最新的“ USB 多链路资源安装程序” 。安装完成后,打开 位于 C:\PEMicro\Multilink_Resources 目录下的 PEFirmwareConfig.exe 文件 ,查看固件版本。我的板载调试器固件版本为 10.98 。您的板载调试器固件版本是多少?如果版本过旧,建议更新。如果更新失败,建议联系 PEMicro 技术支持。 check the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.pngcheck the version of firmware on S32K3X4EVB-T172.png检查 S32K3X4EVB-T172.png 上的固件版本 6. 请使用电压模式的万用表或示波器观察P3V3_SDA (J34 ) 的电压。 S32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.pngS32K3X4EVB-T172_PackRevB2_Schematic P3V3_SDA J34.png 7. SDA_RST_TGTMCU由板载调试器 K26 的输出控制。如果SDA_RST_TGTMCU输出低电平,则红色 LED D15和D3都会亮起。 请使用示波器观察SDA_RST_TGTMCU (J36)电平。它一直都很低,还是会周期性地降低? 通常情况下,当通过板载调试器下载程序或 RESET S32K3 时, SDA_RST_TGTMCU中应该观察到 10ms 的低电平,导致红色 LED D15和D3短暂亮起。 8. 是否可以通过 J12 连接外部调试器来调试板载 S32K3 芯片? 此致敬礼, Robin Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 请检查跳线设置是否与“ 3.1 设置 S32K3X4EVB-T172 评估板中的跳线”中描述的设置相符。 J14的输入电压是12V吗? 你调试的是哪个项目?您能否录制一段调试过程的视频并与我分享? Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 如何确定示例项目的版本? 我把J31换成了2-3。情况相同。 谢谢, 托比亚 Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 我不确定您目前正在测试的是哪个版本的 RTD Port_Example_S32K344 。 不过,我建议将J31设置为位置2-3 ,然后再试一次。 Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 跳线设置完全匹配。 J16 显示 12V(这似乎比直接测量插孔更容易)。 我正在使用快速入门指南中推荐的项目 Port_Example_S32K344。我觉得我可能无法录制视频。 托比亚 Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 你好,罗宾, 1. 当我尝试调试/编程时,两个 LED(D15 和 D3)都保持亮着。它们不会闪光。我认为我的主板遇到了与https://community.nxp.com/t5/S32K/PEmicro-Connection-Assistant-Issue-on-S32K3X4EVB-T172/mp/2252525 中客户相同的问题,但很遗憾,他似乎通过购买另一台EVB主机来绕过了这个问题。 2.否 3. 是的 4. 当我插入micro-USB数据线时,D14指示灯会亮起。设备管理器显示“OpenSDA - CDC 串行端口 ( http://www.pemicro.com/opensda )”。系统中没有USB集线器,我的电脑和连接线可以使用S32DS软件对其他S32K344 EVB进行编程。这个问题似乎只与这个电路板有关。 5-7. 请给我点时间把这些都过一遍。我会尽快回复。 8. 我还没有尝试直接使用 JTAG,因为我正在等待一个适配器,以便与 J12 连接。 感谢您的详细回复。 托比亚 Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 经过更多测试后: 5.我使用PEFirmwareConfig.exe成功更新了板载调试器固件。但是,当我尝试调试/编程时,情况仍然一样。 6. 当插入 USB 时,J34 电压为 3.25V。 7. J36 一直处于高电平,直到我尝试调试/编程。此时电压会降低,并保持低电压状态,直到 micro USB 连接断开为止。 还在等第8点的适配器。应该今天就能到。 谢谢! 托比亚 Re: S32K3X4EVB-T172 Unable to Program using OpenSDA 请将外部 12V 电源连接到 J14 并插入 USB 电缆后,拍摄 S32K3X4EVB-T172 板的照片;图像必须足够清晰,以显示跳线设置和哪些 LED 灯亮起。 请录制一段 S32DS 界面的视频,从您点击调试按钮开始,一直录制到出现错误屏幕为止。这样我就可以清楚地看到发生了什么,并有助于快速排除故障。如果您无法录制 S32DS 屏幕上操作的视频,能否截取一些屏幕截图来显示错误?
View full article
24V電源を備えたS32K3に適したシングルボードコンピュータ 24V環境でS32k3に電源を供給するのに最も適したSBCはどれですか? FS264xファミリについて調べていましたが、FS26は24 V以上の電圧に長時間曝露すべきではないと書かれている情報源を見つけました。代わりにFS8500を使ったシステムの設計がより適切でしょうか? FS85&FS84 Re: Suitable SBC for S32K3 with 24V supply こんにちは、DavidSilvaさん 良い一日! おっしゃる通り、FS26は統合されているすべての機能から最高の選択肢の一つですが、長期間使う予定ならFS85やFS86の方が24Vを問題なく扱えるのでより良い選択肢です。 この情報がお役に立てば幸いです。他に何かご不明な点がありましたら、お気軽にお問い合わせください。 良い一日をお過ごしください。幸運を祈ります。
View full article
适用于 24V 电源的 S32K3 的单板计算机 在 24V 环境下,哪款 SBC 最适合为 S32k3 供电? 我一直在研究 FS264x 系列,但我发现一些资料表明 FS26 不应长时间暴露在 24 V 以上的电压下。使用 FS8500 来设计该系统是否更合适? FS85&FS84 Re: Suitable SBC for S32K3 with 24V supply 你好,DavidSilva 再会! 你说得对,FS26 是目前最好的选择之一,因为它集成了所有功能,但如果你打算长时间使用,FS85 和 FS86 是更好的选择,因为它们可以毫无问题地处理 24V 电压。 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。
View full article
Suitable SBC for S32K3 with 24V supply Which SBC is the most suitable for supplying an S32k3 in a 24 V environment? I have been researching the FS264x family, but I found some sources stating that the FS26 should not be exposed to voltages above 24 V for extended periods. Would it be more appropriate to design the system using the FS8500 instead? FS85&FS84 Re: Suitable SBC for S32K3 with 24V supply Hello DavidSilva Good day! You're right, the FS26 is one of the best options available due to everything it has integrated, but if you plan to use it for extended periods, the FS85 and FS86 are better choices, as they can handle 24V without any issues. I hope this information has helped you, please let me know if you need help with anything else. Have a great day and best of luck.
View full article
p3h2840调试问题咨询 目前基于P3H2840的官方demo进行调试,发现在I2C/I3C 模式下 demo 上温度传感器读到的值有差异(如下图所示),是正常的吗? Re: p3h2840调试问题咨询 您好, 每次读取 I3C 模式寄存器时看到的第二个字节 0xff 都是不正确的,这表明集线器配置存在问题。作为参考,P3H2x4xHN-ARD 上的板载温度传感器是 NXP P3T1755DP 设备,完全支持 I3C,因此一旦集线器正确设置,两种模式下的读数应该相同。 请检查以下三项: 动态地址分配— P3T1755DP 在 I2C 模式下启动,必须先接收动态地址(通过 ENTDAA、SETAASA 或 SETDASA),然后 I3C 私有传输才能工作。如果在此步骤完成之前调用 i3c_xfer ,则设备无法正确响应 I3C 帧,并且第二个字节将读取为 0xff 。确认地址分配 CCC 已成功运行,并且 0x4c 是分配的动态地址。 突发长度使能 — REG#17[6] (BL_ENABLE) — 如果设置此位,则 I3C 写入阶段必须在寄存器指针之后包含一个突发长度字节。如果您的 i3c_xfer 调用仅发送 1 个写字节(寄存器地址),则集线器会收到不完整的帧,并且读取响应未对齐,导致第二个字节出现 0xff 。请读取寄存器#17,并确认第6位是否已设置。如果是,要么将 BL 字节添加到写入有效载荷中,要么在不需要时清除 BL_ENABLE。 目标端口 VCCIO — REG#22 — 在 I3C 模式下,目标端口使用参考 REG#22 中的 VCCIO 设置的推挽驱动电平。如果这与 P3T1755DP 的实际供电电压不匹配,则在推挽模式下传输的数据字节可能会损坏。请确认 REG#22 显示的电压是否为传感器所连接的目标端口的正确工作电压。
View full article