Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
[i.MX8M Plus] Cortex-M7 ECSPI Master + SDMA: fails in highspeed. Hi all, I am running FreeRTOS on the Cortex-M7 of an i.MX8M Plus and trying to use ECSPI1 in Master Mode with SDMA to read an ADC at high speeds (20 MHz to 40 MHz). The communication works perfectly at 10 MHz. However, when increasing the baud rate to 20 MHz or 40 MHz, the transfer hangs. I've already configured the rootclock to 160MHz. Is it actually feasible to run ECSPI + SDMA on the M7 core at 40 MHz on this SoC? Communication & Control(I3C | I2C | SPI | FlexCAN | Ethernet | FlexIO) Re: [i.MX8M Plus] Cortex-M7 ECSPI Master + SDMA: fails in highspeed. Hi all, I am running FreeRTOS on the Cortex-M7 of an i.MX8M Plus and using ECSPI1 in master mode with SDMA to read data from an external ADC at high speeds. Communication is completely stable at 10 MHz, but when I increase the SPI clock to 20 MHz or 40 MHz, the transfer consistently hangs. The root clock has already been configured to 160 MHz, so the clock source itself does not appear to be the limitation. This raises the question of whether ECSPI combined with SDMA on the M7 core can reliably sustain SPI operation at 40 MHz on this SoC, or if there are architectural, SDMA, or ECSPI hardware constraints that effectively limit the maximum usable SPI frequency in this configuration.   transunioncredit.com Re: [i.MX8M Plus] Cortex-M7 ECSPI Master + SDMA: fails in highspeed. Hi @RafaelFernandes  Which SDMA do you use for ECSPI? Please share your code patch. B.R Re: [i.MX8M Plus] Cortex-M7 ECSPI Master + SDMA: fails in highspeed. I'm sorry for the delay — I had forgotten this issue was still open. I tested a patch on my side and this is the code I am currently using: AT_NONCACHEABLE_SECTION_ALIGN(sdma_handle_t tx_handle, 4); AT_NONCACHEABLE_SECTION_ALIGN(sdma_handle_t rx_handle, 4); AT_NONCACHEABLE_SECTION_ALIGN(sdma_context_data_t context_tx, 4); AT_NONCACHEABLE_SECTION_ALIGN(sdma_context_data_t context_rx, 4); AT_NONCACHEABLE_SECTION_ALIGN(ecspi_sdma_handle_t ecspi_sdma_handle, 4); AT_NONCACHEABLE_SECTION_ALIGN(uint32_t rx[8], 4); volatile bool completed = false; void callback_ecspi_sdma(ECSPI_Type *base, ecspi_sdma_handle_t *handle, status_t status, void *userData) { completed = true; } #define SPI_SDMA SDMAARM1 #define TX_CHANNEL 2U #define RX_CHANNEL 1U int main(void) { sdma_config_t sdma_config; BOARD_InitHardware(); SDMA_GetDefaultConfig(&sdma_config); SDMA_Init(SPI_SDMA, &sdma_config); SDMA_CreateHandle(&tx_handle, SPI_SDMA, TX_CHANNEL, &context_tx); SDMA_SetChannelPriority(SPI_SDMA, TX_CHANNEL, 3); SDMA_CreateHandle(&rx_handle, SPI_SDMA, RX_CHANNEL, &context_rx); SDMA_SetChannelPriority(SPI_SDMA, RX_CHANNEL, 2); ECSPI_MasterTransferCreateHandleSDMA( ECSPI1, &ecspi_sdma_handle, callback_ecspi_sdma, NULL, &tx_handle, &rx_handle, 2, 1, TX_CHANNEL, RX_CHANNEL); ecspi_master_config_t config; ECSPI_MasterGetDefaultConfig(&config); config.baudRate_Bps = 1000000; config.burstLength = 8; PRINTF("INITIATING...\r\n"); ECSPI_MasterInit( ECSPI1, &config, CLOCK_GetClockRootFreq(kCLOCK_RootEcspi1)); ecspi_transfer_t xfer; xfer.channel = kECSPI_Channel0; xfer.dataSize = 1; xfer.rxData = &rx[0]; xfer.txData = NULL; if (ECSPI_MasterTransferSDMA(ECSPI1, &ecspi_sdma_handle, &xfer) != kStatus_Success) { PRINTF("Transfer failed\r\n"); } while (!completed) { } PRINTF("ENDED\r\n"); while (1) { } } However, I am still facing the same issue when using fsl_ecspi_sdma: the transfer does not even start. I monitored the ECSPI clock line with an oscilloscope and there is no activity at all, which suggests the peripheral is never beginning the transaction. I tried to follow the sai_sdma example as a reference when building this code, adapting the same initialization flow and SDMA handle usage for ECSPI. Could my issue be related to incorrect SDMA event mapping or poor channel selection for ECSPI1 TX/RX? Also, it would be awesome if there were an official ecspi_sdma example project in the SDK, since it would make validating the required configuration much easier. Any guidance would be greatly appreciated. Re: [i.MX8M Plus] Cortex-M7 ECSPI Master + SDMA: fails in highspeed. I think I should have tagged you @pengyong_zhang. I'm sorry. Re: [i.MX8M Plus] Cortex-M7 ECSPI Master + SDMA: fails in highspeed. Hi @RafaelFernandes  Sorry to reply late, i received your message, and will give you the answer ASAP. B.R Re: [i.MX8M Plus] Cortex-M7 ECSPI Master + SDMA: fails in highspeed. Hi @RafaelFernandes  From imx8mp datasheet, The maximum ECSPI1 Master Read and Write frequencies(In theory) are as follows: But in reality, it doesn't reach that high a speed. Have you tried other lower frequencies? For example, 15 MHz? B.R
View full article
yocto error When running "bitbake imx-image-full -c populate_sdk" in the yocto linux6.18 version, the following error occurred: | /home/shengh/linux2/linux/IMX95/gitolite/imx95_build/tmp/work/x86_64-linux/mesa-native/25.2.5/recipe-sysroot-native/usr/include/llvm/ADT/DenseMapInfo.h:17:10: fatal error: 'cassert' file not found | Unable to generate bindings: clang diagnosed error: /home/shengh/linux2/linux/IMX95/gitolite/imx95_build/tmp/work/x86_64-linux/mesa-native/25.2.5/recipe-sysroot-native/usr/include/llvm/ADT/DenseMapInfo.h:17:10: fatal error: 'cassert' file not found The complete error report is attached. The compilation error of mesa-native prevented me from exporting the SDK. Re: yocto error Hi     log name is log.do_compile.2527510.7z Re: yocto error Can you see the log file? 回复: yocto error This is a log file Re: yocto error Hi @shengh  I can't find your complete error log file. Please upload the file again. B.R Re: yocto error Hi @shengh  Please make sure you have install all of the necessary package: udo apt-get install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git python3- jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xzutils zstd efitools B.R
View full article
GL_INVALID_OPERATION error, when doing multisample framebuffer to multisample EGL Surface blitting Hi, I am doing multisample framebuffer to multisample EGL Surface blitting using Opengl ES in my I.MX8QM Eval board and I am getting error as "GL_INVALID_OPERATION". Below are the steps I did. FrameBufferObject created with multisampled renderbuffer attached as  glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4, GL_RGBA8, width,height); and drawing in to FBO. When using glBlitFramebuffer to render from FBO in to Default Framebuffer ,it gives GL_INVALID_OPERATION error when EGL window surface is created with attributes: EGL_SAMPLES = 4 EGL_RED_SIZE = 8 EGL_GREEN_SIZE = 8 EGL_BLUE_SIZE = 8 EGL_ALPHA_SIZE = 8 When EGL Surface  is created with EGL_SAMPLES = 0 glBlitFramebuffer draws in to default framebuffer correctly. Note: Source and Destination rectangles are  exactly same size in the glBlitFramebuffer.
View full article
PN7462 HostIF UART RX interrupt issue on custom board – false HSU_RX_FER interrupt at boot and no RX I am using PN7462 HostIF in UART (HSU) mode. The same firmware and pin configuration work correctly on the PN7462 evaluation board, but on a custom board TX works while RX callbacks are not triggered. I also observe HSU_RX_FER_STATUS interrupts immediately after boot, even when no host data is transmitted. Below is my current HostIF UART initialization configuration: Interface: E_HIF_HSU Baud rate: E_HSU_BAUDRATE_9_6K Stop bits: 1 Dummy bytes: 0 EOF: 0 Timeout: 0 Buffer type: E_BUFFER_FORMAT_FREE Short frame length: 0 Store error data: 0 Header size: 0 Initialization flow: phhalHif_Init(&gHifConfig, Hif_UartErrorCallback) phhalHif_InitRxBuffer(E_RX_BUFFER_ID0, ..., Hif_UartRxCallback) Could someone verify whether this configuration is sufficient for UART RX operation? Specifically: Is any additional interrupt configuration required apart from phhalHif_Init() and phhalHif_InitRxBuffer()? Do HostIF interrupts need to be explicitly enabled or cleared before initialization? Is additional NVIC/IRQ configuration required for RX callbacks? Is E_BUFFER_FORMAT_FREE appropriate for UART communication, or should another buffer format be used? Could missing interrupt configuration explain why RX callbacks are not triggered while TX works correctly? Is repeated HSU_RX_FER_STATUS at startup an indication of incorrect initialization or hardware configuration? Any guidance on recommended HostIF UART initialization or interrupt setup would be appreciated. Thanks. NFC Reader Library
View full article
LLCE CAN 私はサンプルプロジェクト「Can_Llce_DS_Loopback_S32G274A_M7」を作成しました。このプロジェクトは既にLLCE CAN0を使用して外部CANボックスと通信できます。その後、プロジェクトの設定を変更し、必要な5つのLLCE CANチャネルのみを残すようにしました。設定の詳細は以下のとおりです。 設定プロセス中に、エラーの原因となっていた部分のみを削除しました。設定後、設定画面にクロックに関する警告が表示されましたが、この警告は通信可能なバージョンにも存在していたため、問題ありません。修正したプロジェクトをアップロードしましたので、通信障害の原因を特定するのを手伝っていただけないでしょうか? Re: LLCE CAN こんにちは、 @JACK_Q さん、 返信が遅くなり申し訳ありません。私は英語で書きますが、あなたは中国語で返信してください。コミュニティが自動的にメッセージを翻訳してくれます。新バージョンが通信できないとのことですが、基板からCAN信号は出力されていますか?プログラムは正常に実行されますか、それとも実行途中のどこかで停止してしまいますか? 情報をありがとうございます。 Re: LLCE CAN 設定を変更した後、デバッグを試みました。コードをステップ実行して送信インターフェース `can_retval = Can_43_LLCE_Write( CanHO_Config1_TX0, &CanMessage[u8CtrlIdx]);` まで進むと、インターフェースの戻り値は `E_OK`、つまり 0 でした。 インターフェースのドキュメントによると、書き込みコマンドは完了しており、プログラムは引き続きポーリングとCAN送信を実行しています。しかし、受信側のCANボックスにはデータが表示されず、CANボックスのソフトウェアに組み込まれているボーレート検出器でも検出できません(元のサンプルプログラムでこのボーレート検出器を試したところ、検出できました)。                      
View full article
how to handle float value in imx6sx Hello experts, I am porting an existing program to a custom board using the imx6sx. Previously, it used a P1011 CPU. The environment is Yocto BSP 5.15.52-2.1.0. The problem is that a signal error occurs when storing a float value received via communication into a structure. I asked gemini and found that this can happen if the alignment is incorrect, but since I am using an external library, ( which i receive a binary library) I would like to know how to resolve this without modifying the source code. i asked AI and got some tips but not sucessed Thank you sincerely i.MX6SoloX i.MX7Dual
View full article
PCF85063TP/1Z RTC 中的时间漂移 我们在温度记录仪产品中使用 PCF85063TP/1Z RTC,用于在温度数据记录期间保持时间戳。在测试期间,我们观察到多个电路板上的时间偏移问题,其中每个电路板随时间推移显示出不同的偏移量。 在当前的硬件设计中,我们使用的是 12.5 pF 负载电容晶体。在此基础上,我们更新了 RTC 寄存器的设置,将 CAP_SEL 位配置为 "1",以满足晶体负载电容要求。 更改配置后,我们在实时运行中仍能观察到大约 2 秒钟的漂移。 我们想了解 PCF85063TP/1Z 是否会出现这种程度的漂移。 是否有建议的寄存器配置或校准方法来提高 RTC 的精度。 PCB 布局、晶体选择或其他硬件考虑因素是否会导致观察到的板之间的差异。 请就如何在此应用中提高 RTC 计时精度提出建议和指导。 Re: Time Drift in PCF85063TP/1Z RTC 你好 请参阅应用笔记 AN11247 使用外部温度传感器使用 PCF85063、PCF8523 和 PCF2123 提高计时精度 希望对您有所帮助!
View full article
Is Jellytide Legit Trying? A 2026 Review Jellytide 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 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. Jellytide Ready to go 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. Jellytide 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. See More https://tinyurl.com/2epyz5wu
View full article
Ethernet Pin Conflict on S32K344 Mini-EVB Hello Team, i am using S32K344 Mini-EVB for ethernet bring up activity. From its user manual i can see that pin no PTD16 for MDC and PTD17 for MDIO. But when i am doing ethernet pin configuration in S32DS i can see PTD16 can be only routed to MDIO and PTD17 is routed to MDC and also i verified it from S32K344_IOMUX from that excel also i can see that PTD16 --> MDIO and PTD17 --> MDC. So is there any mistake in user manual documentation if yes will it affect the ethernet communication. Re: Ethernet Pin Conflict on S32K344 Mini-EVB Hello @MySterio_1 , Yes, you are right. Pins MDC and MDIO were swapped. I've already reported that - it will be fixed in the next release of UM12406 - the release date is not known yet. Feel free to refer to my lwIP example related to this board: Example S32K344 EMAC lwIP FreeRTOS miniEVB S32DS 3.6.1 RTD 6.0.0    Best regards, Pavel
View full article
LLCE CAN 我创建了样例工程Can_Llce_DS_Loopback_S32G274A_M7,已经能够和外部CAN盒进行通信,通信使用的是LLCE CAN0。后续我对该工程的配置进行了修改只保留了我想要的五路LLCE CAN,配置详情如下: 在配置的过程中我只删除了对应出错的地方,配置完成后在在配置界面只有一个时钟的警告,但是这个警告本身在能通信的那个版本就是有的所以不是问题。我已上传了我修改后的工程,麻烦帮我看下是什么问题导致的不能通信。 Re: LLCE CAN 你好,@JACK_Q、 对不起,我的回复晚了。我会用英语写信,但你可以用中文回复,社区会自动为我已翻译消息。当你提到新版本无法通信时,你看到电路板上有任何 CAN 信号吗?程序是正常运行还是在执行过程中的某个阶段卡住了? 感谢你提供的信息。 Re: LLCE CAN 我改完配置后,尝试过debug,单步运行至发送接口can_retval = Can_43_LLCE_Write( CanHO_Config1_TX0, &CanMessage[u8CtrlIdx]);接口的返回值是E_OK也就是0 按照接口说明来看就是写命令已完成,并且程序还是在一直轮询执行CAN发送,但我的接收端CAN盒显示无数据,使用CAN盒软件自带的波特率侦测也检测不到(这个波特率侦测我同样在原来的例程中试过是可以检测的)。                      
View full article
S32K328 MCUの電力推定ツールについて 私のアプリケーションでは、機能用MCUとしてS32K328を、安全用MCUとしてS32K341を使用しています。これらのICに対応した電力推定ツールがあるかどうか知りたいです。 もしそうであれば、私の用途に合ったものをどこで入手できるか教えてください。 ありがとう。 Re: Regarding power estimation tool for S32K328 MCU こんにちは、 @Abhinavv_007 さん。 現時点では、 S32K電力推定ツール(PET)を参照してください。 対応機器の数は限られているが、役に立つ可能性はある。S32K3X8デバイスに関する予備情報について、コミュニティのプライベートメッセージでもお送りしました。 最後に、S32K3XXのデータシートの第6.7章(供給電流)をご参照ください。そこには、スタンバイ時、低速動作時、および動作時の供給電流が記載されています。これは参考情報として役立つかもしれません。 よろしくお願いします、 ジュリアン
View full article
#S32K144 Cache write Test ##S32K144 support modifying cache values? Why is it that after I modify a value, reading the same address still returns the original value? Additionally, can the cache's parity bit be tested?thanks Re: #S32K144 Cache write Test Hi @joshua9264, It is technically possible to change the cache value through the LMEN registers. Let me create a simple test project. BR, Daniel Re: #S32K144 Cache write Test Hi @joshua9264, Have a look at this example: https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K142-LMEM-Cache-v1-0-S32DS3-6-RTD300/ta-p/2368498 Regards, Daniel
View full article
LS1012Aの自動起動が開始されない こんにちは、私はls1012aボードを問題なく使用していました。 起動時に、先ほどの画像のような状態になりません。 何が問題なのか知りたい。
View full article
Problem in changing fps from 30 to 60 fps for mx95mbcam with imx95 I am using imx95 with mx95mbcam camera module with gmsl maixm serdes. The default working driver is running with 1920*1280@30 fps, I wanted to run it with  1920*1280@60 fps. I made the changes in the 0x03c10 sensor register, but the maximum I was able to achieve was 47fps. After that, I was not able to get a video feed. Is there any limitation with Maxim SerDes or any other problem? Re: Problem in changing fps from 30 to 60 fps for mx95mbcam with imx95 This may be a bandwidth issue. How many cameras you connect to the Maxim DES? By default, it should run at 1.5Gbps * 4lanes. Re: Problem in changing fps from 30 to 60 fps for mx95mbcam with imx95 connected 4 cameras, but running only 1 cam. 1920*1280 resolution. raw 16-bit PWL output from sensor.
View full article
i.MXRT1062 - Bus Hang when using LPI2C with eDMA On a Teensy (MXRT1062) I've bypassed the Zephyr I2C drivers and am using the NXP SDK provided by Zephyr SDK version 0.17.4 (mcux-sdk-ng) directly. I.e. the functions implemented in: modules/hal/nxp/mcux/mcux-sdk-ng/drivers/..: .. /edma/fsl_edma.c .. /dmamux/fsl_dmamux.c .. /lpi2c/fsl_lpi2c.c .. /lpi2c/fsl_lpi2c_edma.c ... etc. The Teensy LPI2C master talks to several (types of) slave devices. In 'blocking'/'synchronous' mode I can run this setup for days without a problem - LPI2C transactions occuring in the 100's of Hz. When I setup the same LPI2C transactions (and same hardware) to use the eDMA engine ... things run normally for about 10 minutes to an hour before hanging. Even when I slow the DMA frame rate down to a fraction of the 'synchronous' mode rate, the bus hangs in relatively short order. This happens using multiple (types) of slave devices, even when the bus is reduced to just one slave device. The hang is initiated by a kStatus_LPI2C_PinLowTimeout event received by the EdmaCompletionCallback (registered with LPI2C_MasterCreateEDMAHandle(...)). Once that happens, I can't seem to do anything short of power-cycling the system to get back to normal. A 'soft reset' routine that consists of : * clearing MIER, MDER * calling LPI2C_MasterTransferAbortEDMA(), EDMA_AbortTransfer(), LPI2C_MasterReset(), LPI2C_MasterClearStatusFlags() * flushing FIFOs in MCR * and re-initializing with LPI2C_MasterInit() is called whenever the DMA completion callback is not called by its deadline. The 'soft reset' routine has absolutely no effect. No more completion events occur after the first kStatus_LPI2C_PinLowTimeout event. In the LPI2C.MSR, the BBF bit (bus busy flag) is permanently set. The Teensy reset button does not reset this state - a power cycle is required in order to talk to the slave(s) again. Hoping someone can provide some insights: * Is there a bug in the mcux-sdk-ng SDK that someone might have patch for? * Why do the same rock-solid synchronous transactions fail under eDMA control? * Is there some eDMA setup I can do that prevents the kStatus_LPI2C_PinLowTimeout from happening (increasing pinLowTimeout_ns doesn't help)? Clock stretching has been disabled for all slaves. * Is there a quick recovery approach I can apply - short of wiggling the SDA line 9 times or whatever? Thanks for any support! --George i.MXRT 106x Re: i.MXRT1062 - Bus Hang when using LPI2C with eDMA Hi @zeebrog , Thank you so much for your interest in our products and for using our community. Q1:* Is there a bug in the mcux-sdk-ng SDK that someone might have patch for? A1: No. Based on available documentation, there is no reported erratum for LPI2C + eDMA on RT1060. Q2* Why do the same rock-solid synchronous transactions fail under eDMA control? A2: Blocking mode is more robust because the CPU services the FIFO directly. In eDMA mode, FIFO handling depends on DMA timing, which can increase the chance of TX underrun or RX overrun, causing the bus to stall. Q3:* Is there some eDMA setup I can do that prevents the kStatus_LPI2C_PinLowTimeout from happening (increasing pinLowTimeout_ns doesn't help)? Clock stretching has been disabled for all slaves. A3:Not directly, The PINLOW timeout only affects when the timeout flag is triggered, not the root cause of the bus being stuck. Q4* Is there a quick recovery approach I can apply - short of wiggling the SDA line 9 times or whatever? A4:A recommended method is to first abort or disable the LPI2C master and reset its internal state( for example by clearing MCR[MEN] or asserting MCR[RST] ). If the bus remains physically stuck low after that,  in practice, manually pulsing SCL while leaving SDA released may be used as a generic I2C bus-recovery workaround to let a slave complete an unfinished transfer and release the bus. Best Regards May
View full article
集成 CAN 上的 UDS 引导加载器和 J1939 堆栈   说明: 嗨,团队、 我在 S32K344 上使用 S32DS 3.6.5 和 RTD 3.0.0。 目前正在实施: FlexCAN CAN 通信 通过 ISO-TP 的 UDS 引导加载程序 J1939 应用通信 GCC 编译器 AUTOSAR RTD 驱动器 我需要有关以下方面共存的指导: UDS 诊断(ISO14229) ISO-TP 传输层 J1939 通信栈 如何在 S32k344 中通过软件选择 CAN 终端电阻配置? 解释如何在收发器和 MCU 中设计 CAN 终端 问题 在同一个 CAN 控制器上同时运行 UDS 和 J1939 的推荐架构是什么? 是否建议为 UDS 和 J1939 使用不同的 CAN 报文缓冲器? 如何配置 CAN ID 过滤? 恩智浦是否有以下参考示例: UDS 引导加载程序 J1939 堆栈 共享使用 FlexCAN RTD 3.0 在这种使用情况下有什么已知限制吗? 控制器: S32K344 RTD 3.0 S32DS 3.5 谢谢。
View full article
LX2160ARDBボードへのPMDドライバのインストールと使用 Yoctoレシピを使用してインストールする方法を教えてください。bitbake dpdkコマンドを使用してdpdkをインストールしましたが、デフォルトではcrypto_dpaa2_sec PMDのみが使用されます。ユーザーガイドには、Yoctoを使った明確な手順が記載されています。 以下のコマンドで検証しているとき: dpdk-test-crypto-perf -c 0x3 --log-level=3 -- --devtype crypto_dpaa2_sec というコマンドでは意味のある結果が表示されますが、devtype crypto_armv8/crypto_openssl/crypto_null など他のコマンドでは「USER1: 要求された暗号化デバイスタイプの初期化に失敗しました」と表示されます。添付ファイルを参照してください。 Re: Installing and using PMD drivers in LX2160ARDB boards DPDKのレシピに以下の行を追加してください   EXTRA_OEMESON:append = " \ -Denable_drivers=crypto/dpaa2_sec,crypto/armv8,crypto/openssl,crypto/null \ 」   bitbake -e dpdk | grep enable_drivers bitbake -c clean dpdk bitbake dpdk   dpdk-test-crypto-perf --list
View full article
i.MXRT1062 - LPI2CとeDMAを使用した場合のバスハング Teensy (MXRT1062) では、Zephyr I2C ドライバをバイパスし、Zephyr SDK バージョン 0.17.4 (mcux-sdk-ng) が提供する NXP SDK を直接使用しています。つまり、以下の機能に実装されています。 modules/hal/nxp/mcux/mcux-sdk-ng/drivers/..: .. /edma/fsl_edma.c .. /dmamux/fsl_dmamux.c .. /lpi2c/fsl_lpi2c.c .. /lpi2c/fsl_lpi2c_edma.c …など Teensy LPI2Cマスターは、複数の(種類の)スレーブデバイスと通信します。 「ブロッキング」/「同期」モードでは、この設定を何日も問題なく実行できます。LPI2Cトランザクションは数百Hzの頻度で発生します。 同じ LPI2C トランザクション (および同じハードウェア) を使用して eDMA エンジンを設定すると、約 10 分から 1 時間ほどは正常に動作しますが、その後ハングアップします。 DMAのフレームレートを「同期」モードのレートのほんの一部まで下げても、バスは比較的短時間でハングアップしてしまう。 これは、バスが1つのスレーブデバイスのみに縮小された場合でも、複数の(種類の)スレーブデバイスを使用している場合に発生します。 ハングは、EdmaCompletionCallback (LPI2C_MasterCreateEDMAHandle(...) に登録) が受信した kStatus_LPI2C_PinLowTimeout イベントによって開始されます。 そうなると、システムを再起動する以外に正常に戻す方法はないようです。 ソフトリセットルーチンとは、以下の手順から構成されるものです。 * MIER、MDERのクリア * LPI2C_MasterTransferAbortEDMA()、EDMA_AbortTransfer()、LPI2C_MasterReset()、LPI2C_MasterClearStatusFlags() を呼び出す * MCRでFIFOをフラッシュする * LPI2C_MasterInit() を使用して再初期化します DMA完了コールバックが期限までに呼び出されなかった場合に呼び出されます。「ソフトリセット」の手順は全く効果がありません。 最初の kStatus_LPI2C_PinLowTimeout イベント以降は、完了イベントは発生しません。LPI2C.MSRでは、BBFビット(バスビジーフラグ)が常にセットされています。 Teensyのリセットボタンではこの状態はリセットされません。スレーブデバイスと再び通信するには、電源を入れ直す必要があります。 どなたかご意見をいただけると幸いです。 * mcux-sdk-ng SDKにバグがあり、誰かが修正パッチを提供している可能性はありますか? * 同じ非常に安定した同期トランザクションが、eDMA制御下ではなぜ失敗するのか? * kStatus_LPI2C_PinLowTimeoutが発生しないようにするためのeDMAの設定方法はありますか?(pinLowTimeout_nsを増やしても効果がありません)。クロックストレッチングは、すべてのスレーブで無効化されました。 * SDAラインを9回揺らすなどの方法以外で、すぐに回復できる方法はありますか? サポートありがとうございます! --ジョージ i.MXRT 106x Re: i.MXRT1062 - Bus Hang when using LPI2C with eDMA こんにちは、 @zeebrog さん。 弊社製品にご関心をお寄せいただき、また弊社のコミュニティをご利用いただき、誠にありがとうございます。 Q1: mcux-sdk-ng SDKにバグがあり、誰かがパッチを作成した可能性はありますか? A1:いいえ。入手可能なドキュメントに基づくと、RT1060上のLPI2C + eDMAに関するエラーは報告されていません。 Q2* 同じ非常に安定した同期トランザクションが、eDMA制御下で失敗する理由は何ですか? A2:ブロッキングモードは、CPUがFIFOを直接処理するため、より堅牢です。eDMAモードでは、FIFOの処理はDMAのタイミングに依存するため、TXアンダーランやRXオーバーランが発生する可能性が高くなり、バスが停止する原因となることがあります。 Q3:* kStatus_LPI2C_PinLowTimeoutが発生しないようにするためのeDMAの設定方法はありますか?(pinLowTimeout_nsを増やしても効果はありません)クロックストレッチングは、すべてのスレーブで無効化されました。 A3:直接的には影響しません。PINLOWタイムアウトはタイムアウトフラグがトリガーされたときにのみ影響し、バスが停止する根本原因ではありません。 Q4* SDAラインを9回揺らすなどの方法以外で、すぐに回復できる方法はありますか? A4:推奨される方法は、まずLPI2Cマスタを中止または無効にして、内部状態をリセットすることです(たとえば、MCR[MEN]をクリアするか、MCR[RST]をアサートすることによって)。 その後もバスが物理的にローレベルのままの場合、実際には、SDAを解放したままSCLを手動でパルスすることで、スレーブが未完了の転送を完了し、バスを解放するための一般的なI2Cバス復旧の回避策として使用できます。 よろしくお願いいたします。 5月
View full article
UDSブートローダーとCAN上のJ1939スタックの統合   説明: チームの皆さん、こんにちは。 私はS32DS 3.6.5とRTD 3.0.0を使用してS32K344で作業しています。 現在の実装: FlexCAN CAN通信 ISO-TP経由のUDSブートローダー J1939アプリケーション通信 GCCコンパイラ AUTOSAR RTDドライバ 以下のものの共存に関して指導が必要です。 UDS診断(ISO14229) ISO-TPトランスポート層 J1939通信スタック S32k344ではCAN終端抵抗の設定をソフトウェアで選択する必要がありますが、その方法を教えてください。 トランシーバとMCUにおけるCAN終端の設計方法について説明します。 質問: 同じCANコントローラ上でUDSとJ1939を同時に実行するための推奨アーキテクチャは何ですか? UDSとJ1939用に別々のCANメッセージバッファを使用することは推奨されますか? CAN IDフィルタリングはどのように設定すべきですか? NXPの参考例はありますか? UDSブートローダー J1939スタック FlexCANの共有利用 このユースケースに関して、RTD 3.0に既知の制限事項はありますか? コントローラ: S32K344 RTD 3.0 S32DS 3.5 ありがとう。
View full article
在 LX2160ARDB 板中安装和使用 PMD 驱动程序 请建议使用 yocto receipe 安装的方法,我已经使用 bitbake dpdk 命令安装了 dpdk,但默认情况下它只使用 crypto_dpaa2_sec PMD。用户指南提供了使用 yocto 的明确步骤。 当我使用以下命令进行验证时: dpdk-test-crypto-perf-c 0x3--log-level=3-----devtype crypto_dpaa2_sec,则显示的是有意义的结果,而使用其他命令,例如 devtype crypto_armv8/crypto_openssl/crypto_null,则显示 " USER1:无法初始化请求的加密设备类型 ",请参阅附件。 Re: Installing and using PMD drivers in LX2160ARDB boards 请在 DPDK 的配方中添加以下几行   EXTRA_OEMESON:append =" \ -Denable_drivers=crypto/dpaa2_sec,crypto/armv8,crypto/openssl,crypto/null\ ”   bitbake -e dpdk | grep enable_drivers bitbake -c clean dpdk bitbake dpdk   dpdk-test-crypto-perf --list
View full article