I’ve read some stuff here about booting RTD1296 and have several questions, that can be divided into 2 main topic:
-
How RTD1296 boots when sw4 is in position 1 aka “boot from SD card with eMMC fallback”
1.1. In many instrurtions/topics there are references to SPI flash which is some kind of first stage bootloader whose aim is to find location of second stage bootloader (U-Boot in our case) on SD card (or on eMMC as fallback). Is it correct?
1.2. Is there source code of firmware flashed into SPI flash or at least description of algorithm used to find second stage bootloader aka U-Boot on SD card and eMMC?
1.3. This SPI flash - is it part of RTD1296 or it is separate chip? What size of this memory?
1.4. Near the sw4 there is USB button. What hapens when I power on bananpi w2 with sw4 in position 1 and USB button pressed? How it affect first stage bootloader in SPI flash?
1.5 How can I update firmware on this SPI flash? What options I have? Maybe SPI flash available from system booted on RTD1296? Or through some pins on 40-pin header?
-
How RTD1296 boots when sw4 is in position 0 aka “boot from eMMC”
2.1. It seems that in this case cortex core executes code directly from somewhere on eMMC and code from SPI flash firmware doesn’t executes. Is it correct?
2.2. If SPI flash firmware code doesn’t executes, where is first stage bootloader? Is the code same as SPI flash firmware?
2.3. What happens when I power on bananpi w2 with sw4 in position 0 and USB button pressed?
2.4. When I boot system from SD card I can see some mmcblk devices using
lsblk
command:root@bpi-iot-ros-ai:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk1 179:0 0 7.3G 0 disk `-mmcblk1p1 179:1 0 16M 0 part mmcblk1boot0 179:8 0 4M 1 disk mmcblk1boot1 179:16 0 4M 1 disk mmcblk1rpmb 179:24 0 512K 0 disk mmcblk0 179:32 0 59.5G 0 disk |-mmcblk0p1 179:33 0 256M 0 part `-mmcblk0p2 179:34 0 6.8G 0 part /
mmcblk0
is SD card I’m booted frommmcblk1
it seems is eMMC (according to size), but what ismmcblk1boot0
,mmcblk1boot1
,mmcblk1rpmb
?2.5. Is it possible to access
eMMC
content without booting RTD1296?
If someone knows how to answer at least 1 question it would really help everyone else here.