Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
INTEGRATE LLCE_CAN/LIN(MCAL DRIVER) TO S32DS 3.4 ,But S32 DS Bulid ERROR Hello everyone,         When I follow the document “INTEGRATE LLCE_CAN/LIN(MCAL  DRIVER) TO S32DS 3.4”,I have some problems。       when i build the project,It wasn't as successful as the documentation。       The error is shown below。 Description Resource Path Location Type #error "MemMap.h, no valid memory mapping symbol defined." LLCE_CAN_LIN_M7_0 line 12754, external location: D:\NXP\S32DS.3.4\S32DS\software\PlatformSDK_S32XX_2022_03\SW32_RTD_4_4_3_0_2_D2203\Base_TS_T40D11M30I2R0\include\Ecum_MemMap.h C/C++ Problem #error "MemMap.h, no valid memory mapping symbol defined." LLCE_CAN_LIN_M7_0 line 12754, external location: D:\NXP\S32DS.3.4\S32DS\software\PlatformSDK_S32XX_2022_03\SW32_RTD_4_4_3_0_2_D2203\Base_TS_T40D11M30I2R0\include\Rte_MemMap.h C/C++ Problem #error "MemMap.h, no valid memory mapping symbol defined." LLCE_CAN_LIN_M7_0 line 12910, external location: D:\NXP\S32DS.3.4\S32DS\software\PlatformSDK_S32XX_2022_03\SW32_RTD_4_4_3_0_2_D2203\Base_TS_T40D11M30I2R0\include\Can_43_LLCE_MemMap.h C/C++ Problem #error "MemMap.h, no valid memory mapping symbol defined." LLCE_CAN_LIN_M7_0 line 12910, external location: D:\NXP\S32DS.3.4\S32DS\software\PlatformSDK_S32XX_2022_03\SW32_RTD_4_4_3_0_2_D2203\Base_TS_T40D11M30I2R0\include\Lin_43_LLCE_MemMap.h C/C++ Problem make: *** [llce/plugins/Can_43_LLCE_TS_T40D11M10I0R0/src/subdir.mk:27: llce/plugins/Can_43_LLCE_TS_T40D11M10I0R0/src/Can_43_LLCE_Irq.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** [llce/plugins/Can_43_LLCE_TS_T40D11M10I0R0/src/subdir.mk:27: llce/plugins/Can_43_LLCE_TS_T40D11M10I0R0/src/Can_43_LLCE.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** [llce/plugins/Can_43_LLCE_TS_T40D11M10I0R0/src/subdir.mk:27: llce/plugins/Can_43_LLCE_TS_T40D11M10I0R0/src/Can_Llce.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** [llce/plugins/EcuM_TS_T40D11M10I0R0/src/subdir.mk:20: llce/plugins/EcuM_TS_T40D11M10I0R0/src/EcuM.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** [llce/plugins/Lin_43_LLCE_TS_T40D11M10I0R0/src/subdir.mk:26: llce/plugins/Lin_43_LLCE_TS_T40D11M10I0R0/src/Lin_43_LLCE.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** [llce/plugins/Lin_43_LLCE_TS_T40D11M10I0R0/src/subdir.mk:26: llce/plugins/Lin_43_LLCE_TS_T40D11M10I0R0/src/Lin_Llce_Irq.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** [llce/plugins/Lin_43_LLCE_TS_T40D11M10I0R0/src/subdir.mk:26: llce/plugins/Lin_43_LLCE_TS_T40D11M10I0R0/src/Lin_Llce.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** [llce/plugins/Rte_TS_T40D11M10I0R0/src/subdir.mk:20: llce/plugins/Rte_TS_T40D11M10I0R0/src/SchM_Can_43_LLCE.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** [src/subdir.mk:20: src/main.o] Error 1 LLCE_CAN_LIN_M7_0 C/C++ Problem make: *** Waiting for unfinished jobs.... LLCE_CAN_LIN_M7_0 C/C++ Problem 'Linflexd_Uart_Ip_pHwConfigPB_0_BOARD_INITPERIPHERALS' undeclared (first use in this function); did you mean 'Linflexd_Uart_Ip_xHwConfigPB_0_BOARD_INITPERIPHERALS'? main.c /LLCE_CAN_LIN_M7_0/src line 296 C/C++ Problem。 Can you give me some advice?Thanks! Re: INTEGRATE LLCE_CAN/LIN(MCAL DRIVER) TO S32DS 3.4 ,But S32 DS Bulid ERROR Actually, I have met such issue in S32DS.3.5, and I have no method to resolve it. I use S32G-VNP-RDB3(S32G399A) board, not S32G-VNP-RDB2(S32G274A_Rev2) board. Did you resolve this issue?
記事全体を表示
Debug interface recommendations for Kinetis and LPC? I do most of my development on the Kinetis series, and potentially some LPC parts in the near future. I've got a drawer full of debug interfaces from P&E Micro, including a Cyclone ACP that I use most. I sometimes find myself switching from the $600 Cyclone to the $20 LPC-Link2 because the Cyclone has so many weird problems with MCUXpresso. Honestly the LPC-Link2 does most of what I need, it's just a bit slow. Should I be looking at Segger interfaces? Can someone recommend a reliable, reasonably fast interface that's well-supported in MCUXpresso (and hopefully CodeWarrior 11 as well) that doesn't cause crashes all of the time, or fail to halt a running target? Trace support would be nice. Thanks! Re: Debug interface recommendations for Kinetis and LPC? Hello @zeref , This is a repeat post, please refer to my reply in Debug interface recommendations for Kinetis and LPC?. BR Celeste
記事全体を表示
there has no FreeMaster plug-in module I installed freemaster version 3.2.7, and tried many methods, but there's nothing under the plug-in module。I'm in a hurry. This is a necessary tool for my work. Can someone help me? Thank you very much. 1.install FreeMASTER "as administrator" or run the "c:\NXP\FreeMASTER 3.2\FreeMASTER\register.bat----no effect!!! 2. Re: there has no FreeMaster plug-in module Hello, as far as I know, the latest Windows update does not change the way the COM+ and ActiveX objects work. This shall not be related. The issue you are facing is strange indeed.  Let's pick up one plug-in (CAN communication) and see its registration details. Run the "command prompt" as administrator again, then cd to "c:\NXP\FreeMASTER 3.2\FreeMASTER" and use the regsvr32 command without the /s (silent) option: regsvr32 plugins/can/focpgi.dll The confirmation shall appear: Then in the same Command Prompt console, start the Registry Editor by command: regedit It will take some time (can be few minutes) then the editor will appear. Navigate to  Computer\HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{C10A92C3-7D47-4FDC-94B6-64B8E5C85E01} This entry represents the FreeMASTER-over-CAN plugin (focpgi.dll). It shall be present in the registry. You can check the InprocServer32 entry points to the correct focpgi.dll file.  The "Implemented Categories" ID is the one FreeMASTER uses to locate all plug ins using Windows COM Category API. Just to be sure the plug-in category exist, please check the Computer\HKEY_CLASSES_ROOT\Component Categories\{48A185C0-FFDB-11D3-80E3-00C04F176153} key in the Registry editor, you shall see the "MCB Communication Plugins" text value: Another experiment would be to remove the /s switch from register.bat script and run it. You shall see a registration confirmation box for each DLL.  Please share the respective screenshots or errors. Thank you for your cooperation. Regards, Michal Re: there has no FreeMaster plug-in module If someone can help me solve this problem, I will treat him to coffee. Re: there has no FreeMaster plug-in module I have tried installing your method, but the module still hasn't appeared. Is this related to my Windows system being updated to the latest version? Re: there has no FreeMaster plug-in module Hello,  both the installer and the register.bat use the "regsvr32.exe" system utility, which shall be installed by default in any Windows operating system.  First, make sure the regsvr32 utility exists on your system. Just press Win+R and Run the command "regsvr32". You should see the a help box like this one: If this utility does not work, your computer might have a system restriction applied by your administrator. You will need to get it fixed. If the regsvr32 works normally, let's see what errors the register.bat prints: Open the start menu. Locate the "Command Prompt" application Right-click and select "Run as administrator" (see picture below) In the console, type cd "c:\NXP\FreeMASTER 3.2\FreeMASTER" Run register.bat You should see no errors (like in the picture at the end). If no errors, the plug-ins shall appear in FreeMASTER. If there are any errors, please share it here. Regards, Michal
記事全体を表示
Flash 配置混乱 RT1176 八路 DDR 您好,恩智浦 我在配置Macronix Octal DDR模式的闪存时遇到了一些问题。 我正在基于 NXP FMU-6XRT 参考设计的定制板上使用 PX4 代码栈。我使用的是 MX25UM51245G 而不是 MX25UM51345G,但这两个部件之间的差异很小。 我尝试在 Macronix 八进制 DDR 模式下运行它,并启用 DQS 外部采样,采样频率至少为 100MHz。参考设计运行频率为 200MHz。启动内存配置即使在 166MHz 的频率下也能成功测试所需配置的内存。 我尝试的配置是以下默认配置。第一个程序“g_flash_config”可以成功启动、写入、读取等,但对于软件来说并不理想。"g_flash_fast_config" 失败。 我尝试在“fast_config”的DTR模式下将频率降低到166MHz、133MHz、50MHz和30MHz,但都没有效果。 我尝试使用从启动内存配置生成的 FCB,但由于结构布局存在一些差异,因此很难将其应用于 PX4 代码。 我也尝试过 csHoldTime、csSetupTime 和 dataValidTime 的不同组合,但都没有结果。 我尝试在低频 DTR 八进制中使用 DQS 内部模式,但也没有成功。 接下来我还可以尝试什么? #include /**************************************************************************** * Public Data ****************************************************************************/ locate_data(".boot_hdr.conf") const struct flexspi_nor_config_s g_flash_config = { .memConfig = { #if !defined(CONFIG_BOARD_BOOTLOADER_INVALID_FCB) .tag = FLEXSPI_CFG_BLK_TAG, #else .tag = 0xffffffffL, #endif .version = FLEXSPI_CFG_BLK_VERSION, .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackInternally, .csHoldTime = 1, .csSetupTime = 1, .deviceModeCfgEnable = 1, .deviceModeType = kDeviceConfigCmdType_Generic, .waitTimeCfgCommands = 1, .controllerMiscOption = (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable), .deviceType = kFlexSpiDeviceType_SerialNOR, .sflashPadType = kSerialFlash_1Pad, .serialClkFreq = kFlexSpiSerialClk_100MHz, .sflashA1Size = 64ul * 1024u * 1024u, .dataValidTime = { [0] = {.time_100ps = 0}, }, .busyOffset = 0u, .busyBitPolarity = 0u, .lookupTable = { /* Read Dedicated 3Byte Address Read(0x03), 24bit address */ [0 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x03, RADDR_SDR, FLEXSPI_1PAD, 0x18), //0x871187ee, [0 + 1] = FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_1PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0),//0xb3048b20 }, }, .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .serialNorType = 2, .reserve2[0] = 0x7008200, }; const struct flexspi_nor_config_s g_flash_fast_config = { .memConfig = { .tag = FLEXSPI_CFG_BLK_TAG, .version = FLEXSPI_CFG_BLK_VERSION, .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackInternally, .csHoldTime = 3, .csSetupTime = 3, .deviceModeCfgEnable = 1, .deviceModeType = kDeviceConfigCmdType_Spi2Xpi, .waitTimeCfgCommands = 1, .deviceModeSeq = { .seqNum = 1, .seqId = 6, /* See Lookup table for more details */ .reserved = 0, }, .deviceModeArg = 2, /* Enable OPI DDR mode */ .controllerMiscOption = (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable) | (1u << kFlexSpiMiscOffset_DdrModeEnable), .deviceType = kFlexSpiDeviceType_SerialNOR, .sflashPadType = kSerialFlash_8Pads, .serialClkFreq = kFlexSpiSerialClk_133MHz, .sflashA1Size = 64ul * 1024u * 1024u, .dataValidTime = { [0] = {.time_100ps = 10}, }, .busyOffset = 0u, .busyBitPolarity = 0u, .lookupTable = { /* Read */// EEH+11H+32bit addr+20dummy cycles+ 4Bytes read data /* Macronix manual says 20 dummy cycles @ 200Mhz, FlexSPI peripheral Operand value needs to be 2N in DDR mode hence 0x28 */ [0 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0xEE, CMD_DDR, FLEXSPI_8PAD, 0x11), //0x871187ee, [0 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, DUMMY_DDR, FLEXSPI_8PAD, 0x28),//0xb3288b20, [0 + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_8PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0x00), //0xa704, /* Read status */ [4 * 2 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x05, CMD_DDR, FLEXSPI_8PAD, 0xfa), [4 * 2 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, DUMMY_DDR, FLEXSPI_8PAD, 0x04), [4 * 2 + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_8PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0x00), /* Write enable SPI *///06h [4 * 3 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x06, STOP_EXE, FLEXSPI_1PAD, 0x00),//0x00000406, /* Write enable OPI SPI *///06h [4 * 4 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x06, CMD_DDR, FLEXSPI_8PAD, 0xF9), /* Erase sector */ [4 * 5 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x21, CMD_DDR, FLEXSPI_8PAD, 0xDE), [4 * 5 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, STOP_EXE, FLEXSPI_1PAD, 0x00), /*Write Configuration Register 2 =01, Enable OPI DDR mode*/ //72H +32bit address + CR20x00000000 = 0x01 [4 * 6 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x72, CMD_SDR, FLEXSPI_1PAD, 0x00),//0x04000472, [4 * 6 + 1] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x00, CMD_SDR, FLEXSPI_1PAD, 0x00),//0x04000400, [4 * 6 + 2] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x00, WRITE_SDR, FLEXSPI_1PAD, 0x01),//0x20010400, /*Page program*/ [4 * 9 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x12, CMD_DDR, FLEXSPI_8PAD, 0xED),//0x87ed8712, [4 * 9 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, WRITE_DDR, FLEXSPI_8PAD, 0x04),//0xa3048b20, }, }, .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .serialNorType = 2, .reserve2[0] = 0x7008200, }; Re: Flash configuration confusion RT1176 Octal DDR 你好@SimonHugr , 如果您计划使用 DDR 模式,请记住还必须考虑字节交换配置。本文提供了一些有用的信息,说明在使用 DDR 模式时,MX25UM51245GXDI00 的字节交换为何如此重要。 我强烈建议使用启动内存配置来生成 FCB,安全配置工具v26.6 提供了 MX25UM51245G 的模板,可以作为您配置的良好起点。另外,您可能也知道,这个工具可以帮助您测试配置。 此外,我建议查看这篇社区帖子,特别是从第 15 点开始的步骤。该部分更详细地解释了安全配置工具如何生成启动内存配置,并有助于阐明该工具生成的参数和输出。 最后,您可以使用 flexspi_nor_polling_transfer_cm7 示例来验证生成的 FCB,并在继续进行启动配置之前验证读取和写入操作是否正常工作。 BR 哈比卜 Re: Flash configuration confusion RT1176 Octal DDR 很遗憾,目前还没有结果。我仍然认为这与数据顺序互换有关,我可能漏掉了一些配置字节…… Re: Flash configuration confusion RT1176 Octal DDR 谢谢你,马斯米塞姆 事实上,我注意到例如数据应该互换一下。我将再次检查我的查找表。 Re: Flash configuration confusion RT1176 Octal DDR 参考此帖: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Internal-Boot-from-Flash-memory-not-starting-on-imxRT1176-custom/mp/1830699 我应该通过编辑 misc 选项来交换数据顺序,根据 Zephyr RTOS 的说明(https://github.com/zephyrproject-rtos/hal_nxp/blob/3a36ee1f8b9fc2168fc0bf80377ace8298292993/mcux/mcux-sdk-ng/devices/RT/RT1170/MIMXRT1176/drivers/romapi/fsl_romapi.h#L340-L355 ) 数据交换字节已经插入,但我感觉好像漏掉了什么。 .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .isDataOrderSwapped = true .serialNorType = 2, .reserve2[0] = 0x7008200, Re: Flash configuration confusion RT1176 Octal DDR 嘿@SimonHugr , 我首先要确认的是 MX25UM51245G 和 MX25UM51345G 之间的实际区别。虽然零件编号非常相似,但它们并不是完全相同的设备。根据 Macronix 的数据手册,MX25UM51345G 明确支持 DOPI(双倍传输速率 OPI)字节模式数据序列,而 MX25UM51245G 属于不同的产品型号。这会影响 FlexSPI 控制器使用的命令格式、字节顺序和 LUT 配置。 您还可以对比一下我的配置,我的配置适用于 MX25UM513 和 MX25UW6345G: https://github.com/Masmiseim36/Coremark_iMXRT/blob/master/XiP/flexspi_flash_OSPI_Macronix.c 雷加尔斯
記事全体を表示
i.MX6UL 是否提供任何机制(定时器/寄存器)来延迟或控制篡改后的 ZMK 清零? i.MX6UL是否提供任何硬件机制(寄存器、定时器、计数器或配置)来防止或推迟在有效的外部篡改事件后自动ZMK 清零?如果存在这样的机制,请您指出安全参考手册中描述的相关寄存器、定时器或配置。 平台: i.MX6UL 引导加载程序: U-Boot 2016.03 操作系统: Linux + OP-TEE 参考资料: 《i.MX 6UltraLite 应用处理器网络安全参考手册》,修订版 0,2016 年 4 月 @nxp
記事全体を表示
meter 我想在组件里面找到meter控件,怎么没有啊
記事全体を表示
尚未解決: 燒錄器不能燒錄 TEA2016和 TEA2017 我们的客户有两个批次的I2C烧录器,用于烧录TEA2016和TEA2017.其中旧的烧录器使用没有问题,新交付的烧录器大多数情况下烧录出现问题,导致无法烧录。以下为客户描述:請參考文檔 Re: 尚未解決: 燒錄器不能燒錄 TEA2016和 TEA2017 风火你好 再会! 没有关于这位新程序员的任何投诉记录。 请提供在成功编程周期(旧编程器)和失败编程周期(新编程器)中捕获的 I²C 波形。 如果您能提供这两个产品的零件编号或区分编号,那就非常有帮助了。如果我没记错的话,你用的是 RDK01DB1563,对吧? 祝你今天过得愉快,一切顺利。 Re: 尚未解決: 燒錄器不能燒錄 TEA2016和 TEA2017   新舊盒子測試同一臺產品的波形如下,請幫忙分析為什麼新的盒子測試不了 新的盒子測試FAIL波形如下: 謝謝!
記事全体を表示
S32K328 HSE-B: Recommended Architecture for A/B Swap using Mem_43_INFLS (without Vector FOTA) Hello NXP Team, We are currently in the design and implementation phase of adding OTA A/B swap support to an existing application running on S32K328. This is an initial implementation where we are extending the existing software with OTA capability rather than integrating a complete FOTA framework. Current Environment MCU: S32K328 (8 MB P-Flash) AUTOSAR Stack: Vector MICROSAR RTD: S32K3_RTD_6_0_0_QLP04_D2508_ASR_REL_4_7_REV_0000_20250822 Binary transfer interface: UART Image activation service: HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK HSE A/B swap is enabled via RTD configuration The OTA binary is received over UART by a custom OTA CDD. Our current Vector configuration contains MemAccM only for NvM/Fee (D-Flash). There is no MemAccM configuration for programming the application P-Flash, and we are not using Vector OTA/FOTA. Therefore, we are considering using Mem_43_INFLS from the OTA CDD to erase and program the inactive application flash directly. We would appreciate guidance on the following points. 1. Recommended approach Is Mem_43_INFLS the recommended low-level driver for managing OTA image programming in an A/B swap setup when not using Vector’s OTA/FOTA package? Or should MemAccM be extended to cover P‑Flash programming even for custom OTA implementations? 2. Inactive flash block addressing After enabling HSE A/B swap: Is the inactive application P‑Flash block always accessed via fixed physical addresses defined in the memory layout? Or does HSE provide any logical mapping or abstraction for the passive block? 3. Preconditions for activation What are the mandatory preconditions for successful execution of HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK? For example: Image header format Metadata requirements Alignment constraints Authentication / signature requirements Flash state or attributes 4. Flash controller concurrency Does the C40 flash controller on S32K328 support concurrent operations between D‑Flash (Fee/NvM) and P‑Flash (inactive block)? If not, what is the recommended synchronization strategy: Application-level scheduling RTD driver arbitration MemAccM usage 5. Recommended architecture Is the following architecture aligned with NXP recommendations? UART ↓ Custom OTA CDD ↓ Mem_43_INFLS (erase/write inactive P‑Flash) ↓ Image verification ↓ HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK ↓ System reset ↓ HSE/BAF activates the passive block We are specifically looking for guidance on whether this lightweight approach is appropriate and compliant with HSE requirements. If there are any application notes, RTD examples, or reference implementations for custom OTA with HSE A/B swap, we would greatly appreciate your guidance. Thank you for your support. Best regards, Venkatesh KV #s32k328 Re: S32K328 HSE-B: Recommended Architecture for A/B Swap using Mem_43_INFLS (without Vector FOTA) Hi @venkatesh-kv  1. A custom OTA implementation can use Mem_43_INFLS directly to erase and program the passive partition. Whether MemAccM should be extended is an architectural decision and mainly depends on whether a common flash access and arbitration layer is desired within the application. 2. The passive application image is normally programmed using its physical P-Flash address range. HSE does not provide a dedicated logical addressing abstraction for the passive block. The application/bootloader is responsible for writing the new image to the inactive partition, after which HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK can be used to make that partition active on the next reset. 3. If secure boot is used, the signatures should be updated accordingly (depending on secure boot mode and other settings), so new application can be successfully authenticated and executed after next reset. Older version of HSE firmware required super user rights to execute service HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK. This has been downgraded to normal user rights in firmware versions 0.2.55.0 and newer. 4. Only one flash operation can run at a time. The implementation of flash access arbitration is left to the application architecture. In general, it is recommended to avoid concurrent flash operations from multiple software components and ensure that flash accesses are properly synchronized to prevent conflicts between OTA programming activities and any other flash users in the system. There’s no synchronization support between Fee/NvM and Mem_43_INFLS. 5. Yes, that’s correct flow. If fact, the only requirement is that there should be valid application in passive partition before the swap and signatures (or secure boot configuration in general) should be updated accordingly. We have basic OTA demo “SW32K3_OTADEMO_0.8.0_D2203” for S32K344 - it shows how to write new application to passive block and then request AB SWAP (this is a feature of HSE firmware). RTD 1.0.0 is used in this demo. Next more advanced demo is “S32K396 OTA Demo version 0.4.0” which shows how to update firmware via ethernet. This one uses RTD 3.0.0 P07. Both demos can be found in S32K3 Reference Software: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-REFSW-D Click on the link and then search for “Automotive SW - S32K3 - OTA Demo”. These are the only versions we have, it’s only reference software, it’s up to users to migrate it to other derivatives or to newer RTD packages if needed. And we have following OTA trainings: https://www.nxp.com/design/design-center/training/TIP-CONNECTS2021-AUT428 https://www.nxp.com/design/design-center/training/TIP-NXP-AUT-T3955A Both can be found in Training section on S32K3 page: https://www.nxp.com/products/S32K3 Also you can take a look at “S32K3XX HSE and OTA Advance Training [TR744101]” which can be downloaded from Documentation -> Secure files: https://www.nxp.com/products/S32K3 Regards, Lukas
記事全体を表示
MEXの設定はWindowsやLinuxとは異なるコードを生成します 同じXEMファイルでも、システムによって生成されるコードが異なる。 Windowsファイルはコード正常生成ですが、Linuxシステムは異常な生成をします 前提条件:RTDおよびSDKバージョンインストールと同じです Re: mex config generate code different from windows and linux こんにちは、 @Littenさん 現在、RTDはWindowsプラットフォームでのみサポートされており、Linuxでは公式にはサポートされていません。たとえLinuxにインストールできても、開発や統合の過程で追加の問題に直面する可能性があります。 主な理由の一つは、Linuxが大文字大文字を区別するオペレーティングシステムであることです。この状況の詳細は スレッド「S32DSのLpi2c_Ip_MasterConfigとLpi2c_Ip_SlaveState構造体生成の問題」で議論されています。S32K344。 BR、VaneB
記事全体を表示
关于“智能能源”太阳能的观点 编辑:谢谢大家。感谢您的建议!我会让他们滚蛋,反正我还没准备好做任何决定。 今天有几个来自 Smart Energy 的推销员上门推销太阳能电池板。我对太阳能很感兴趣,但没有足够的资金进行前期投资,他们提到有一个政府资助的计划,无需预付任何费用。 我自然非常怀疑。很想听听和他们打过交道的人的意见。
記事全体を表示
KinetisとLPC用のデバッグインターフェースのおすすめはありますか? 私は主にKinetisシリーズで開発をしており、近い将来LPCのパーツもいくつか手がけるかもしれません。P&E Microのデバッグインターフェースが引き出しいっぱいにあり、よく使っているCyclone ACPも含まれています。 時々、600ドルのCycloneから20ドルのLPC-Link2に切り替えることがあります。なぜなら、CycloneはMCUXpressoに多くの奇妙な問題があるからです。正直なところ、LPC-Link2は私の必要な機能のほとんどを満たしてくれるのですが、少し動作が遅いのが難点です。 Seggerインターフェースを検討しるべきでしょうか?MCUXpresso(そしてできればCodeWarrior 11でも)で十分にサポートされ、クラッシュや走行中のターゲットを止められない信頼性が高く、そこそこ高速なインターフェースを誰かおすすめできませんか?トレースサポートがあれば助かります。 よろしくお願いします! Re: Debug interface recommendations for Kinetis and LPC? こんにちは、 @zeref さん。 これは繰り返し投稿です。KinetisとLPCのデバッグインターフェース推奨に関する私の返信を参照してください。 BR セレステ
記事全体を表示
「スマートエネルギー」太陽光発電に関する意見 追記:皆さん、ありがとうございます。ご意見ありがとうございます!彼らには「とっとと失せろ」と言ってやるよ。どうせ私は何も約束する準備ができていないんだから。 今日はスマートエナジーという会社の訪問販売員が何人か来て、太陽光パネルについて話したがっていました。太陽光発電に興味はあるのですが、初期投資をする資金がありません。そこで、初期費用ゼロで利用できる政府資金による制度があると聞きました。 もちろん、私は非常に懐疑的です。彼らと取引したことのある方からのご意見をぜひお聞かせください。
記事全体を表示
请求为 MCXW72 Matter 锁示例提供受控访问的 Aliro 中间件 尊敬的NXP技术支持: 我是鲁汶大学/COSIC应用密码学专业的博士后研究员。我正在进行一项关于 CSA Aliro 1.0 Reader SDK 的学术实施安全性和互操作性研究。 我下载了: MCUXpresso SDK 26.06.00 for MCX-W72-EVK; 相应的 MCUXpresso 配置工具包; mcuxsdk-examples-matter-release-v1.4.2 ; NXP Matter lock-app-aliro 示例。 Matter 示例需要以下受控中间件: > /middleware/aliro/aliro_sdk.cmake 但是,Aliro 中间件并未包含在 MCXW72 SDK Builder 包或 Matter 示例存档中。 能否提供与 MCUXpresso SDK 26.06.00 和 Matter Aliro 锁示例兼容的完整 Aliro 中间件包? 该材料将仅用于经授权的学术分析,并将根据任何适用的许可或保密协议进行处理。 亲切的问候, 萨永·杜塔古普塔 博士后研究员 鲁汶大学 COSIC   安全(Edgelock | 安全启动 | OTP) Re: Request for controlled-access Aliro middleware for MCXW72 Matter lock example 你好@Sayon 希望你一切都好。 非常抱歉,Aliro 解决方案尚未发布,而且很遗憾,中间件也不可用。 对于给您带来的不便,我深表歉意。 问候, 爱德华多。
記事全体を表示
未解決: プログラマーは TEA2016 および TEA2017 を書き込むことができません。 お客様はTEA2016およびTEA2017のプログラミング用に、2つのバッチのI2Cプログラマを受け取りました。以前のプログラマは問題なく動作しましたが、新しく納品されたプログラマはプログラミング中にほとんどの場合問題が発生し、プログラミングが不可能でした。お客様からの説明は以下のとおりです。ドキュメントを参照してください。 Re: 尚未解決: 燒錄器不能燒錄 TEA2016和 TEA2017 こんにちは風火 良い一日! 新しいプログラマーに関する苦情の記録は一切ありません。 プログラミングが成功したサイクル(旧プログラマー使用時)と失敗したサイクル(新プログラマー使用時)で取得したI²C波形を提供してください。 また、これら2つの製品の部品番号や識別番号も教えていただけるととても助かります。私の記憶が正しければ、あなたはRDK01DB1563を使用していますよね? 良い一日をお過ごしください。幸運を祈ります。 Re: 尚未解決: 燒錄器不能燒錄 TEA2016和 TEA2017   下記は、同じ製品をテストした旧型および新型ボックスの波形です。新型ボックスがテストできない理由を分析するお手伝いをお願いします。 新しいボックステストのFAIL波形は以下のとおりです。 ありがとう!
記事全体を表示
Does i.MX6UL provide any mechanism (timer/register) to delay or control ZMK zeroization after tamper Does the i.MX6UL provide any hardware mechanism (register, timer, counter, or configuration) to prevent or postpone automatic ZMK zeroization after a valid external tamper event? If such a mechanism exists, could you please point me to the relevant register(s), timer, or configuration described in the Security Reference Manual? Platform: i.MX6UL  Bootloader: U-Boot 2016.03 OS: Linux + OP-TEE Reference used: Security Reference Manual for the i.MX 6UltraLite Applications Processor, Rev. 0, 04/2016 @nxp 
記事全体を表示
i.MX8M Plus DDR4-3200 EVK 设计文件和 DDR4 布局指南 你好 , 我们希望采用 i.MX8M Plus+DDR4 设计我们的产品。 NXP能否向我们提供i.MX8M Plus+DDR4-3200的设计文件(sch和.brd)以及DDR4布局指南文档? Re: i.MX8M Plus DDR4-3200 EVK Design file and DDR4 layout guide 我正在尝试同样的方法。 供参考。基于 i.MX 8M Plus 的 AI 机器人平台 “ I-MX8MPLUS-ALROBOT-FORM”是DDR4参考设计。 您需要联系恩智浦半导体才能获得这些资源。 Re: i.MX8M Plus DDR4-3200 EVK Design file and DDR4 layout guide @seungyeon我已经通过邮件和附件发送给你了,请查收。
記事全体を表示
Request for controlled-access Aliro middleware for MCXW72 Matter lock example Dear NXP Support, I am a postdoctoral researcher in applied cryptography at KU Leuven/COSIC. I am conducting an academic implementation-security and interoperability study of CSA Aliro 1.0 Reader SDKs. I downloaded: MCUXpresso SDK 26.06.00 for MCX-W72-EVK; the corresponding MCUXpresso Config Tools package; mcuxsdk-examples-matter-release-v1.4.2; the NXP Matter lock-app-aliro example. The Matter example expects the following controlled middleware: >  /middleware/aliro/aliro_sdk.cmake However, the Aliro middleware is not present in the MCXW72 SDK Builder package or in the Matter example archive. Could you please provide access to the complete Aliro middleware package compatible with MCUXpresso SDK 26.06.00 and the Matter Aliro lock example? The material will be used solely for authorised academic analysis and will be handled according to any applicable licence or NDA. Kind regards, Sayon Duttagupta Postdoctoral Researcher COSIC, KU Leuven   Security(Edgelock | secure boot | OTP) Re: Request for controlled-access Aliro middleware for MCXW72 Matter lock example Hello @Sayon Hope you are doing well. My apologies, Aliro solution has not been released and, unfortunately, middleware is not available. I truly apologize for the inconvenience. Regards, Eduardo.
記事全体を表示
FreeMasterプラグインモジュールはありません 私はフリーマスターバージョン3.2.7をインストールしました。いろいろな方法を試しましたが、プラグインモジュールの下には何もありません。急いでるんだ。これは私の仕事に欠かせない道具です。どなたか助けていただけますか?どうもありがとうございます。 1. FreeMASTERを「管理者として」インストールするか、「c:\NXP\FreeMASTER 3.2\FreeMASTER\register.bat」を実行してください。効果はありません!!! 2. Re: there has no FreeMaster plug-in module こんにちは、 私の知る限り、最新のWindowsアップデートではCOM+およびActiveXオブジェクトの動作方法は変更されません。これは関係ない。あなたが直面している問題は、実に奇妙です。 一つのプラグイン(CAN通信)を選んで登録情報を確認しましょう。 再度「コマンドプロンプト」を管理者として実行し、「c:\NXP\FreeMASTER 3.2\FreeMASTER」に移動して、/s (サイレント) オプションなしで regsvr32 コマンドを実行します。 regsvr32 プラグイン/CAN/focpgi.dll 確認メッセージは以下に表示されます。 次に、同じコマンドプロンプトコンソールで、以下のコマンドを使用してレジストリエディターを起動します。 レジストリエディタ 数分かかることもありますが、その後エディターが表示されます。ナビゲート先 Computer\HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{C10A92C3-7D47-4FDC-94B6-64B8E5C85E01} この項目はFreeMASTER-over-CANプラグイン(focpgi.dll)を表しています。それは登記簿に記載されなければならない。 InprocServer32のエントリポイントを正しいfocpgi.dllファイルに確認できます。 「実装済みカテゴリ」IDは、FreeMASTERがWindows COMカテゴリAPIを使用してすべてのプラグインを特定するために使用するIDです。プラグインカテゴリが存在することを確認するために、レジストリエディタでComputer\HKEY_CLASSES_ROOT\Component Categories\{48A185C0-FFDB-11D3-80E3-00C04F176153}キーを確認してください。「MCB Communication Plugins」というテキスト値が表示されます。 もう一つの実験は、スクリプトから/sスイッチを外して実行register.batことです。各DLLごとに登録確認ボックスが表示されます。 該当するスクリーンショットまたはエラーメッセージを共有してください。ご協力ありがとうございました。 よろしくお願いいたします。 ミハル Re: there has no FreeMaster plug-in module もし誰かがこの問題を解決する手助けをしてくれたら、コーヒーをご馳走します。 Re: there has no FreeMaster plug-in module あなたの方法を試しましたが、モジュールはまだ表示されていません。 これは、Windowsシステムが最新バージョンにアップデートされたことと関係がありますか? Re: there has no FreeMaster plug-in module こんにちは、 インストーラーとregister.batの両方が「 regsvr32.exe 」を使用します。システムユーティリティであり、すべてのWindowsオペレーティングシステムにデフォルトでインストールされる。 まず、システムにregsvr32ユーティリティが存在することを確認してください。Win+Rキーを押して、「regsvr32」コマンドを実行してください。 次のようなヘルプボックスが表示されるはずです。 このユーティリティが動作しない場合は、お使いのコンピュータに管理者によるシステム制限が適用されている可能性があります。修理してもらう必要があります。 regsvr32が正常に動作している場合、register.batが出力するエラーを確認してみましょう。 スタートメニューを開きます。 「コマンドプロンプト」アプリケーションを探してください 右クリックして「管理者として実行」を選択してください(下の画像を参照)。 コンソールで「cd "c:\NXP\FreeMASTER 3.2\FreeMASTER"」と入力します。 register.batを実行します。 エラーは表示されないはずです(最後の画像のように)。 エラーがなければ、プラグインはFreeMASTERに表示されます。誤りがあれば、こちらでお知らせください。 よろしくお願いいたします。 ミハル
記事全体を表示
メートル 部品の中からメーター制御装置を探しているのですが、見つかりません。
記事全体を表示
Flash configuration confusion RT1176 Octal DDR Hello NXP I got some issues configuring the flash memory for Macronix Octal DDR mode. I am using the PX4 code stack on a custom board based on the NXP FMU-6XRT reference design. I am using the MX25UM51245G instead of the MX25UM51345G, but the part differences are minimal. I am trying to run it in Macronix Octal DDR mode with DQS external sampling at atleast 100MHz. Reference design is running it at 200MHz. The Boot Memory Configuration succesfully tests the memory with the desired configuration even at 166MHz. The configuration I have tried is the following default config. The first one, "g_flash_config" succesfully boots, writes, read, etc, but is not ideal for the software. "g_flash_fast_config" fails. I have tried reducing the frequency to 166MHZ, 133MHz, 50 MHz, and 30MHz without results in the DTR mode in the "fast_config". I have tried using the FCB generated from the Boot Memory Configuration, but there is some struct layout differences which have made it hard to apply to the PX4 code.  I am tried different combinations of csHoldTime, csSetupTime and dataValidTime without results aswell. I tried DQS interal in low freq DTR Octal, but it did not work either. What could I try next? #include /**************************************************************************** * Public Data ****************************************************************************/ locate_data(".boot_hdr.conf") const struct flexspi_nor_config_s g_flash_config = { .memConfig = { #if !defined(CONFIG_BOARD_BOOTLOADER_INVALID_FCB) .tag = FLEXSPI_CFG_BLK_TAG, #else .tag = 0xffffffffL, #endif .version = FLEXSPI_CFG_BLK_VERSION, .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackInternally, .csHoldTime = 1, .csSetupTime = 1, .deviceModeCfgEnable = 1, .deviceModeType = kDeviceConfigCmdType_Generic, .waitTimeCfgCommands = 1, .controllerMiscOption = (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable), .deviceType = kFlexSpiDeviceType_SerialNOR, .sflashPadType = kSerialFlash_1Pad, .serialClkFreq = kFlexSpiSerialClk_100MHz, .sflashA1Size = 64ul * 1024u * 1024u, .dataValidTime = { [0] = {.time_100ps = 0}, }, .busyOffset = 0u, .busyBitPolarity = 0u, .lookupTable = { /* Read Dedicated 3Byte Address Read(0x03), 24bit address */ [0 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x03, RADDR_SDR, FLEXSPI_1PAD, 0x18), //0x871187ee, [0 + 1] = FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_1PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0),//0xb3048b20 }, }, .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .serialNorType = 2, .reserve2[0] = 0x7008200, }; const struct flexspi_nor_config_s g_flash_fast_config = { .memConfig = { .tag = FLEXSPI_CFG_BLK_TAG, .version = FLEXSPI_CFG_BLK_VERSION, .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackInternally, .csHoldTime = 3, .csSetupTime = 3, .deviceModeCfgEnable = 1, .deviceModeType = kDeviceConfigCmdType_Spi2Xpi, .waitTimeCfgCommands = 1, .deviceModeSeq = { .seqNum = 1, .seqId = 6, /* See Lookup table for more details */ .reserved = 0, }, .deviceModeArg = 2, /* Enable OPI DDR mode */ .controllerMiscOption = (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable) | (1u << kFlexSpiMiscOffset_DdrModeEnable), .deviceType = kFlexSpiDeviceType_SerialNOR, .sflashPadType = kSerialFlash_8Pads, .serialClkFreq = kFlexSpiSerialClk_133MHz, .sflashA1Size = 64ul * 1024u * 1024u, .dataValidTime = { [0] = {.time_100ps = 10}, }, .busyOffset = 0u, .busyBitPolarity = 0u, .lookupTable = { /* Read */// EEH+11H+32bit addr+20dummy cycles+ 4Bytes read data /* Macronix manual says 20 dummy cycles @ 200Mhz, FlexSPI peripheral Operand value needs to be 2N in DDR mode hence 0x28 */ [0 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0xEE, CMD_DDR, FLEXSPI_8PAD, 0x11), //0x871187ee, [0 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, DUMMY_DDR, FLEXSPI_8PAD, 0x28),//0xb3288b20, [0 + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_8PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0x00), //0xa704, /* Read status */ [4 * 2 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x05, CMD_DDR, FLEXSPI_8PAD, 0xfa), [4 * 2 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, DUMMY_DDR, FLEXSPI_8PAD, 0x04), [4 * 2 + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_8PAD, 0x04, STOP_EXE, FLEXSPI_1PAD, 0x00), /* Write enable SPI *///06h [4 * 3 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x06, STOP_EXE, FLEXSPI_1PAD, 0x00),//0x00000406, /* Write enable OPI SPI *///06h [4 * 4 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x06, CMD_DDR, FLEXSPI_8PAD, 0xF9), /* Erase sector */ [4 * 5 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x21, CMD_DDR, FLEXSPI_8PAD, 0xDE), [4 * 5 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, STOP_EXE, FLEXSPI_1PAD, 0x00), /*Write Configuration Register 2 =01, Enable OPI DDR mode*/ //72H +32bit address + CR20x00000000 = 0x01 [4 * 6 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x72, CMD_SDR, FLEXSPI_1PAD, 0x00),//0x04000472, [4 * 6 + 1] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x00, CMD_SDR, FLEXSPI_1PAD, 0x00),//0x04000400, [4 * 6 + 2] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x00, WRITE_SDR, FLEXSPI_1PAD, 0x01),//0x20010400, /*Page program*/ [4 * 9 + 0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0x12, CMD_DDR, FLEXSPI_8PAD, 0xED),//0x87ed8712, [4 * 9 + 1] = FLEXSPI_LUT_SEQ(RADDR_DDR, FLEXSPI_8PAD, 0x20, WRITE_DDR, FLEXSPI_8PAD, 0x04),//0xa3048b20, }, }, .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .serialNorType = 2, .reserve2[0] = 0x7008200, }; Re: Flash configuration confusion RT1176 Octal DDR Hello @SimonHugr, If you plan to use DDR mode, please keep in mind that the byte swapping configuration must also be considered. this post provides useful information about why important take in mind the byte swapping on the MX25UM51245GXDI00 when you are using DDR mode.  I highly recommend use the Boot Memory Configuration to generate the FCB, the Secure provisioning tool v26.6 offers a template of the MX25UM51245G, which can serve as a good starting point for your configuration. Also, as you may know, this tool allows you to test your configurations. Additionally, I recommend see this community post, particularly the steps starting from point 15. That section provides a more detailed explanation of how the Secure Provisioning Tool generates the boot memory configuration and may help clarify the parameters and output produced by the tool. Finally, you can use the flexspi_nor_polling_transfer_cm7 example to validate the generated FCB and verify that read and write operations are functioning correctly before proceeding with the boot configuration. BR Habib Re: Flash configuration confusion RT1176 Octal DDR No results yet sadly, I still think it has something to do with some data order swap is done and I am missing some configuration byte somewhere... Re: Flash configuration confusion RT1176 Octal DDR Thank you Masmiseim Indeed, I noticed that the data should be swapped for example. I will go through my LUT once more. Re: Flash configuration confusion RT1176 Octal DDR Refering to this thread: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Internal-Boot-from-Flash-memory-not-starting-on-imxRT1176-custom/m-p/1830699 I should swap the data order by editing the misc option and according to zephyr RTOS https://github.com/zephyrproject-rtos/hal_nxp/blob/3a36ee1f8b9fc2168fc0bf80377ace8298292993/mcux/mcux-sdk-ng/devices/RT/RT1170/MIMXRT1176/drivers/romapi/fsl_romapi.h#L340-L355 the dataswap byte goes in, but I think I am missing something. .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, .ipcmdSerialClkFreq = 1, .isDataOrderSwapped = true .serialNorType = 2, .reserve2[0] = 0x7008200, Re: Flash configuration confusion RT1176 Octal DDR Hey @SimonHugr, One thing I would verify first is the actual difference between the MX25UM51245G and MX25UM51345G. Although the part numbers are very similar, they are not identical devices. According to the Macronix datasheets, the MX25UM51345G explicitly supports DOPI (Double Transfer Rate OPI) Byte Mode data sequence, while the MX25UM51245G belongs to a different product variant. This can affect the command format, byte ordering and LUT configuration used by the FlexSPI controller. You can also compare my configuration which works with MX25UM513 and MX25UW6345G: https://github.com/Masmiseim36/Coremark_iMXRT/blob/master/XiP/flexspi_flash_OSPI_Macronix.c Regars
記事全体を表示