Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
2S TDM Master: Persistent 1-slot downward shift during continuous DMA streaming 1. Test Configuration I2S configured as TDM Master, DSP mode with short WS 8 slots per frame, 32-bit per slot, frame length = 256 bit Using fsl_i2s_dma driver Dual-buffer ping-pong transfer FreeRTOS task waits on a semaphore from the DMA callback, fills the buffer, then calls I2S_TxTransferSendDMA to re-submit Test data pattern: fixed 0x000Axxxx (upper 16 bits = 0x000A, lower 16 bits contain slot index and sample sequence number) 2. Persistent One-Slot Downward Shift (100% Reproducible) Logic analyzer captures show: Transmitted data is consistently shifted down by exactly one slot Data intended for Slot 0 appears in the physical Slot 1 position Data intended for Slot 1 appears in the physical Slot 2 position By extension, data intended for Slot 7 appears in Slot 0 of the next frame (or is lost) This shift is stable after the stream starts; it does not drift further over time and remains a fixed 1-slot offset 3. Startup Data Misalignment (Intermittent) The logic analyzer occasionally observes: After the WS frame sync pulse, the DATA line remains at low level (all zeros) for a period After a blank interval of 1~3 frames, valid test data suddenly appears Once the blank interval ends, the data still exhibits the 1-slot offset described in item 2 Audio(PDM | I2S | SAI) Re: 2S TDM Master: Persistent 1-slot downward shift during continuous DMA streaming Hello @Xanderwangx , Thank you for your post. Could you please let us know which NXP MCU you are using? Also, are you working with one of our evaluation boards or a custom board? Are you using the SDK example code, or is this based on your own implementation? If it is your own code, would you be able to share it with us for further analysis? BR Celeste Re: 2S TDM Master: Persistent 1-slot downward shift during continuous DMA streaming Hello @Xanderwangx , Thank you for your reply. However, the RT family is not within my support scope. I mainly support MCX and Kinetis family. Also, this is MCX channel, not for RT product. Could you please create a new post under i.MX RT Crossover MCUs - NXP Community? The RT support team will be able to assist you there. BR Celeste Re: 2S TDM Master: Persistent 1-slot downward shift during continuous DMA streaming MCU: MIMXRT685-EVK (i.MX RT685) Board: Custom product board based on RT685. I am using Loop DMA mode with ping-pong buffers. The DMA is configured with I2S_TransferSendLoopDMA() using 2 descriptors. In the DMA callback, I fill the next buffer and the loop continues automatically. void I2S1_TDM_Init(void) { I2S_Type *base = I2S1; /* I2S Configuration */ i2s_config_t cfg; I2S_TxGetDefaultConfig(&cfg); cfg.masterSlave = kI2S_MasterSlaveNormalMaster; cfg.mode = kI2S_ModeDspWsShort; /* TDM = DSP mode */ cfg.divider = 24576000 / (TDM_SAMPLE_RATE * TDM_SLOT_NUM * TDM_SLOT_WIDTH); cfg.dataLength = TDM_SLOT_WIDTH; /* 32-bit */ cfg.frameLength = TDM_FRAME_LENGTH; /* 256-bit */ cfg.oneChannel = false; cfg.position = 0; cfg.wsPol = true; /* DSP A or B */ I2S_TxInit(base, &cfg); /* Enable 8 slots (Primary + 3 Secondary Channels) */ /* Note: Using 4 channels to cover 8 slots with 32-bit data */ I2S_EnableSecondaryChannel(base, kI2S_SecondaryChannel1, false, 32 * 2); I2S_EnableSecondaryChannel(base, kI2S_SecondaryChannel2, false, 32 * 4); I2S_EnableSecondaryChannel(base, kI2S_SecondaryChannel3, false, 32 * 6); /* DMA Loop Transfer Setup */ DMA_Init(DMA0); DMA_EnableChannel(DMA0, I2S_TX_DMA_CH); DMA_SetChannelPriority(DMA0, I2S_TX_DMA_CH, kDMA_ChannelPriority3); DMA_CreateHandle(&dma_handle, DMA0, I2S_TX_DMA_CH); I2S_TxTransferCreateHandleDMA(base, &i2s_handle, &dma_handle, I2S1_Callback, tdm_xfer); I2S_TransferInstallLoopDMADescriptorMemory(&i2s_handle, tdm_desc, 2); if (I2S_TransferSendLoopDMA(base, &i2s_handle, &tdm_xfer[0], 2) != kStatus_Success) { while (1); /* Fails if TDM_FRAMES * 8 > DMA_MAX_TRANSFER_COUNT(1024) */ } } The slot offset is random across power cycles, not fixed.I also tried disable interrupts before and after the DMA transfer to force synchronization, but slot misalignment still occurs. Does I2S_TransferSendLoopDMA() guarantee frame-aligned DMA startup on RT685? If not, how to force alignment to WS boundary? i.MX-RT600 
View full article
S32K3 在不阻塞的情况下测量 PWM 占空比 (emiOS ICU IPWM) 你好, 仅供参考- 我正在使用 emiOS 的 ICU 通道来测量 IPWM 模式下不同的 PWM 占空比。我目前能够成功地以 " 阻塞 " 方式测量占空比。 我的输入从 100% 占空比(实际上没有 PWM)过渡到我需要测量的给定占空比的 PWM 信号。 我的 .mex配置如下 我的示例代码如下 虽然这种方法可行,但我更倾向于启动一次信号测量,并定期调用Emios_Icu_Ip_GetDutyCycleValues(),而无需调用 Emios_Icu_Ip_StopSignalMeasurement(),以避免在测量完成之前被阻塞。另外,如果在测量完成时有一个中断被触发,对我来说也是可行的。 我最初只尝试调用 emios_ICU_IP_startSignalMeasuremeasum (),然后定期调用 emios_ICU_IP_getdutyCycleValues ()(每 1 秒,而 PWM 频率为 1kHz),但是数据不准确。 据我了解,SAIC 更适合不同的 PWM 信号(我认为这适合我的用例),但我想我也可以使用 IPWM,因为测量读数会延迟。我不介意返回的结果是否会稍微延迟或过时几毫秒,因为我预计占空比不会发生快速变化,而且频率将保持不变。 如果有人能澄清如何使用IPWM实现这一目标,或者我只能通过SAIC实现这一点,那就太好了。 谢谢 Re: S32K3 measuring PWM duty cycle (eMIOS ICU IPWM) without blocking 你好 您遇到的问题是 S32K3 上 eMIOS ICU IPWM 模式的一个已知限制: IPWM 本身是 "基于测量窗口 "的,而不是连续的,因此在不重启/关闭测量的情况下定期读取会导致过期或部分更新的值。 IPWM 不是为不同步的定期轮询而设计的 您必须: 使用中断通知,或 读数前重新开始测量,或 转用 SAIC 实现真正的无阻塞连续测量 顺祝商祺! Peter
View full article
SE050E2HQ1/Z01Z3Z 的电容和铁氧体磁珠要求 您好,NXP团队, 我们在定制设计板中使用安全元件 P/N:SE050E2HQ1/Z01Z3Z。 在审查参考设计板 OM-SE050ARD 时,我们几乎没有什么顾虑,如下所示 1.是否严格要求在 VIN (12)、VOUT (15)、VCC (18)引脚上使用阻抗为 330 欧姆、频率为 100 MHz 的 P/N: BLM21PG331SN1D铁氧体磁珠? 2.我们是否还需要在 VSS (19) 引脚上添加铁氧体磁珠? 3.是否需要使用 0.033uF 电容或者我们可以使用 100nF 电容? 谢谢! Re: Capacitor and Ferrite Bead requirement for SE050E2HQ1/Z01Z3Z 你好@kadamm 希望你一切顺利。 铁氧体磁珠主要与双接口操作(由非接触式接口提供)有关,以实现正确的电磁兼容性。 关于电容,您是否正在考虑只使用一个(共享)100nF 电容?如果是这样,我相信应该不会有什么大的不便。 Eduardo。 Re: Capacitor and Ferrite Bead requirement for SE050E2HQ1/Z01Z3Z 你好,爱德华多、 我们的设计没有采用 ISO 14443 或 ISO 7816 接口。因此,我们计划直接连接 VIN、VCC、VOUT 和 GND 引脚,而不使用铁氧体磁珠。此外,我们在引脚上放置一个 0.1 µF 电容以进行解耦。请问这种方法是否合适?   谢谢!
View full article
S32K312MINI-EVB Segger JTAG-SWD接続エラー こんにちは、S32K312MINi EVBを持っています。SWD/JTAG経由でこれをプログラムしようとしています(opesdaが搭載されていることは知っていますが、私のカスタムPCB設計には搭載されません)。 接続しようとすると、次のエラーが表示されます。 不明なSDA AP IDが検出されました: 0xFFFFFFFF 不明なSDA AP IDが検出されました: 0xFFFFFFFF InitTarget() 終了 - 1.09秒かかりました ****** エラー: J-Link スクリプトファイル関数 InitTarget() がエラーコード -1 を返しました   R0と消去を試しましたが、うまくいきませんでした Re: S32K312MINI-EVB Segger Jtag-SWD connection error こんにちは、 ご返信ありがとうございます。 Seggerソフトウェアの最新バージョンを使用していますが、vrefが3.3Vになっているのを確認しています。 ピンもテストしましたが、配線は正しいです。リセットボタンは、複数のテスト段階において押し続けられました。 JTAGも、チップとの接続に失敗したというエラーコードを出力しています。 速度を落とそうともしましたが、効果がないようです。 PC上でS32用のjlinkscriptを探してみましたが、見つかりませんでした。どこにあるのでしょうか? Re: S32K312MINI-EVB Segger Jtag-SWD connection error こんにちは、 エラー: J-Link スクリプトファイル関数 InitTarget() がエラーコード -1 を返しました。 J-LinkはターゲットMCUの初期化手順を正常に実行できず、初期化スクリプト(InitTarget())が失敗しました。 初期化に失敗したため、デバッガーはデバイスと通信できません。 このメッセージは、J-Linkが接続のごく初期段階でDAP(デバッグアクセスポート)にアクセスできない場合に表示されます。 「不明なSDA AP IDが検出されました: 0xFFFFFFFF」 InitTarget() 関数は、SEGGER が使用する J-Link スクリプト ファイル (.JLinkScript) の一部です。 時計を設定する デバッグインターフェースを起動する MEM-AP / AHB-AP の設定 デバイス固有の設定を実行する デバッグに必要なアクセスが失敗した場合、SEGGER はスクリプトを中止し、エラー -1 を返します。 解決策の概要 J-Linkソフトウェアをアップデートする SEGGER社はS32K31xのアルゴリズムにバグがあることを確認した。 J-LinkへのVTref(3.3V)を確認してください。 VTrefが欠落しているため、AP ID = 0xFFFFFFFF → InitTargetが失敗します。 SWD配線を確認する SWD_DIO、SWD_CLK、RESET、およびGNDが正しく接続されていることを確認してください。 リセットして接続し、SWD速度を下げてください。 ファームウェアがピンを早期に再構成してくれると助かります。 SWDモードの代わりにJTAGモードを試してください 同様のNXPデバッグエラーで提案された解決策です。 よろしくお願いします、 ピーター
View full article
带有 C++ S32DS 项目的 SDK <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 如何使用 S32 SDK 创建 C++ S32DS 项目? (我正在尝试使用 S32K144 EVB)。 谢谢! 尼科拉 S32K1系列的S32SDK Re: SDK with C++ S32DS project 对不起,对于新项目,我仍在使用曾经创建过的项目副本,所以我不记得具体步骤了,但我检查了原始 C (SDK) 链接器文件和 C++(非 SDK)链接器文件的差异,并将 C++ 链接器文件中的部分添加到 C 项目(现已转换为 C++ 项目)的旧文件中。我已经有了一些经验,所以这对我来说并不难。 或许也可以使用 C++ L.F.,只需从 SDK 项目中添加正确的内存部分即可。 也许彼得提供的链接会对你有所帮助。我认为您只需调整 S32K358 链接器文件中的内存大小/位置即可。 Re: SDK with C++ S32DS project 请参阅本帖: https://community.nxp.com/t5/S32K/S32K358-C-project-based-on-S32DS3-5/m-p/2058809#M46635 Re: SDK with C++ S32DS project 看来到了 2026 年,这个问题依然存在,我们依然需要这种解决方法。 下一步 - 创建不含 SDK 的 C++ 项目,并将其链接器文件复制到含 SDK 的项目中。 您能具体介绍一下您是如何一步步完成的吗?例如,您是否删除了带有 SDK 的项目(基于 C 的恩智浦 S32DS 项目)中的旧链接器文件,然后用 C++ 项目中的链接器文件替换了它们? Re: SDK with C++ S32DS project 请参阅本帖: 关于基于 S32DS3.5 的 S32K358 C++ 项目 - NXP Community Re: SDK with C++ S32DS project 大家好 你们能详细介绍一下诺瓦利斯给出的提示吗?我尝试用 SDK 创建 C 项目并将其转换为 C++,但没有成功。 谢谢! Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, ,我可能找到了方法,这样就不必在构造函数中使用 new() 了 只需在 main.c 中添加 __libc_init_array(); 调用即可。 void __libc_init_array(void); void main(void) { __libc_init_array(); main_app(); // 如上所述 } 现在 cObject 对象(构造参数); 似乎运行正常。 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,特拉维斯、 请参阅 Martin 的说明来构建与您的 C 代码兼容的 C++ 应用程序项目。它对我很有效,但有两个小缺点: (1) 您必须将生成的代码保存在另一个 C 应用程序项目中,然后复制粘贴到您的 C++ 项目中。 (2) 为 C++ 项目设置包含路径在开始时可能会很麻烦。也许有更简单的方法。 干杯, 梓潼 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,马丁、 感谢您的答复!我用 S32 SDK 在 C 语言中创建一个 C++ 项目的路径也差不多。 我关注这篇文章来封装 C++ 对象以便它们可以在 C 代码中使用:教程:如何将 C++ 库/类集成到 C 程序中-Teddy Engineering GmbH 我还读到,如果使用 freeRTOS,建议使用 ``pvPortMalloc()`` 和 ``pvPortFree()`` 来覆盖 ``new`` 和 ``delete```:无法正确创建新对象 - FreeRTOS 干杯, 梓潼 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我对此也非常好奇。在某些应用程序中,使用面向对象的基本原理更容易编写和维护更简洁、无错误的代码,而使用 C++ 则要容易得多。如果能更直接地提供这种支持,而不需要所有的步骤,生活就会轻松很多。 我更愿意使用恩智浦工具,但我觉得这限制了我。 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我的做法是,使用 SDK 创建普通 C 项目,然后将文件/新建/转换为 C/C++ 项目 然后你必须进入项目属性、C/C++ 版本/设置/标准 S32DS C 编译器/包含,然后复制必要的行并将其粘贴到 C++ 编译器/包含中 下一步 - 创建不含 SDK 的 C++ 项目,并将其链接器文件复制到含 SDK 的项目中。 然后,我创建了 main_app.cpp,将函数 main_app() 定义为 extern"c" ,并从 main.c 中的 main() 函数调用 main_app(),然后我就可以从 main_app()调用 C++ 类了。 现在我可以编译它,应用程序似乎也可以工作,我还可以使用处理器专家等...... 我发现的唯一问题是,像这样使用构造函数: cObject object(constructor params); 并不能像预期的那样 我必须使用 cObject *object = new cObject(constructor params); Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,吉日、 请允许我提出一个后续问题:如果我真的需要在 S32K 项目中使用一些 C++ 代码,您有什么建议?到目前为止,我想到了以下几种可行的方法: 1.使用 S32K DS 以外的其他编译器。 2。将 C++ 代码构建到与 C 兼容的静态库(包含封装器等)中,然后将其添加到 S32K DS 中的 C 项目中。 非常感谢、 梓潼 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,尼古拉 遗憾的是,S32DS 不支持在 S32K SDK 中使用 C++。 Jiri 
View full article
i.MX RT1061 串行非 Quadspi 或非 闪存启动 您好, 我有一个使用 i.MX RT1061 和W25Q128JVSIQ外置闪存的项目。我希望也能支持W25Q128JVSIM(视可用性而定)。不过,W25Q128JVSIM并没有将 QE 位(Quad Enable)锁定为启用状态。在尝试从它启动时,我看到我假设启动ROM在没有先启用Qe-bit的情况下尝试执行快速读取Quad I/O(参见发送的前两个命令的屏幕截图)。 它似乎首先读取了 FlexSPI 配置块(这在意料之中),但随后四重读取失败,什么也没发生(引导加载程序未启动)。 我怀疑我必须确保在生产过程中启用 Qe-bit 才能正常工作,但我很好奇 i.MX RT1061 是否支持从非 Quadspi NOR 闪存启动?似乎只支持 Quad 和 Octal 闪存(请参见 BOOT_CFG1 熔丝的屏幕截图)? 谢谢, Daniel i.MX RT106x Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot 你好,@Habib_MS、 感谢您的答复! 嗯......我的理解是,只有在调用flexspi_nor_get_config 时才会应用quad_mode_setting,我是不是理解错了? 是否有办法通过 FlexSPI 配置块将 BootROM 配置为以 QuadSPI 方式访问闪存? 谢谢, Daniel Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot 你好,@MulattoKid、 支持从非(串行)-QuadsPI NOR 闪存启动。有关支持哪些闪存设备的更多详细信息,请参阅 RM 中第 9.6 章 “启动设备”。我还知道您在图像中突出显示了 BOOT_CFG1[3:2] 位。这些字段由自动探测机制使用,如其定义所述。因此,这些位仅提供有关闪存设备的其他信息,而不是控制其配置。 关于 QSPI 或非 闪存的 QE 位配置:通常,选择正确的启动选项配置就足够了。 BR Habib Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot 你好 @dafela, 你可以使用我之前的消息中提到的配置,使用 FlexSPI 或非 API 来启用 QE 位。有关启用 QE 位的不同方法的更多详情,请参阅本帖第 19 项。 有关 FlexSPI ROM API 的更多信息,请参见 RM 第 9.13.2 节。 另一方面,如果您需要使用 J-Link 的指导,本篇文章提供了一个总体概述和几个有用的注意事项,或许对您有所帮助。 BR Habib Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot 我找到了为什么 bootROM 在读取 FCB 后立即发送四重READ命令:这是因为我们的引导加载程序在 FCB 中指定了自定义 LUT。更改读取 LUT 条目也会改变 SPI 流量。 如前所述,我之所以研究这个问题,是因为我希望能够同时支持 W25Q128JVSIQ 和 W25Q128JVSIM,而 W25Q128JVSIM 出厂默认设置中没有设置 QE 位。我想在我们自己的生产过程中设置 QE 位。我一直在研究的方法是使用 JLink 脚本直接控制 FLexSPI 外设。不过,我遇到了一些麻烦。 我有一个用于读出 W25Q128JVSIM 的状态寄存器-2 的命令序列,但它只有在 MCU 首次启动到我们的应用程序时才起作用(除非 QE 位已被设置,否则 MCU 无法启动)。如果闪存是空的,而 bootROM 没有任何东西可以启动,那么 jLink 脚本就不起作用,所以我想知道配置 FlexSPI 外围设备是否需要额外的设置? 以下是供参考的脚本: ExitOnError 1 Device MIMXRT1061xxx5B SelectInterface SWD Speed 4000 Connect halt // Enable clock w4 0x400FC078, 0xFFFFFFFF // Reset module w4 0x402A8000, 0x00000002 sleep 20 w4 0x402A8000, 0x00000000 sleep 20 // Clear errors w4 0x402A8014, 0xFFFFFFFF w4 0x402A80B4, 0xFFFFFFFF sleep 20 // 2) Update LUT to include Read Status Register 2 and Write Status Register 2 commands w4 0x402A8018, 0x5AF05AF0 // Write magic value (i.MX RT1060 reference manual rev3, p.1612) sleep 20 w4 0x402A801C, 0x2 // Unlock LUT (i.MX RT1060 reference manual rev3, p.1612) sleep 20 // LUT entry structure (i.MX RT1060 reference manual rev3, p.1709): // [31:26] = opcode1 // [25:24] = num_pads1 // [23:16] = operand1 // [15:10] = opcode0 // [ 9: 8] = num_pads0 // [ 7: 0] = operand0 // #include // // #define OPERAND_0(x) (x << 0) // #define NUMPADS_0(x) (x << 8) // #define OPCODE_0(x) (x << 10) // #define OPERAND_1(x) (x << 16) // #define NUMPADS_1(x) (x << 24) // #define OPCODE_1(x) (x << 26) // // #define kFLEXSPI_Command_STOP 0x0 // #define kFLEXSPI_Command_SDR 0x1 // #define kFLEXSPI_Command_RADDR_SDR 0x2 // #define kFLEXSPI_Command_WRITE_SDR 0x8 // #define kFLEXSPI_Command_READ_SDR 0x9 // #define kFLEXSPI_1PAD 0x0 // // #define FLEXSPI_LUT_SEQ(cmd0, pad0, op0, cmd1, pad1, op1) (OPERAND_0(op0) | NUMPADS_0(pad0) | OPCODE_0(cmd0) | OPERAND_1(op1) | NUMPADS_1(pad1) | OPCODE_1(cmd1)) // // int main() // { // printf("WriteEnable: 0x%08X\n", FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x06, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0)); // printf("ReadStatusRegister2: 0x%08X\n", FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x35, kFLEXSPI_Command_READ_SDR, kFLEXSPI_1PAD, 0x04)); // printf("WriteStatusRegister2: 0x%08X\n", FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x31, kFLEXSPI_Command_WRITE_SDR, kFLEXSPI_1PAD, 0x04)); // // return 0; // } // Each command sequence in the LUT is 4 entires with each entry being 4 bytes (one word) w4 0x402A82E0, 0x24040435 // LUT[14 * 4] = Read Status Register-2 command sequence sleep 20 w4 0x402A8018, 0x5AF05AF0 // Write magic value (i.MX RT1060 reference manual rev3, p.1612) sleep 20 w4 0x402A801C, 0x1 // Lock LUT (i.MX RT1060 reference manual rev3, p.1612) sleep 20 // Read Status Register-2 w4 0x402A8080, 0x80000000 // Clear sequence pointer for port A w4 0x402A8014, 0x1F // Clear pending status w4 0x402A80A0, 0x0 // Set base address w4 0x402A80B8, 0x1 // Reset RX FIFO w4 0x402A80A4, 0xE0001 // SEQID=14, SEQNUM=1, 1 byte w4 0x402A80B0, 0x00000001 // Trigger IP command sleep 50 Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot 谢谢,我会看看的
View full article
TDA8035 运行模式下的 IDD (INTF) 电流消耗 大家好,团队, 当 TDA8035 处于运行模式时,VDD (INTF) = 3.3 V 时 VDD (INTF) 的近似功耗是多少? 顺祝商祺! 西尔万 Re: TDA8035 IDD(INTF) current consumption in active mode 你好@sylvainbouriot TDA8035 的大电流通路(板卡电源、VCC 限流、DC/DC)均位于 VDDP 中,与 VDD (INTF) 无关。 VDD (INTF) 主要负责数字控制逻辑、I/O 参考和时钟分频控制。其功耗非常低。 运行模式下的 IDD (INTF) 通常在 1 到 3 mA(典型值)的范围内。
View full article
[ABB] [SE050C] [纳米软件包] [Zephyr] 设置 PlatformsCP 你好 客户 ABB 正在通过 nRF5340 + Zephyr 使用 SE050C1,他正在集成我们的纳米软件包 MW。 在 SCP03 中进行通信需要它 我想,第一步是编译相应的纳米包库,我相信在这一阶段会涉及到一个独特的定义,即 CONFIG_PLUGANDTRUST_SCP03 ,我能问一下如何配置/定义它吗?是否需要将预处理器定义传递给 CMake? 此外,我还发现还有一个定义 PLUGANDTRUST_SE05X_AUTH 需要设置为 PlatformSCP03 ,这个定义与 CONFIG_PLUGANDTRUST_SCP03 有什么关系? 谢谢, Mehdi Re: [ABB] [SE050C][Nano-package][Zephyr] setting PlatformSCP 谢谢 Michael 正确的编译流程 会是什么样子吗? 第 1 步——一方面,使用 CMake 构建 mw 库(在 Cmake 选项中定义了 CONFIG_PLUGANDTRUST_SCP03) 第 2 步 — 在 .proj 中使用 config_plugandtrust_scp03=Y 编译 Zephyr 示例文件 我的理解是,只有 CONFIG_PLUGANDTRUST_SCP3 需要在 proj 文件中声明,而 CONFIG_PLUGANDTRUST_SCP03 是一个 Cmake 选项,对吗? 迈赫迪 Re: [ABB] [SE050C][Nano-package][Zephyr] setting PlatformSCP 你好,迈赫迪 的定义: CONFIG_PLUGANDTRUST_SCP03 : 在编译版本中启用 SCP03 代码/库(包括 SCP03 源文件、加密依赖关系) PLUGANDTRUST_SE05X_AUTH=PlatformSCP03 :告诉运行时代码在与 SE050 通信时实际使用 SCP03 身份验证 两者都必须设置,SCP03 才能正常工作。 对于 zephyr 编译,可在 zephyr prj.conf 文件中设置定义,默认情况下全部关闭: config_plugandtrust_scp03=n config_plugandtrust_eckey=n config_plugandtrust_eckey_scp03=n config_plugandtrust_sm_apdu_mutex=n   这样就无需更改 cmake 配置。   KInd regards, Michael Re: [ABB] [SE050C][Nano-package][Zephyr] setting PlatformSCP 你好,迈赫迪 使用平台 scp 需要做的唯一一件事是 在 prj.conf 文件中设置CONFIG_PLUGANDTRUST_SCP03=y 我用 zephyr 测试了纳米软件包: 1. 在示例文件夹内的 prj.conf 文件(示例:.\workspace\modules\crypto\nxp-plugandtrust\examples\se05x_GetInfo\zephyr\prj.conf)中,只需设置以下内容:CONFIG_PLUGANDTRUST_SCP03=y 2. 版本示例:> west 版本-b frdm_k64f 模块/crypto/nxp-plugandTrust/examples/se05x_getinfo/Zephyr--pristine 3. flash 二进制文件:C:\nxp\workspace\build\zephyr\zephyr.bin 到 k64 而且很有效。 此致敬礼, Parth
View full article
从中断处理程序进行 I/O 操作 本问题的相关参数如下: 1。IDE:适用于 ARM v 2.2 的 S32 DS(是的,我知道这个已经过时了,但是有问题的产品也是;我们需要支持现有代码) 2.芯片:S32K148 3.操作系统视窗 11 4.系统操作系统:裸机 在 ISR 中尝试执行任何类型的 SPI 主传输都会挂起,通常被中断的 API 是阻塞 I/O(I2C 或 SPI)调用。 在阻塞调用(调用 LPSPI_DRV_MasterTransferBlocking())中,通话挂起是因为 SysTick 中断似乎没有发生,因此 MCU 无法感知时间流逝。 在非阻塞调用(LPSPI_DRV_MasterTransfer(),然后是 LPSPI_DRV_MasterGetTransferStatus(SPI1,&byte_remaining))中,byte_remaining 保持原值。我尝试在调用 LPSPI_DRV_MasterAbortTransfer() 进行异步传输之前,添加对 LPSPI_DRV_MasterAbortTransfer(SPI1) 的调用,但结果还是一样。 关于一个半相关的问题,是什么触发了 SysTick_Handler()?我的直觉告诉我,它应该一直运行,每 1 毫秒增加一次刻度计数,但在其正文中设置一个断点似乎只能在某些时间触发。奇怪的是,即使阻塞性 SPI 传输成功,有时也不会触发,如果系统定时器之前未触发,则应触发系统定时器。 另一个半相关的问题是,在 SPI 的 S32 Cookbook 示例代码中,没有使用 SDK 提供的应用程序接口;这些示例直接完成了所有寄存器位操作。是否有更接近生产价值代码的示例,因为它们至少调用了恩智浦的应用程序接口,而不是重新发明轮子? Re: Doing I/O from an interrupt handler 你好@PetrS 非常感谢。中断优先级确实解决了这个问题。不过,我有一个问题: 我同意在 ISR 中阻塞不是一个好主意,但在单线程应用程序中又有什么办法呢?我可以在应用程序上下文中旋转,直到 SPI 传输完成。这将允许其他 I/O 中断发生(我的理解是,负优先级中断无论如何都会触发;当进入正优先级 ISR 时,它们不会被禁用)。但是在我的情况下,进行重叠的 I/O 既不可能,也不可取。 1.这是不可能的,因为 S32K148 是所有总线的总线主控器。因此,如果它在 ISR 中进行 SPI 传输,则可能无法驱动另一条 I/O 总线,因此无法触发中断。 2.这并不可取,因为 ISR 之间可能存在共享全局,所以我不想在当前 I/O 完成之前启动新的 I/O。 对于单线程裸机应用程序,您建议如何处理这种情况? Re: Doing I/O from an interrupt handler 您好, 好吧,那么只需中断优先级就能导致这种行为。阻塞 API 会挂起的原因很简单,如果两个中断具有相同的优先级,那么当 GPIO ISR 处于活动状态时,LPSPI ISR 就无法运行。阻塞调用等待 ISR 完成传输并发布信号,但在 GPIO ISR 退出之前,ISR 永远不会获得 CPU 时间。SDK 的驱动程序确实在 LPSPI 中断中完成传输,然后才发布信号量以释放屏蔽调用,因此同等优先级 ISR 将以这种方式使传输陷入僵局。 非阻塞 API 的行为相同:如果从具有相同优先级的 GPIO ISR 调用,LPSPI ISR 无法抢占它的优先级,因此 byte_remaining 永远不会改变,因为驱动程序状态机永远不会被 LPSPI IRQ 服务。只有将 LPSPI 提高到更高优先级(数值较低)后,LPSPI 中断才会立即触发,完成传输,并允许阻塞和非阻塞 API 按预期工作。尝试 /* 在 Cortex-M 上,数字越小优先级越高 */ INT_SYS_SetPriority(SysTick_IRQn, 0); // 如果依赖于 tick 超时 INT_SYS_SetPriority(LPSPI1_IRQn, 1); // 必须高于 GPIO INT_SYS_SetPriority(PORTC_IRQn, 2); // 您按钮的 PORTx IRQ   注意:无论优先级如何修正,建议还是不要在 ISR 中使用阻塞的 SPI API,同样也不要在 ISR 中等待非阻塞传输完成。S32K LPSPI 驱动程序在其中断处理程序中进行传输,长时间的 ISR 会阻止其他中断运行。   BR, Petr Re: Doing I/O from an interrupt handler 您好, S32K1 SDK 无法阻止 ISR 的 I/O。LPSPI_DRV_MasterTransferBlocking() 等待 OSIF semaphore;在 ISR 上下文中,没有地方可以阻塞,也没有 tick/time base 可以前进,因此会挂起。使用非阻塞 API(LPSPI_DRV_MasterTransfer),在 LPSPI ISR/回调中完成传输,然后向任务/主循环发出信号。此外,SysTick 会在定时器结束时触发,但其处理程序只有在未被屏蔽且具有足够的 NVIC 优先级时才会运行--因此,如果设置了 PRIMASK 或处于更高优先级的 ISR 中,它将被推迟。 烹饪手册项目特意采用轻量级设计,直接展示外围设备的使用,而不使用更高级别的驱动程序抽象;这些项目旨在作为学习的起点,而非生产使用。如果您需要恩智浦驱动程序风格的示例,请参考 SDK 或 RTD 驱动程序/示例项目,而不是烹饪手册。   BR, Petr Re: Doing I/O from an interrupt handler 您好, 即使它现在 "工作 "了,你仍然不应该在 ISR 内进行 SPI 传输。 如果你以后改变了优先级,或添加了另一个外设,你可以很容易地重新创建刚刚诊断出的死锁状态。 最安全的设计是始终缩短 ISR,将真正的工作推迟到主循环。 仅将 ISR 用作触发信号;在 main () 中同步执行 SPI 传输,或者在 ISR 中启动但由 LPSPI ISR 完成的非阻塞传输,主等待完成标志。 BR, Petr
View full article
iMX93 FRDM 上的 DMS 嗨,团队、 是否有人在 i.MX93 FRDM 平台上实施或评估过驾驶员监控系统 (DMS) 演示? 我正在寻找与以下功能相关的详细信息或引用: 人脸侦测 人脸地标检测 虹膜/眼睛地标检测 驾驶员行为检测,如吸烟和使用手机 如果有任何演示、参考设计、SDK 示例或合作伙伴解决方案,请分享详细信息或相关文档。 提前感谢您的支持。 致以最诚挚的问候, Ajnas FRDM 培训 Re: DMS on iMX93 FRDM 你好@ajnas-c、 感谢您联系恩智浦支持中心! 您可以通过下面的链接查看该演示的详细信息和源代码: https://github.com/nxp-imx-support/nxp-demo-experience-demos-list/tree/lf-6.12.3_1.0.0/scripts/machine_learning/dms 此致 查维拉
View full article
IMX8MP DDR4 自定义板::你处于紧急模式。 您好, 我使用的是 i.MX8M Plus DDR4 自定义主板。我正在加载Image.gz、DTB 和rootfs (cpio.gz)从 SD 卡到 DDR,然后从 DDR 启动内核和根文件系统。 加载根文件系统后,我看到以下信息: 您已进入紧急模式。登录后,键入"journalctl -xb" 了解详情。 按 Enter 进行维护 (或按 Control-D 继续): [ 12.946854] random: crng init done. 我附上了完整的启动日志供你参考。 以下是我用来将图像从 SD 卡加载到 DDR 的 U-启动 命令: ================== 从 SD 卡加载到 DDR ================== fatload mmc${mmcdev}:1${loadaddr} Image.gz fatload mmc${mmcdev}:1${fdt_addr} imx8mp-ddr4-evk.dtb fatload mmc${mmcdev}:1${initrd_addr} cpio.gz setenv bootargs console=${console},${baudrate} earlycon=${earlycon},${baudrate} rdinit=/sbin/init booti${loadaddr} ${initrd_addr} ${fdt_addr} ============================================================== 我的问题是 如何才能获得正常的 root 登录提示,如: root@imx8mp- ddr4 -evk:~? 为避免进入紧急模式,是否建议修改引导参数? 如能提供任何指导或建议,将不胜感激。 感谢并致意 巴德瓦杰 Re: IMX8MP DDR4 Custom board :: You are in emergency mode. 你好 能否请您分享整个日志? 顺祝商祺! Re: IMX8MP DDR4 Custom board :: You are in emergency mode. 你好@JorgeCas、 请在下面找到随附的完整日志以供您参考。 谢谢!
View full article
i.MX RT1060 API の LPSPI_MasterTransferEDMA は 24 ビットのフレーム サイズをサポートしていませんか? LPSPI を使用して DMA 経由で 24 ビット フレームを書き込もうとしています。アプリケーションは重要ではありませんが、私の例では、メモリから外部 DAC にデータを送信することです。私はこれを DMA で動作させたいと思っています。なぜなら、最終的には TCD のリンク リストを PIT と一緒に使用して、CPU オーバーヘッドなしで DAC を継続的に更新するためです。これは外部 ADC および DAC を使用する一般的なアプリケーションです。16 ビット DAC/ADC には 24 ビットのフレーム要件があることも一般的です (上位バイトはコマンド用、下位バイトはデータ用)。uint8_t データを使用して転送を 3 バイトに分割するのではなく、uint32_t データを使用して 24 ビットのフレーム サイズで送信し、先頭バイトを無視します。 さて、LPSPI と DMA の構成に移ります。 1.imxRT1060 SDK の API LPSPI_MasterInit 関数の lpspi_master_config_t 構造を使用すると、 bitsPerFrame を 24 に設定できます。DMA を使用せずに標準転送を行う場合、これは問題ではありません。 2. ただし、API の LPSPI_MasterTransferEDMA 関数で DMA を使用する場合、24 ビット フレーム サイズのケースは eDMA ハードウェアによって処理またはサポートされませんか?LPSPI_MasterTransferEDMALite では、DMA 転送幅は edma_transfer_config_t 構造体で設定されます。具体的には、srcTransferSize フィールドと destTransferSize フィールドは、SPI フレーム サイズ (bytesPerFrame) から導出される bytesEachRead 値と bytesLastWrite 値に基づいて構成されます。 /* LPSPI_MasterTransferPrepareEDMALite */ uint32_t bytesPerFrame = ((base->TCR & LPSPI_TCR_FRAMESZ_MASK) >> LPSPI_TCR_FRAMESZ_SHIFT) / 8U + 1U; if (bytesPerFrame <= 4U) { handle->bytesEachWrite = (uint8_t)bytesPerFrame; // for 24bit frames = 3 handle->bytesEachRead = (uint8_t)bytesPerFrame; // .... handle->bytesLastRead = (uint8_t)bytesPerFrame; // .... } /* now back in LPSPI_MasterTransferEDMALite */ switch (handle->bytesEachRead) //bytes each transfer { case (1U): transferConfigRx.srcTransferSize = kEDMA_TransferSize1Bytes; transferConfigRx.minorLoopBytes = 1; if (handle->isByteSwap) { addrOffset = 3; } break; case (2U): transferConfigRx.srcTransferSize = kEDMA_TransferSize2Bytes; transferConfigRx.minorLoopBytes = 2; if (handle->isByteSwap) { addrOffset = 2; } break; case (4U): transferConfigRx.srcTransferSize = kEDMA_TransferSize4Bytes; transferConfigRx.minorLoopBytes = 4; break; default: transferConfigRx.srcTransferSize = kEDMA_TransferSize1Bytes; transferConfigRx.minorLoopBytes = 1; assert(false); break; } デフォルトのケースが発生し、3 バイトのケースは処理されないためエラーが発生します。EDMAハードウェアは3バイト転送をサポートしていますか?基本的に、uint32_tのデータとフレームを3バイトとして扱い、最上位バイトを無視してDMA転送を行いたいのですが、可能ですか? Re: i.MX RT1060 API's LPSPI_MasterTransferEDMA does not support 24bit framesize? こんにちは@azoneさん、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 次のリンクを確認してください。eDMA は 1、2、4、8、16、32、64 バイトの転送サイズをサポートしており、24 ビット (3 バイト) の転送サイズはサポートしていないことが説明されています。 MCUXpresso SDK APIリファレンスマニュアル: EDMA: 拡張ダイレクトメモリアクセス (eDMA) コントローラドライバ よろしくお願いいたします。 メイリュー Re: i.MX RT1060 API's LPSPI_MasterTransferEDMA does not support 24bit framesize? わかりました。確認してくれてありがとう。これで、動作させるために時間を無駄にすることがなくなりました。したがって、唯一の方法は、すべてをuint8_tデータとしてkLPSPI_MasterPcsContinuousで3バイトとして送信することです。これは他のすべてのペリフェラルでも同じ方法で実行しているので問題ありませんが、16ビットDAC実装の場合は不要なオーバーヘッドが発生します。ありがとうございます。
View full article
[豪迪加密公司][SE050]关于在 SE050 中支持 BIP32 的建议 专家们好 客户是 Haudi Crypto, Inc.(Haudi, Inc. 的子公司),该公司正在使用 SE050 开发硬件加密货币钱包。在开发过程中,他们确定了有利于该用例的增强功能,特别是原生 BIP32 密钥派生支持。是否可以为他们的应用程序发布自定义类型?详情请参阅附件。 更多背景如下图所示: 到目前为止,他们的Openloop钱包仍在开发中,尚未发布,他们将成为代理商。关于公司版本,他们正在与日本的几家金融机构和稳定币运营商进行谈判。它广受好评。对于公众版,他们计划首先通过日本众筹上市该版本,他们目前正在为此做准备。他们还计划之后在亚马逊上销售。 客户联系人信息: 公司名称: Haudi Crypto, Inc:豪迪加密公司(豪迪公司的子公司) 联系信息:首席执行官浅田和典 电子邮件: [email protected] 感谢您的帮助! 顺祝商祺! 坎 Re: [Haudi Crypto, Inc.][SE050]Proposal for BIP32 Support in SE050 感谢您分享您的详细建议 我们已审查了您的第 2 级申请。根据我们目前的分析: BIP32 流程的某些部分已经可以在安全元件内部执行。 例如,EC 点乘法可完全在 SE050 中执行,所得点可存储在 SE 对象中。这允许将某些链式操作保留在安全元件边界内。 但是,使用当前的物联网小程序命令集,其他必需的步骤,例如将HMAC‑SHA512安全链接到安全元件内等,是不可行的。 我们已经采纳了您的反馈意见,并将其作为正式变更请求 (CR) 提交给我们的 R&D 团队进行评估。不过,如果非专利产品发生任何变化,也不可能在短期内发生。 一旦收到关于 CR 的反馈,我们将及时向您通报。 此外,对于第 1 级限制,您可以考虑使用瞬态对象。 谢谢
View full article
S32 Design Studio for Power Architecture v2.1 - 更新 7 现已发布! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />       产品发布公告 汽车微控制器和处理器 面向 Power Architecture 的 S32 设计工作室 v2.1 更新 7          新增内容 集成 S32 SDK,适用于 Power Architecture RTM 3.0.2(参见S32 SDK发行说明) 这是一个累积更新 - 它包含之前更新的所有内容(更新 1 、更新 2 ) 安装说明 此更新可供在线安装 (通过 S32DS 扩展和更新)或 离线安装(直接下载链接)  安装: 进入菜单"帮助" -> "S32DS 扩展和更新" 对话框 从可用项目中选择并点击 "Install/Update" 按钮 离线安装: 前往 S32 Design Studio for Power 产品页面 -> 下载部分或使用直接链接下载更新存档 zip 文件 启动 S32 Design Studio,转到“帮助”->“S32DS 扩展和更新”,然后单击“转到首选项”链接 并添加一个新的站点“添加...”存储库并浏览以选择您在上一步中下载的更新存档 zip 文件 选择“S32 Design Studio for Power Architecture Device Package”和“使用 S32 SDK 3.0.2 更新”对于 Power Architecture 包,然后单击“安装/更新”按钮。 此时将启动更新安装过程。 概述 SDK
View full article
PCF2131——第二脉冲信号触发错误 Hello, 我是 Ramón,开始使用 PCF2131 和 STM MCU 进行工作。在设备中设置新的时间+日期后,我遇到了脉冲秒信号的问题。 我遵循的方案如下: 1.我将设备设置为无中断,只有秒脉冲信号。控制寄存器设置如下: ** 控制 1:0b0000 0001,控制 2、3、4、5:0b0。-> 仅使用第二脉冲信号。 ** INTA/B Mask1/2: 0b0 -> 所有中断禁用 ** WD 控制:0x20 -> 脉冲秒信号,无 WD。 2. 然后我从 RTC 读取并检查完整性。然后设置我的MCU的时间。 3. 设备定期通过 SNTP 进行同步。问题就来了。 当收到新日期时,我们停止 RTC,清除预分频器,设置新时间(添加操作延迟)并重新启动 RTC。当这个时间接近于秒的变化(大概是920-950ms),并且设置增加延时的时间(这样就使得新的时间设置大约在50-80ms),秒脉冲信号被触发,使得MCU比实际时间提前一秒递增。我们不知道为什么会发生这种情况。尝试禁用、清除和重新启用中断,但情况仍然相同。知道为什么会发生这种情况吗? 我将我们测量的信号与我们发送的 I2C 数据附加在一起。第二个是在此特定帧中设置的日期时间的缩放,您可以看到第 100 秒设置为 4。
View full article
D1が赤く点灯しているため、S32K146EVB-Q144ボードをフラッシュできません 当初は正常に動作していた S32K146EVB-Q144 評価ボードを持っています。 Lin スタックを実装したデバッグ セッション中に、動作が停止しました。 コントローラをリセットすると、D1 の赤いライトが点灯し続け、他の 2 つの緑のライトも点灯したままになります。 USB ソースからの電源を選択するために、位置 2-3 の J10 と J107 を使用し、OpenSDA アプリのフラッシュ モードを選択するために、位置 2-3 の J104 を使用しました。 現在、私のコントローラは S32DS によってまったく検出されません。 症状はまったく同じであるように思われたので、以下の投稿に記載されている手順を試してみました。 Re: S32K144 D2 赤色 LED が常時点灯 - NXP コミュニティ ここで、P&E Kinetics Recovery Tool を使用して OpenSDA でプロセッサを停止できましたが、それでも新しいアプリケーションをフラッシュすることはできませんでした。 停止に成功しても再度点滅させることができず、赤色のライトが点灯したままになります。 コントローラはジャンパー J104 を調整することでブートローダーモードに入ることもでき、実際にブートローダーアプリをフラッシュすることもできました。しかし、どういうわけか私は再びフラッシュを書き込むことができず、サンプルの.srecをフラッシュしようとするとファイルでは、D2 は定期的に点滅し続けます (通常、正常に点滅すると 1 回点滅してからアプリの実行が開始されます)。 つまり、簡単に言うと: - コントローラがメインに到達できない、または継続的にリセットされる - コントローラはフラッシュに再度書き込むことができません (セキュリティ上の問題である可能性があります)。 私はデバッグ プローブを持っていないため、SEGGER-JLINK に関連するものを除き、上記の Thread で言及されているテクニックを試しました。私は PE Multilink Universal を持っていますが、フラッシュを回復/消去することはできません。 ボードの詳細は次のとおりです。 ボード名: S32K146EVB-Q144 MicroBootカーネルバージョン: 1.08 ブートローダーのバージョンは: 1.13 インストールされたアプリケーション: PEMicro EVB-S32K144 マスストレージ/デバッグアプリ アプリケーションのバージョン: 1.25 DUID は: 39A33939-91818199-37539805-F97AE678 EUID は: 4141A238-1BDB8733-1854BA22-D38368D6 TUID: 74823938-47328196-8576CC9B-0242983E TOAは次のとおりです: 86B6E505-56F042E0-79B2A114-62BA758F TOA2 は: 86B6E505-EB1A8A7C-AF6E54B6-43532420 SUID は: 86B6E505-5BA18877-37239804-8003EC65 MCU は永久にロックされますか? そうでない場合、どうすればボードを回復できますか? ハードウェアに障害があると思われますか?(参考までに、D2とD3が緑色に点灯しているのは、5Vと3.3Vの電源レールが正常に動作していることを意味していると思います) 物理的に大量消去する方法はありますか?(ボードがまったく検出されないため、S32DS 緊急キネティクス オプションは使用できません)。 OpenSDA チップの任意のピンを接地すると、フラッシュ メモリが消去されますか? Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red クリスマス休暇期間中は、サポートの応答時間は通常より長くなる場合がありますのでご了承ください。場合によっては、ご要望への対応が新年以降になることもあります。ご理解のほどよろしくお願いいたします。 Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red ハイ P&E リカバリ ユーティリティがMCU を停止したら、ツールを閉じます。 次にステップ3に進みます または ステップ4 S32K146 を再プログラムします。 これが原因かどうかは分かりませんが、 アプリケーションのバージョン: 1.25 。リセットボタンSW5を押したまま、USBケーブルを挿入して MSD-DEBUG-S32K146EVB-Q144_Pemicro_v121.SDA BOOTLOADER ドライブに挿入します。これにより、 アプリケーションバージョンを1.21に。 また添付しました lpit_periodic_interrupt_s32k146.srec 。 ちなみに、外付けのSegger J-Linkは必要ありません。ステップ6に従う場合: SW5を押しながらJ7を挿入すると、OpenSDAがブートローダーモードになります。そして、 SEGGER J-Linkアプリケーションファームウェア( OpenSDA_V1.bin )をOpenSDA_V1.binにコピーします。 オンボード デバッガーは J-Link になります。 よろしくお願いします、 ロビン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 --------------------------------------------------------------------------------- Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red こんにちは、ロビン。 迅速なご返信ありがとうございます。MSD -DEBUG-S32K146EVB-Q144_Pemicro_v121.SDAにロールバックしてみましたが、 同じように動作します。ブートローダーアプリはフラッシュされますが、D1はまだ赤く点灯しており、.srecをフラッシュできません。kinetis 回復ツールを使用して停止した後のファイル。コントローラが srec をフラッシュしようとしているが、D2 が定期的に点滅するため失敗していることがわかります (通常は 3 ~ 4 回だけ点滅し、アプリがフラッシュされます)。 その後、ブートローダーをOpenSDA_V1.bin に切り替えて、その後 J-Link コマンダーを使用して接続を試みましたが、次のログが表示されました。 SEGGER J-Link Commander V8.94 (2025年12月10日 14:50:47 にコンパイル) DLLバージョンV8.94、2025年12月10日14:49:54にコンパイル USB経由でJ-Linkに接続しています...OK ファームウェア: J-Link OpenSDA コンパイル日: 2023年1月31日 13:42:36 ハードウェアバージョン: V1.00 J-Link の稼働時間(起動以降): 0d 00h 00m 28s シリアル番号: 621000000 VTref=3.300V ターゲット接続を確立するには「connect」と入力し、ヘルプを表示するには「?」と入力します J-Link>接続 デバイス/コアを指定してください。 : S32K146 選択ダイアログに「?」と入力してください デバイス>S32K146 ターゲットインターフェースを指定してください: J) JTAG (デフォルト) S) SWD T) cJTAG TIF>SWD 対象インターフェース速度[kHz]を指定します。 : 4000 kHz 速度>100 デバイス「S32K146」が選択されました。 SWD経由でターゲットに接続する ConfigTargetSettings() の開始 ConfigTargetSettings() 終了 - 22us かかりました InitTarget() 開始 SWDが選択されました。JTAG -> SWD 切り替えシーケンスを実行しています。 CPU の停止中にタイムアウトが発生しました。 InitTarget() 終了 - 392 ミリ秒かかりました ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 APマップをスキャンして利用可能なすべてのAPを見つける AP[2]: APマップの終端に達したため、APスキャンを停止しました AP[0]: AHB-AP (IDR: 0x24770011, ADDR: 0x00000000) AP[1]: JTAG-AP (IDR: 0x001C0000, ADDR: 0x01000000) APマップを反復処理して使用するAHB-APを見つける AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 FPUnit: 6 つのコード (BP) スロットと 2 つのリテラル スロット CoreSight コンポーネント: ROMTbl[0] @ E00FF000 [0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7 [0][1]: E0001000 CID B105E00D PID 003BB002 DWT [0][2]: E0002000 CID B105E00D PID 002BB003 FPB [0][3]: E0000000 CID B105E00D PID 003BB001 ITM [0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU 126976バイトの作業用RAM(0x1FFF0000)を初期化しています リセットタイプ: NORMAL ( https://kb.segger.com/J-Link_Reset_Strategies ) リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: AIRCR.SYSRESETREQ 経由でデバイスをリセットします。 リセット: S_RESET_ST はクリアされません。CPU は永久にリセット状態のままになっているようです。 リセット: フォールバックを使用: ピンをリセットします。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: コアはリセット後に停止せず、WDT を無効にしようとしました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: 失敗しました。リセット ピンを切り替えてリセット戦略を再度試します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: AIRCR.SYSRESETREQ 経由でデバイスをリセットします。 リセット: S_RESET_ST はクリアされません。CPU は永久にリセット状態のままになっているようです。 リセット: フォールバックを使用: ピンをリセットします。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: コアはリセット後に停止せず、WDT を無効にしようとしました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした CPUを停止できませんでした CPUを停止できませんでした ****** エラー: CPU を停止できませんでした。 メモリゾーン: ゾーン: 「デフォルト」 説明: デフォルトのアクセスモード Cortex-M4 が識別されました。 J-Link> Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red オシロスコープを使用してリセットピンの波形を観察し、波形を送信してリセット期間とハイレベル幅を教えてください。場合によっては回復不可能となり、S32K1 チップを交換しなければならないこともあります。   接続戦略と回復手順: 目標: デバッガーにコアを停止し、問題のあるファームウェアを無効にする機会を与えます。 A. SWD速度を下げる + 「リセット時に接続」 J-Link Commanderの場合: J-Link> device S32K146 J-Link> if SWD J-Link> speed 1000 ; start at 1 MHz; if still failing, drop to 100 kHz J-Link> connect それでも失敗する場合は、手動の connect‑under‑reset を使用します。 RESET_b を外部的に低く保持し、ボードに電源を投入します。 Commander で connect を実行します。 リセットを解除し、直ちに次の操作を実行します。 J-Link> r J-Link> h J-Link> halt 特に 100 kHz SWD 速度ではタイミングが重要になる可能性があるため、何度か試してください。 B. J-Linkリセット戦略の変更 リセット戦略の値によって動作が異なります。Commander の場合 (正確な ID はバージョンによって異なる場合があります): J-Link> SetResetType = 3 ; a common “connect under reset / halt after reset”; Try 2 / 4 / 12 etc. depending on your J-Link version J-Link> r J-Link> halt または、J-Link Commander で「リセット状態で接続」を選択してみてください。 Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red S32K146EVB-SPF-29844-RB.pdfによると: J104 1-2 OpenSDAからのリセット信号 J10 2-3 P5V0 外部の 9V または 12V 電源がある場合は、 J107 1-2 P5V_SBC を接続することもできます。PEMicro Multilinkなどの外部デバッガーをお持ちの場合は、それを使用して、S32K146 用のプログラムをダウンロードできるかどうかを確認してください。 最後にダウンロードされたプロジェクトは何ですか?CSEc は有効になっていますか? 前回の質問に答えて、オシロスコープを使用して測定したリセット信号を提供してください。
View full article
88Q9098: 能否在 STA 模式下启用/禁用 ofdma/mu-mimo? 我一直在苦苦寻找答案,但就是找不到。 我想添加启用/禁用功能 下一次连接到接入点时为 DL-OFDMA、UL-OFDMA、DL-MU-MIMO、UL-MU-MIMO 我知道启用这些功能是由接入点完成的、 但我并不关心它以何种形式出现,比如改变能力,或者其他、 我只是想让它以这种方式工作: 当我启用 DL-OFDMA 时,如果接入点尝试使用,它就会工作、 而当我在 STA 中禁用它时,即使 AP 尝试禁用,也不会起作用。 如果可能,那就再好不过了、 但即使不可能,我也会非常感激。 我真的需要你的帮助。 谢谢! Re: 88Q9098: Is it possible to enable/disable ofdma/mu-mimo in STA mode? 感谢您的支持 Re: 88Q9098: Is it possible to enable/disable ofdma/mu-mimo in STA mode? 你好@nhk OFDMA/MU-MIMO 功能只能由 AP 端配置。STA 无法禁用它。STA 将使用 AP 指定的通信协议进行通信。 顺祝商祺! 肖恩
View full article
LPSPI3 経由で FS26 を駆動するにはどうすればいいですか? 開発にはS32K3X4EVB-T172を使用しています。 LPSPI3 を使用して FS26 と通信できないことがわかったので、サンプル コードでこの状況を再現しました。 交換したい LPSPI3_PCS0 = 110 = PTB17 <> LPSPI0_PCS0 = 95 = PTB0 LPSPI3_SCK = 7 = PTD1 <> LPSPI3_SCK = 7 = PTD1 LPSPI3_SIN = 111 = PTD20 <> LPSPI0_SIN = 97 = PTC9 LPSPI3_SOUT = 8 = PTD0 <> LPSPI0_SOUT = 94 = PTB1 配線方法は以下の通りです。 LPSPI3_SCK = J37、番号1、LPSPI0_SCK = J2、番号21に接続 LPSPI3_SIN = J39、番号14、LPSPI0_SIN = J2、番号15に接続 LPSPI3_SOUT = J37、番号3、LPSPI0_SOUT = J2、番号18に接続 LPSPI3_PCS0 = J4、番号5、LPSPI0_PCS0 = J2、番号24に接続 既知の障害点は、Sbc_fs26_InitDevice 内の Sbc_fs26_GetDeviceState が FS_STATES_INVALID を返すことです。 ただし、Spi_SyncTransmit を使用すると、CSB が低く引き下げられることがわかります。これは正しいようです。 CSB MOSI 設定を確認しましたが、どこに問題があるのかわかりません。添付ファイルは、LPSPI0 が LPSPI3 に変更されていることを除いて、サンプル コードとほぼ同じです。 Re: How to drive FS26 via LPSPI3? 公式の例では、FS26 と通信するためにどの SPI を使用していますか? Re: How to drive FS26 via LPSPI3? LPSPI0の使用 LPSPI0を削除してから以下のドッキングを実行しました。 LPSPI0_PCS0 = 95 = PTB0 = J2 (上位24) LPSPI3_PCS0 = 110 = PTB17 = J4 (下位5) LPSPI0_SCK = 98 = PTC8 = J2 LPSPI3_SCK = 7 = PTD1 = J37 LPSPI3_SCK = 7 = PTD1 = J37 LPSPI0_SIN = 97 = PTC9 = J2 (上位15) LPSPI3_SIN = 111 = PTD20 = J39 (中間14) LPSPI0_SOUT = 94 = PTB1 = J2 (LPSPI3_SOUT = 8 = PTD0 = J37 に接続) ただし、FS26は通信できません。 Re: How to drive FS26 via LPSPI3? これはコード移植の問題ではありません。非常に大きなコードパッケージがあり、LPSPI3がFS26と通信できないという問題が発生しています。質問しやすいように、FS26のサンプルコードを使用し、FS26との通信をLPSPI0からLPSPI3に変更しました。しかし、LPSPI3がFS26と通信できないという同じ問題が依然として発生しています。Spi_SyncTransmitを呼び出すと、CSBとMOSIに対応する応答が表示されます。そのため、原因がわかりません。 Re: How to drive FS26 via LPSPI3? 使用 LPSPI0 LPSPI0_PCS0 = 95 = PTB0 LPSPI0_SCK = 98 = PTC8 LPSPI0_SIN = 97 = PTC9 LPSPI0_SOUT = 94 = PTB1 Re: How to drive FS26 via LPSPI3? クリスマス休暇期間中は、サポートの応答時間は通常より長くなる場合がありますのでご了承ください。ご理解のほどよろしくお願いいたします。 私が見た説明は、私が行っている RTD 上での SPI 通信転送であり、サポートを超える点があります。
View full article
iMX95 verdin evkキットでストリームをディスプレイにプッシュする方法 私は、iMX95 Verdin EVK に Bayer RGGB センサを搭載しようとしており、stream-mmap コマンドを使用して v4l2 ストリームを取得できました。video0からもキャプチャして確認しました。 ストリームをディスプレイにプッシュする方法、そのためにどの gstreamer コマンドを使用するか。 これについてご意見をいただけませんか。 ありがとう Re: How to push stream to display in iMX95 verdin evk kit 以下のユーザーガイドの7.3.9.6.1 GStreamerパイプラインシングルカメラプレビューの章を参照してください。 https://www.nxp.com/docs/en/ユーザーガイド/UG10163.pdf
View full article
[滥用] 发布者:@JohnKlug /板:imx-processors/举报人:srbacvj srbacvj 报告了 @JohnKlug 发布的帖子 Could not invoke dnf for external kernel module in Yocto kirkstone ,原因如下: 原因: 详情: < a href="https://tylkoastronomia.pl/node/9904"> http://prosti-proshay.ru/lyudi/pharmacy-online-1"> https://www.siriuspup.com/breeders/pharmacy-online-11"> https://stage.cc.radiant.digital/node/3046"> http://www.pajeroio.com/blog/pharmacy-online-0"> https://www.musicinafrica.net/newsfeed/213463/373133"> http://www.sccu.chula.ac.th/node/933"> < a href="https://www.lawtech.ru/subscribe/26816-16102025"> https://okwiki.ru/catalog/pharmacy-online"> < a href="https://neweddingday.com/your-couple-name-2333"> https://www.siriuspup.com/breeders/pharmacy-online-11"> http://xn--37-6kci4a9aahjr0a.xn--p1ai/pharmacy-online-ivanovo-8"> https://hetnieuweteamwerken.be/forums/forum/pharmacy-online-5"> https://www.jobwebby.ilovemarkso.com/domainasname-anthony-gmbh/pharmacy-online-6"> http://prosti-proshay.ru/lyudi/pharmacy-online-1"> https://www.intimus.pt/pharmacy-online-16"> https://www.intimus.pt/pharmacy-online-16"> https://dev.beautynbrushes.com/services-provided/tree-braids-maroonimmortalep"> https://whs6570.com/node/2099"> http://www.le-cercle-des-sourires.fr/session/3338"> < a href="https://www.jobwebby.ilovemarkso.com/domainasname-anthony-gmbh/pharmacy-online-6"> https://www.danduo168.com/en/artworks/693/pharmacy-online-0"> https://auc.org.ua/faq/29092025-0456"> https://jeunescathos-bxl.org/fr/content/pharmacy-online-54"> https://www.musicinafrica.net/newsfeed/213463/373133"> http://xn--37-6kci4a9aahjr0a.xn--p1ai/pharmacy-online-ivanovo-8"> https://masters.adminskiracing.com/node/413296"> https://slp.millingtonpubliclibrary.org/content/pharmacy-online-9"> < a href="https://tylkoastronomia.pl/node/9904"> https://fo-rum.auc.org.ua/faq/29092025-0042-1"> https://ruckup.org/caregivers-forum/topic/6386"> < a href="https://www.rapidservice.com.ec/es/content/pharmacy-online"> https://www.globalrealtor.co.in/node/4204"> < a href="https://whs6570.com/node/2099"> https://darkmetalmush.net/history/pharmacy-online-23"> https://www.thebiketube.com/f-moser-ann"> http://xn--80aah2bgapnqg.xn--p1ai/story/pharmacy-online-3"> https://stage.cc.radiant.digital/node/3046"> https://masters.adminskiracing.com/node/413296"> https://dev.worldwar1luton.com/forum-topic/pharmacy-online-5"> 发布链接: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/m-p/1627964#M203740 帖子作者 @JohnKlug|Email Author 报告人:srbacvj |Email Reporter 报告的帖子有 2 个回复。
View full article