Cannot boot into WinPe for Windows 10 IoT

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

Cannot boot into WinPe for Windows 10 IoT

3,796 Views
hankwang
Contributor IV

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?

Missing Image Name.jpg

0 Kudos
21 Replies

3,673 Views
jakub_zigacek
NXP Employee
NXP Employee

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

0 Kudos

3,663 Views
hankwang
Contributor IV

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?

0 Kudos

3,641 Views
jakub_zigacek
NXP Employee
NXP Employee

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

0 Kudos

3,596 Views
hankwang
Contributor IV

As far as I know, the 8MP EVK board  only has 6GB DDR. Do you use 6G DDR to simulate 4G DDR?

I have a custom 8MP CPU with 4G DDR. Maybe you can find a real 4G DDR to test.

0 Kudos

3,578 Views
jakub_zigacek
NXP Employee
NXP Employee

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.

jakub_zigacek_0-1693203838804.jpeg

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

0 Kudos

3,575 Views
hankwang
Contributor IV

@jakub_zigacek  Thank you for your reply. Please notify me if there are any updates.

 

0 Kudos

3,531 Views
jakub_zigacek
NXP Employee
NXP Employee

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

0 Kudos

3,528 Views
hankwang
Contributor IV

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.

0 Kudos

3,522 Views
jakub_zigacek
NXP Employee
NXP Employee

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

0 Kudos

3,517 Views
hankwang
Contributor IV

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%

0 Kudos

3,478 Views
jakub_zigacek
NXP Employee
NXP Employee

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

0 Kudos

3,335 Views
hankwang
Contributor IV

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?

0 Kudos

3,119 Views
jakub_zigacek
NXP Employee
NXP Employee

Hi @hankwang,

  1. can I please ask, what is your partnumber of i.MX8M Plus? There are the variants without the VPU and with only 2x A53 cores, on them the BSP will not work without removing VPU driver or setting correct CPU number.jakub_zigacek_0-1693987859998.png
  2. I was able the MemTest86 to get running on the EVK. With help e.g. the 7-zip File Manager you can extract the content of memtest86-usb.img\0.MemTest86.fat\EFI\BOOT\ folder into EFI\BOOT\ folder on your SD card. It will then boot Memtest86 instead of our EFI.
    jakub_zigacek_1-1693988232255.png
  3. Regarding mixing firmware and Windows drivers version as I suggested, there is a information from R&D that PWM driver from BSP-1.4.1 fails with BSOD when older firmware is used. So for testing 1.4.1 BSP installation with 1.3.0 firmware, one have to remove PWM driver from IoTEntOnNXP\drivers\PWM\ folder to create SD card Windows installation without PWM driver.
  4. 8GB eMMC: There is a "COMPRESS" attribute for partition creating with diskpart. It can be added to script diskpart_win_iot_enterprise.txt on SD card for Windows partition to help with installation on 8GB storage. But I did not test it by myself yet.
    format quick fs=ntfs label="Windows" COMPRESS

Best Regards, Jakub

 

0 Kudos

3,096 Views
hankwang
Contributor IV

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.

0 Kudos

3,305 Views
jakub_zigacek
NXP Employee
NXP Employee

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

From document linked here:

jakub_zigacek_0-1693550131338.png

jakub_zigacek_1-1693550432980.png

Best Regards, Jakub

0 Kudos

3,717 Views
jakub_zigacek
NXP Employee
NXP Employee

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

0 Kudos

3,679 Views
hankwang
Contributor IV

Hi ,

      Thank you for your reply.  I add your patch in UEFI code. When the system is ready to enter WinPE, the system displays a  blue screen.

       Do you have any idea?

    Also, I tried to use version W1.3.0. The system can enter WinPE and complete Windows 10 IoT Image flash to eMMC.

    

0 Kudos

3,562 Views
anthonychen-msft
Contributor I

@hankwang 

Can you make sure you are also applying windows10.0-kb5019275-arm64_c6c2abc31137d43e762304bd1542ba413d2b8b9e.msu to the WinPE image as well?

This is our guide for how to update the WinPE image. You will need to install all of the NXP drivers to the WinPE image, as well as update it with the .msu referenced above. https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-mount-and-customize?vie... 

0 Kudos

3,348 Views
hankwang
Contributor IV

Hi I used the new build tool you provided but I still have bsod issue.

In addition, we can know where to download the dolphin test tool for ARM. Just like an attachment file

0 Kudos

3,539 Views
hankwang
Contributor IV

Hi , Yes, I installed this patch in Win10 Image. You can refer to the attachment.

0 Kudos