I am trying to follow the getting started guide and cannot get my MilkV Meles to boot. I have tried following both the SD Card and eMMC procedures (with one or the other installed) using the 20240601 images. Each time I get the green light to boot, but no kernel activity indicated by the blue light. There is no HDMI signal being output and while the RJ45 lights up amber, I do not see it on the network. Any help would be appreciated.
Anything on the serial interface?
I purchased a JTAG to USB cable - I should hopefully have an answer to that early next week
The official quickstart documentation mentions where to connect a USB-to-TTL interface to tap into the board’s serial console and its default setup. Have you tried it yet?
same for me.
the serial console only gives:
brom_ver 8
[APP][E] protocol_connect failed, exit.
I tried using fastboot and also yoctools/cct (which says the checksums verify ok) and I tried images from 20240417 and 20240601. There is always only a green LED on. I tried microSD and eMMC. Nothing works.
What is your plan with JTAG? (in contrast to UART/serial)
Are there any guides on what to do with JTAG on the Meles?
I was mistaken in my previous comment - I have a Serial to USB cable and tried to boot with it attached. The first time around I got garbage because the baud rate was not set. I assume it defaulted to 9600. After setting the baud rate, I have not been able to get any data after power cycling or pressing the hardware reset button.
Not output at all or at least this?
brom_ver 8
[APP][E] protocol_connect failed, exit.
nothing. just an open session. I’ve tried through PuTTY on windows and on mac with both screen and cat after configuring using stty
It is very much likely that in your case system is not even booting up, probably the installation process has been interrupted. Since developers often configure U-Boot to use default serial console, your case may be the worst one. Hope the board is working ever.
Anyway, double-check you connected the serial interface Tx to Rx, Rx to Tx, GND to GND, and don’t connect PWR.
I wanted to mention RX/TX too. That’s easy to get wrong, they need to be crossed.
Shouldn’t cause damage to mix them up though, just no output.
I get output with just screen /dev/ttyUSB0 115200
, afaik the rest of the defaults match up.
tried flashing the eMMC with UART attached. I ran
$ fastboot flash ram u-boot-with-spl-meles.bin
$ fastboot reboot
$ sleep 5
$ fastboot flash uboot u-boot-with-spl-meles.bin
Flashing the uboot hung with the following output:
ERROR: could not clear input pipe; result e00002d6, ignoring...
ERROR: could not clear output pipe; result e00002d6, ignoring....
The UART showed the following:
Starting download of 780192 bytes
downloading of 780192 bytes finished
-----------------------------------------
_____ _ _____ _____ _ __
| __ \ (_)/ ____| __ \| |/ /
| |__) | _ _ _ _| (___ | | | | ' /
| _ / | | | | | | |\___ \| | | | <
| | \ \ |_| | |_| | |____) | |__| | . \
|_| \_\__,_|\__, |_|_____/|_____/|_|\_\
__/ |
|___/
-- Presented by ISCAS
-----------------------------------------
U-Boot SPL 2020.01-g96627087 (May 29 2024 - 08:34:19 +0000)
FM[1] lpddr4x dualrank freq=3733 64bit dbi_off=n sdram init
PHY0 DDR_INIT_ERR
I tried to reflash again to see if the DDR_INIT_ERR
was on reboot or flashing uboot, but i can’t seem to get into a state where there’s UART output.
This really worries me a lot. It is likely that something else killed your board in the process.
This worked like that? Did you press any buttons on the Meles after or during the reboot? In my case it always hangs at the last command (fastboot flash uboot u-boot-with-spl-meles.bin
) , and I think the reason is that after the reboot the board is not in download mode anymore.
But yours reboots to download mode?
Alright, same information, but a little more clear
when i startup with the download button clicked i get the following on UART
brom_ver 8
[APP][E] protocol_connect failed, exit
when i run
fastboot flash ram u-boot-with-spl-meles.bin
I get the following stdout
Warning: skip copying ram image avb footer (ram partition size: 0, ram image size: 780192).
Sending 'ram' (761 KB) OKAY [ 0.204s]
Writing 'ram' OKAY [ 0.002s]
Finished. Total time: 0.220s
and the following on UART
Starting download of 780192 bytes
downloading of 780192 bytes finished
then, when i run
fastboot reboot
I get the following stdout
Rebooting OKAY [ 0.003s]
Finished. Total time: 0.003s
and the following on UART
-----------------------------------------
_____ _ _____ _____ _ __
| __ \ (_)/ ____| __ \| |/ /
| |__) | _ _ _ _| (___ | | | | ' /
| _ / | | | | | | |\___ \| | | | <
| | \ \ |_| | |_| | |____) | |__| | . \
|_| \_\__,_|\__, |_|_____/|_____/|_|\_\
__/ |
|___/
-- Presented by ISCAS
-----------------------------------------
U-Boot SPL 2020.01-g96627087 (May 29 2024 - 08:34:19 +0000)
FM[1] lpddr4x dualrank freq=3733 64bit dbi_off=n sdram init
PHY1 DDR_INIT_ERR
then, when i try to run
fastboot flash uboot u-boot-with-spl-meles.bin
it never finishes with the following stdout
ERROR: could not clear input pipe; result e00002d6, ignoring...
ERROR: could not clear output pipe; result e00002d6, ignoring....
and nothing on the uart.
If i try to reboot with the download button pressed, I get the same hanging problem
ERROR: could not clear input pipe; result e00002d6, ignoring...
ERROR: could not clear output pipe; result e00002d6, ignoring....
Rebooting
I ordered the 8GB variant, so i believe i am using the correct uboot… i guess i’ll try with the 4gb one and see if i have the wrong board
Flashing the 4g image, I get the followin on uart after a reboot
-----------------------------------------
_____ _ _____ _____ _ __
| __ \ (_)/ ____| __ \| |/ /
| |__) | _ _ _ _| (___ | | | | ' /
| _ / | | | | | | |\___ \| | | | <
| | \ \ |_| | |_| | |____) | |__| | . \
|_| \_\__,_|\__, |_|_____/|_____/|_|\_\
__/ |
|___/
-- Presented by ISCAS
-----------------------------------------
U-Boot SPL 2020.01-g96627087 (May 29 2024 - 08:34:48 +0000)
FM[1] lpddr4x singlerank freq=3733 64bit dbi_off=n sdram init
ddr rw test failed
failed to setup ddr addrmap
ddr initialized, jump to uboot
image has no header
flashing it to uboot hangs with the same output as the regular 8g image.
If i flash both ram and uboot, I get the following on restart
-----------------------------------------
_____ _ _____ _____ _ __
| __ \ (_)/ ____| __ \| |/ /
| |__) | _ _ _ _| (___ | | | | ' /
| _ / | | | | | | |\___ \| | | | <
| | \ \ |_| | |_| | |____) | |__| | . \
|_| \_\__,_|\__, |_|_____/|_____/|_|\_\
__/ |
|___/
-- Presented by ISCAS
-----------------------------------------
U-Boot SPL 2020.01-g96627087 (May 29 2024 - 08:34:19 +0000)
FM[1] lpddr4x dualrank freq=3733 64bit dbi_off=n sdram init
failed to setup ddr addrmap
ddr initialized, jump to uboot
image has no header
U-Boot 2020.01-g96627087 (May 29 2024 - 08:34:19 +0000)
CPU: rv64imafdcvsu
Model: Milk-V Meles
DRAM: 8 GiB
aon wakeup by gpio enabled
aon wakeup by rtc enabled
iic id:0 addr_mode:0 speed:2
C910 CPU FREQ: 750MHz
MMC: sdhci@ffe7080000: 0, sd@ffe7090000: 1
Loading Environment from MMC... Card did not respond to voltage select!
*** Warning - No block device, using default environment
In: serial@ffe7014000
Out: serial
Err: serial
light_c910_set_gpio_output_high: trying to set gpio output high
## Resetting to default environment
Saving Environment to MMC... Card did not respond to voltage select!
No block device
Failed (1)
Card did not respond to voltage select!
do_gpt: mmc dev 0 NOT available
dwc3_gadget_start maximum_speed:5 revision:0x5533330b
dwc3_gadget_start DWC3_DCFG:0x80804
dwc3_gadget_conndone_interrupt speed:4 dwc3_dsts:0x203ec
dwc3_gadget_conndone_interrupt speed:0 dwc3_dsts:0x20000
If i try to flash ram, uboot, and boot, I get no output on the UART. Same thing happens if i flash root, as well before reboot.
After a power cycle (unplug and plug in) i have a UART shell
brom_ver 8
[APP][E] protocol_connect failed, exit.
-----------------------------------------
_____ _ _____ _____ _ __
| __ \ (_)/ ____| __ \| |/ /
| |__) | _ _ _ _| (___ | | | | ' /
| _ / | | | | | | |\___ \| | | | <
| | \ \ |_| | |_| | |____) | |__| | . \
|_| \_\__,_|\__, |_|_____/|_____/|_|\_\
__/ |
|___/
-- Presented by ISCAS
-----------------------------------------
U-Boot SPL 2020.01-ge0247b8a (Apr 17 2024 - 02:21:09 +0000)
FM[1] lpddr4x dualrank freq=3733 64bit dbi_off=n sdram init
ddr initialized, jump to uboot
image has no header
U-Boot 2020.01-ge0247b8a (Apr 17 2024 - 02:21:09 +0000)
CPU: rv64imafdcvsu
Model: Milk-V Meles
DRAM: 8 GiB
C910 CPU FREQ: 750MHz
AHB2_CPUSYS_HCLK FREQ: 250MHz
AHB3_CPUSYS_PCLK FREQ: 125MHz
PERISYS_AHB_HCLK FREQ: 250MHz
PERISYS_APB_PCLK FREQ: 62MHz
GMAC PLL POSTDIV FREQ: 1000MHZ
DPU0 PLL POSTDIV FREQ: 1188MHZ
DPU1 PLL POSTDIV FREQ: 1188MHZ
MMC: sdhci@ffe7080000: 0, sd@ffe7090000: 1
Loading Environment from MMC... Card did not respond to voltage select!
*** Warning - No block device, using default environment
In: serial@ffe7014000
Out: serial
Err: serial
light_c910_set_gpio_output_high: trying to set gpio output high
Use random addr as fixed mac addr
Saving Environment to MMC... Card did not respond to voltage select!
No block device
Failed (1)
ethaddr: 3e:44:a6:1c:bf:24
eth1addr: 3e:44:a6:1c:bf:25
Net: ethernet@ffe7070000 (eth0) using MAC address - 3e:44:a6:1c:bf:24
eth0: ethernet@ffe7070000
Hit any key to stop autoboot: 0
Card did not respond to voltage select!
Card did not respond to voltage select!
cp - memory copy
Usage:
cp [.b, .w, .l, .q] source target count
Card did not respond to voltage select!
cp - memory copy
Usage:
cp [.b, .w, .l, .q] source target count
Card did not respond to voltage select!
cp - memory copy
Usage:
cp [.b, .w, .l, .q] source target count
Card did not respond to voltage select!
Retrieving file: /extlinux/extlinux.conf
Card did not respond to voltage select!
Error reading config file
Milk-V Meles#
power cycling again, I am back to the DDR_INIT_ERR
I removed the eMMC module thinking the Card did not respond to voltage select!
means it isn’t compatible. Booting from a SD card gives the same DDR_INIT_ERR
on boot.
I’m thinking the device is faulty - though I have gotten farther in the boot process before, i cannot do it consistently.
the first thing the boot code usually is doing it to initialize the ram (timing etc.) and it looks like this failed in your case - i would assume that the boot code written to your spi flash contains the wrong ram initialization code and thus you always get this error … iirc with the ram boot it worked once - i guess in this mode somehow the ram is initialialized differently maybe