Hi,
I have a 8MP CPU with 4GB DDR. When the system is ready to enter WinPE, the system will crash.
I use windbg to observe the problem. I see "Missing Image Name". I guess the problem is related to
DDR size?
Since i have an sd card with a windows 10 IoT image, I flashed the EVK bootloader in the sd card.
I can boot into WinPE normally. I only modify the DDR parameter in the same sdcard. The sd card is put
in my system, but the system will crash on boot wiepe screen.
Do you have any ideas?
Hi @hankwang,
can you please try to set the size of Bank1 to 0 as it was in W1.3.0?
giMX8TokenSpaceGuid.PcdBank1MemorySize|0x0000000000000000
Note:
While using signed firmware, you need to have written "RPMB write key" in eMMC, otherwise boot will fail. So if you do not need to use TPM, please use unsigned firmware.
Best Regards, Jakub
hi, yes. I have set giMX8TokenSpaceGuid.PcdBank1MemorySize to 0. And I'm not using signed firmware, I'm only using unsigned firmware. I checked this BSOD cause is memory issue.
Is there anything else for memory setting that needs to be modified?
Hi @hankwang,
what board are you please using for these test, EVK or custom board?
Do you have in your project correct DDR timing file for your board? For example lpddr4_timing.c. But if firmware from 1.3.0 is working, this should not be an issue, both 1.3.0 and 1.4.1 use the same timing files for EVK.
I have tested this patch on i.MX8MP EVK board with 4GB DDR chip and was able to install with Win PE and enter Windows without an issue.
Best Regards, Jakub
Hi @hankwang,
I have borrowed EVK with DDR slot. We have one for testing various DDR chips. I have in it this 32Gb one https://tw.micron.com/products/dram/lpdram/part-catalog/mt53e1g32d2fw-046-aut.
I have also information, that the firmware_uuu_8MP-EVK-4GB.bin works with BSP 1.4.1 on another custom board with only 4GB DDR.
I will try to ask at our R&D if they are aware of some other differences between 1.3.0 and 1.4.1.
Best Regards, Jakub
Hi @hankwang,
I discussed this issue with our DDR expert. He would like to check datasheet of your DDR chip, because of variety of possible DDR internal organization. Can you please provide this datasheet?
Best Regards, Jakub
hi, This is our DDR name. But I still search the datasheet. Perhaps you can download directly from the Micron website.
https://tw.micron.com/products/dram/lpdram/part-catalog/mt53e1g32d2fw-046-wt?login
DDR Name: MT53E1G32D2FW-046 WT
Also, I can start Windows10 IoT for W1.3.0.
Hi @hankwang,
Do you have MT53E1G32D2FW-046 WT:A or MT53E1G32D2FW-046 WT:B?
Because A has one chip select and B has two chip selects.
You are using firmware from W1.3.0 as it is in downloaded zip from NXP pages?
Best Regards, Jakub
Sorry that DDR is MT53E1G32D2FW-046 WT:A (one chip).
Yes, W1.3.0 download from NXP website. I just modified backlight control pin in the mu_platform_nxp folder.
and DDR parameters(lpddr4_timing.c & imx8mp_evk.h) in the u-boot-imx folder.
And I set LVDS0 to display in galcore.inf.
; HKR,,Display0Interface,%REG_DWORD%,%DISP_INTERFACE_HDMI%
HKR,,Display0Interface,%REG_DWORD%,%DISP_INTERFACE_LVDS0%
Hi @hankwang,
here is a timing file for your DDR chip. But it is prepared for our EVK and thus the mapping of data bits could be different then on your board. You need to change this structure, if you have different mapping
/* PHY Initialize Configuration */
struct dram_cfg_param ddr_ddrphy_cfg[] = {
...
But if your timing file is tested for example with linux and DDR works well, we have to look elsewhere.
Best Regards, Jakub
Hi , I am using the new DDR parameters. But the bootloader will stop while ddr is training.
Also, may I know what size is required for eMMC for W1.4.1 Windows 10 IoT install?
Because my eMMC is 8G. After I installed W1.3.1 Windows 10 IoT, the remianing eMMC is 584MB.
Is my eMMC too small to install W1.4.1 Windows 10 IoT?
Hi @hankwang,
format quick fs=ntfs label="Windows" COMPRESS
Best Regards, Jakub
Thank you for the information
My CPU part number is MIMX8ML8CVNKZAB.
Since we have new board with 6G DDR and 32G eMMC in the future. we will not use 4G DDR and 8G eMMC to install Windows 10 IoT. But we have 8MP with 2G DDR and 16G eMMC needs to install windows 10 iot. Bootloader cannot detect 2GB, always shows 3GB. I have create a new ticket https://community.nxp.com/t5/i-MX-Processors/8MP-CPU-with-2D-DDR-bootloader-display-error-for-Window....
Now we just test w1.3.0 in the 8MP with 4G DDR and 8G eMMC.
But I will try 1.3.0 firmware and remove the PWM driver in the Windows to test if the system does not have a bsod.
Hi @hankwang,
can you please sent us boot log from console , your timing file, schematic ( DDR section ) a DDR datasheet?
I would like to get back to what works on your board. You have written:
Yes, W1.3.0 download from NXP website. I just modified backlight control pin in the mu_platform_nxp folder.
and DDR parameters(lpddr4_timing.c & imx8mp_evk.h) in the u-boot-imx folder. + inf file changes.
I expect, that now you have in eMMC installed W1.3.0. Can you please try to do the same changes you have did to 1.3.0 to 1.4.1 firmware? Plus set zero to bank1 size, like it is in 1.3.0.
giMX8TokenSpaceGuid.PcdBank1MemorySize|0x000000000000000
And try to boot the board with this firmware?
Second thing what can be tried is to use firmware of 1.3.0 together with 1.4.1 windows installation on SD card, to see if the installation will finished correctly.
About the eMMC size if 8GB is enough, I would say that without optimization of install image it is not enough. Microsoft offers some help to reduce its size here https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/compact-os?view=windows-10#si.... There is stated that 8GB is not enough for usage even if you are able to install it.
https://learn.microsoft.com/en-us/windows/iot/iot-enterprise/optimize/reduce-disk-footprint
Best Regards, Jakub
Hi @hankwang,
BSP from version 1.4.0 uses whole 6GB RAM of i.MX8MP EVK for Windows 10 IoT:
• 3/2023: W1.4.0
– Supported boards:
...
– 8MPLUSLPD4-EVK Evaluation Kit
...
– New features:
– General
– 8MPLUSLPD4-EVK: The size of SDRAM was increased to 6 GB. Note: This change requires
windows10.0-kb5019275-arm64_c6c2abc31137d43e762304bd1542ba413d2b8b9e.msu to be
installed. The patch is applied in installation script (make-winpe-enterprise.cmd) by default.
Uboot still uses only first 3GB of RAM.
Limiting RAM size to 3GB before version 1.4.0 was done by setting PcdBank1MemorySize to 0x0.
You can either try to limit it to 3GB as it was before by setting this:
/mu_platform_nxp/NXP/MX8M_PLUS_EVK/MX8M_PLUS_EVK.dsc:
giMX8TokenSpaceGuid.PcdBank1MemorySize|0x000000000000000
(alternatively you can try to use firmware from W1.3.0, but it is without warranty, when use together with Windows drivers from different version)
or you can try to set it to 1GB to allow Windows to used all 4GB, not only 3GB
giMX8TokenSpaceGuid.PcdBank1MemorySize|0x0000000040000000
You can find firmware for 8MPLUSLPD4-EVK Evaluation Kit for 4GB RAM and patch file for firmware of BSP 1.4.1. Firmware is signed with test key.
Best Regards, Jakub
Hi @aber,
if you can install and run Windows on your board with firmware_uuu_8MP-EVK-4GB.bin from one of my previous post, than is seems, that your firmware is failing due to not correct DDR timing file. Because you have changed PcdBank1MemorySize correctly. Changes in SmbiosPlatformDxe.c file are "cosmetic" in sense that these values are only shown in Task Manager, as far as I know.
Can you please try to run Memtest86+ on your board with your firmware if it shows any error? You only need to copy EFI folder from Memtest86+ image to your installation SD card and boot from it. 7-Zip File Manager can open Memtest86+ image file for example.
I can try to find timing file I have used for building year ago, but it was prepared for NXP EVK and thus not calibrated for your board.
Best Regards, Jakub
Hi @aber,
your configuration related to your datasheet looks correct. But please check the BoardDataBusConfig section, which is the same with the NXP EVK and it is only possible to check it against schematic. If our design uses different data bus mapping, BoardDataBusConfig needs to be changed accordingly.
Best Regards, Jakub