Other Parts Discussed in Thread: AM3358, UNIFLASH
Hello all,
I am trying to boot the Beaglebone black (Sitara AM3358) over Ethernet. The goal is to develop flasher files that will allow the eMMC to be loaded with production code using Uniflash.
I have followed the wiki instructions found online: processors.wiki.ti.com/.../Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black
The problem observed is similar to that observed by other developers: e2e.ti.com/.../515767
To my knowledge, I did not see any solution to this problem in the e2e forum.
I have attempted to build u-boot with 2.00.00 SDK (since this is the version that has been validated in the wiki).
I skipped the instructions under "Preparing the Flasher Image" and instead followed instruction to apply the patches and build as described under "Modify U-Boot to Boot from TFTP Automatically".
After applying patches I called the following to build u-boot:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=flasher_eth am335x_evm_tftpboot_defconfig all
The resulting u-boot-restore.img and u-boot-spl-restore.bin were moved from my Linux VM and placed in the Windows TFTP folder for accessed by CCS Uniflash (3.4.1).
When attempting to flash the Beaglebone black, I see the following from the serial console:
U-Boot SPL 2015.07-00114-gf5078ef-dirty (Nov 30 2016 - 12:46:06)
SPL: Unsupported Boot Device!
### ERROR ### Please RESET the board ###
I have updated the Sysboot pins to boot from Ethernet. This seems to be working since I see over wireshark the seemingly proper TFTP transfer of u-boot-spl-restore.bin.
It seems like things start off well, but then the SPL version is incorrect.
I would like to get some support around this.
To be clear, the steps followed when attempting to boot from Ethernet are as follows:
- Prepare Target: connect Ethernet (board is unpowered), modify Sysboot pins to boot from Ethernet.
- Prepare Host: place u-boot files in appropriate Uniflash TFTP folder, change local area network to use 192.168.2.1 IP address, connect Ethernet.
- From Uniflash, I press the "Start Flashing" button
- Apply power to target
- After a few moments I see the above console output
A couple notes:
- I don't need to press Beaglebone Black S2 button since the Sysboot pin config is such that it does not require this
- I do NOT follow the wiki instructions on "Flash the Beaglebone black"->"Program the flash" wherein it is stated that we need to apply power and press a key to halt U-boot at prompt. Instead, I follow the instructions from Sitare Quickstart guide (processors.wiki.ti.com/.../Sitara_Uniflash_Quick_Start_Guide). My understanding is that these are 2 equivalent methods, but since my goal is to load code on production units (which do not have any u-boot in eMMC) the latter method using Uniflash seems to be the one I want to get working.