run: support fastboot tool to load images

Fixes #1397
This commit is contained in:
Stefan Kalkowski 2015-02-04 15:02:01 +01:00 committed by Christian Helmuth
parent a3abf74d1e
commit 7cb4d7bf41
1 changed files with 44 additions and 0 deletions

44
tool/run/load/fastboot Normal file
View File

@ -0,0 +1,44 @@
##
# Load image to target hardware via Fastboot
#
# \param --load-fastboot-device Specify device serial number
# or path to device port
#
source [genode_dir]/tool/run/load.inc
proc load_fastboot_device { } { return [get_cmd_arg --load-fastboot-device 1] }
proc run_load { } {
global load_spawn_id
if {![have_spec arm] || ![have_installed fastboot]} {
puts "No support for fastboot detected."
exit -1
}
if {![have_include "image/uboot"]} {
puts stderr "Cannot load via fastboot without a u-boot image"
}
set device [load_fastboot_device]
set uimg "[run_dir]/uImage"
# sleep a bit, board might need some time to come up
sleep 8
eval spawn fastboot -s $device boot $uimg
set load_spawn_id $spawn_id
set timeout 80
expect {
"finished. total time:" { return true; }
eof {
puts stderr "fastboot command process died unexpectedly";
return false;
}
timeout {
puts stderr "Loading timed out";
return false;
}
}
}