OpenNuvoton / NUC970_U-Boot_v2016.11

U-Boot v2016.11 for NUC970, N9H30, and NUC980
28 stars 45 forks source link

Cant get past "Boot ffffff" on NuMaker Tomato #28

Closed bbijelic closed 3 years ago

bbijelic commented 3 years ago

Hello,

I have NuMaker Tomato Board v1.1 ( 2MB SPI NOR Flash ). My plan is to flash U-Boot onto SPI chip, and then to use TFTP to load Kernel image to RAM and boot Linux.

Here are my steps to compile U-Boot:

$ make nuc970_tomato_config
$ make

And configuration finishes with:

#
# configuration written to .config
#

Compile finishes without errors and u-boot.bin image is created.

On-board Switch is set to:

WDT: 0 (OFF)
BOOT FM: 0 (USB)

Compiled .bin image is flashed via NuWritter CMD app.

./nuwriter -m spi -d NUC976DK62Y.ini -t uboot -a 0xE00000 -w images/u-boot.bin -v
Write UBOOT ... Passed                                                                                                         
Verify UBOOT... Passed

On-board switch change to:

WDT: 0 (OFF)
BOOT FM: 1 (SPI)

Unplug USB, and connect to VCOM USB port. Connected with Serial Terminal (Putty) with baud rate 115200 and pressed Reset button on Tomato:

NUC970 IBR 20151008.1735
No Key
Boot ffffff

It is stuck here. Cant get U-Boot console.

Note: If U-boot is built with nuc970_evb config (NAND based), when u-boot.bin flashed, I do get U-Boot Console, but readenv() error, since it tries to read environment from NAND chip which my Tomato does not have.

Can someone please help me?

yachen commented 3 years ago

Hi, I don't have Tomato board in hand, can you check vendor for the SPI flash? Is it Winbond or EON?

bbijelic commented 3 years ago

Hi, I don't have Tomato board in hand, can you check vendor for the SPI flash? Is it Winbond or EON?

Winbond

Edit: More precisely: Winbond 25Q16JVSIQ

yachen commented 3 years ago

Please replace the definition in config file from CONFIG_SPI_FLASH_EON=y to CONFIG_SPI_FLASH_WINBOND=y ans test again, thanks.

bbijelic commented 3 years ago

Thank you for helping me!

Did what you suggested, but unfortunately, same problem persists.

Here are the steps I have taken to try this:

I have cloned fresh repository for this test:

$ git clone https://github.com/OpenNuvoton/NUC970_U-Boot_v2016.11.git

Configured for nuc970_tomato board

$ make nuc970_tomato_config

Modified .config file as you suggested. Here is excerpt from it:

#
# SPI Flash Support
#
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_BAR=y
# CONFIG_SPI_FLASH_ATMEL is not set
# CONFIG_SPI_FLASH_EON is not set
# CONFIG_SPI_FLASH_GIGADEVICE is not set
# CONFIG_SPI_FLASH_MACRONIX is not set
# CONFIG_SPI_FLASH_SPANSION is not set
# CONFIG_SPI_FLASH_STMICRO is not set
# CONFIG_SPI_FLASH_SST is not set
CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_SPI_FLASH_XTX is not set
# CONFIG_SPI_NAND is not set
# CONFIG_WINBOND_MULTIDIE is not set
CONFIG_SPI_FLASH_USE_4K_SECTORS=y
# CONFIG_SPI_FLASH_MTD is not set

Executed make command and got following query:

scripts/kconfig/conf  --silentoldconfig Kconfig
*
* Restart config...
*
*
* SPI Flash Support
*
Legacy SPI Flash Interface support (SPI_FLASH) [Y/n/?] y
  SPI flash Bank/Extended address register support (SPI_FLASH_BAR) [Y/n/?] y
  Atmel SPI flash support (SPI_FLASH_ATMEL) [N/y/?] n
  EON SPI flash support (SPI_FLASH_EON) [N/y/?] n
  GigaDevice SPI flash support (SPI_FLASH_GIGADEVICE) [N/y/?] n
  Macronix SPI flash support (SPI_FLASH_MACRONIX) [N/y/?] n
  Spansion SPI flash support (SPI_FLASH_SPANSION) [N/y/?] n
  STMicro SPI flash support (SPI_FLASH_STMICRO) [N/y/?] n
  SST SPI flash support (SPI_FLASH_SST) [N/y/?] n
  Winbond SPI flash support (SPI_FLASH_WINBOND) [Y/n/?] y
    Winbond RPMC SPI flash support (SPI_FLASH_W74M) [N/y/?] (NEW) N

Proceeded with N

u-boot.bin compiled successfully.

FLashed new u-boot.bin by using same command as before.

$ ./nuwriter -m spi -d NUC976DK62Y.ini -t uboot -a 0xe00000 -w images/u-boot.bin -v
yachen commented 3 years ago

Hi, The text base for the tomato board header file is set to 0x2000000 instead of 0xe00000, please update nuwriter parameter and test again. ./nuwriter -m spi -d NUC976DK62Y.ini -t uboot -a 0x2000000 -w images/u-boot.bin -v

bbijelic commented 3 years ago

Hi, The text base for the tomato board header file is set to 0x2000000 instead of 0xe00000, please update nuwriter parameter and test again. ./nuwriter -m spi -d NUC976DK62Y.ini -t uboot -a 0x2000000 -w images/u-boot.bin -v

This did the trick. Thank you so much!