sim.exp revision 1.1.1.1
1# Test Framework Driver for GDB driving a builtin simulator 2# Copyright 1994, 1997, 1998, 2004, 2007, 2008, 2009, 2010, 2011 3# Free Software Foundation, Inc. 4# 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 3 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18load_lib gdb.exp 19 20# 21# gdb_target_sim 22# Set gdb to target the simulator 23# 24proc gdb_target_sim { } { 25 global gdb_prompt 26 27 set target_sim_options "[board_info target gdb,target_sim_options]"; 28 29 send_gdb "target sim $target_sim_options\n" 30 set timeout 60 31 verbose "Timeout is now $timeout seconds" 2 32 gdb_expect { 33 -re "Connected to the simulator.*$gdb_prompt $" { 34 verbose "Set target to sim" 35 } 36 timeout { 37 perror "Couldn't set target for simulator." 38 cleanup 39 return -1 40 } 41 } 42 set timeout 10 43 verbose "Timeout is now $timeout seconds" 2 44 return 0 45} 46 47# 48# gdb_load -- load a file into the debugger. 49# return a -1 if anything goes wrong. 50# 51proc gdb_load { arg } { 52 global verbose 53 global loadpath 54 global loadfile 55 global GDB 56 global gdb_prompt 57 58 if { $arg != "" } { 59 if [gdb_file_cmd $arg] then { return -1 } 60 } 61 62 if [gdb_target_sim] then { return -1 } 63 64 send_gdb "load\n" 65 set timeout 2400 66 verbose "Timeout is now $timeout seconds" 2 67 gdb_expect { 68 -re ".*$gdb_prompt $" { 69 if $verbose>1 then { 70 send_user "Loaded $arg into $GDB\n" 71 } 72 set timeout 30 73 verbose "Timeout is now $timeout seconds" 2 74 return 0 75 } 76 -re "$gdb_prompt $" { 77 if $verbose>1 then { 78 perror "GDB couldn't load." 79 } 80 } 81 timeout { 82 if $verbose>1 then { 83 perror "Timed out trying to load $arg." 84 } 85 } 86 } 87 return -1 88} 89