| # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software |
| # Foundation, Inc. |
| # |
| # This file is part of DejaGnu. |
| # |
| # DejaGnu is free software; you can redistribute it and/or modify it |
| # under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 2 of the License, or |
| # (at your option) any later version. |
| # |
| # DejaGnu is distributed in the hope that it will be useful, but |
| # WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with DejaGnu; if not, write to the Free Software Foundation, |
| # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| |
| # This file was written by Bob Manson (manson@cygnus.com) |
| |
| # We use GDB to talk to a vr4300 board. |
| load_generic_config "base68k" |
| |
| set_board_info shell_prompt "NEC010> " |
| set_board_info download_command "load tty0\n" |
| set_board_info download_response "Downloading from" |
| set_board_info go_command "g -e" |
| set_board_info startaddr "a0100000" |
| set_board_info hex_startaddr "0xa0100000" |
| set_board_info go_response "(^|\[\r\n\])(Exception Cause|\[0-9a-z\]+ \[0-9a-z\]+ break|\\*\\*\\*EXIT code )\[^\r\n\]*\[\r\n\]" |
| set_board_info output_end "\[\r\n\](Exception Cause|\[0-9a-z\]+ \[0-9a-z\]+ break).*$" |
| |
| # Reset the prompt to what GDB needs. |
| proc ${board}_init { dest } { |
| global doing_ddb_init |
| if [is_remote host] { |
| return |
| } |
| |
| if ![info exists doing_ddb_init] { |
| set doing_ddb_init 1 |
| |
| for { set i 1 } { $i <= 3 } { incr i } { |
| remote_close $dest |
| for { set x 0 } { $x < 3 } { incr x } { |
| set shell_id [remote_open $dest] |
| if { $shell_id == "" || $shell_id < 0 } { |
| remote_reboot $dest |
| } else { |
| break |
| } |
| } |
| |
| set count 0 |
| remote_send $dest "\n" |
| remote_expect $dest 20 { |
| -re ".*PMON> $" { |
| remote_send $dest "set prompt \"NEC010> \"\n" |
| exp_continue |
| } |
| -re "NEC010> $" { |
| set i 10 |
| } |
| timeout { } |
| -re "0x0" { |
| incr count |
| if(count<5) { |
| exp_continue |
| } |
| } |
| } |
| if { $i < 3 } { |
| remote_reboot $dest |
| } |
| } |
| remote_close $dest |
| unset doing_ddb_init |
| } else { |
| return |
| } |
| } |
| |
| set_board_info send_initial_cr 1 |
| set_board_info dont_wait_for_prompt 1 |
| |
| # If no output format is specified, use objcopy. |
| if ![board_info $board exists output_format] { |
| set tempfil [lookfor_file $tool_root_dir binutils/objcopy] |
| if { $tempfil != "" } { |
| set_board_info objcopy $tempfil |
| } else { |
| set_board_info objcopy [transform objcopy] |
| } |
| unset tempfil |
| } |