From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29066 invoked by alias); 24 Apr 2003 19:12:34 -0000 Mailing-List: contact sid-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: sid-owner@sources.redhat.com Received: (qmail 29057 invoked from network); 24 Apr 2003 19:12:32 -0000 Received: from unknown (HELO touchme.toronto.redhat.com) (207.219.125.105) by sources.redhat.com with SMTP; 24 Apr 2003 19:12:32 -0000 Received: from tooth.toronto.redhat.com (tooth.toronto.redhat.com [172.16.14.29]) by touchme.toronto.redhat.com (Postfix) with ESMTP id 8553C800045; Thu, 24 Apr 2003 15:12:32 -0400 (EDT) Received: from tooth.toronto.redhat.com (IDENT:/yt+mRZX1k66DZgYP7BmwkkNY4VY1bwN@localhost [127.0.0.1]) by tooth.toronto.redhat.com (8.12.8/8.12.5) with ESMTP id h3OJCW8m004310; Thu, 24 Apr 2003 15:12:32 -0400 Received: (from fche@localhost) by tooth.toronto.redhat.com (8.12.8/8.12.8/Submit) id h3OJCWEX004308; Thu, 24 Apr 2003 15:12:32 -0400 Date: Thu, 24 Apr 2003 19:12:00 -0000 From: "Frank Ch. Eigler" To: warhurst_brandon@bah.com Cc: sid@sources.redhat.com Subject: Re: Running "eprommed" code Message-ID: <20030424191231.GA3373@redhat.com> References: <3EA8346E.5060804@netscape.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3EA8346E.5060804@netscape.net> User-Agent: Mutt/1.4.1i X-SW-Source: 2003-q2/txt/msg00012.txt.bz2 Hi - On Thu, Apr 24, 2003 at 03:01:02PM -0400, Brandon Warhurst wrote: > I asked a question a while back about running "precompiled" (aka, only > binary image, no source) code. You gave me a good answer. I finally > got sid up and running. The question is: how do I point SID to the > first instruction to execute? Is that where the insn-count option comes > in? I have scoured the documentation to no avail on this point. I've > only found a reference to setting the !run pin. Am I going to have to > compile some sort of startup program? This is tricky. In the hardware, presumably the ROM sits in a memory range that includes the powerup-reset PC address. If you do the same with sid, it should just work. If on the other hand your ROM is not complete, you indeed need to find a way of jumping into whatever entry point the ROM has. A related problem is just how much initialization does your ROM thingie assume to have taken place? > (This may be a problem seeing as > I can't seem to compile a cross-compiler to save my life. It ALWAYS > fails for one reason or another. Especially the arm-elf target. It > seems to not find the correct assembler (which I apparently can > compile). I cannot force it through any configure options to locate the > assembler it should use once it has built xgcc. Actually, if I remember > correctly, after stage1, it shouldn't even build stage 2 because stage 2 > is built with stage 1 meaning I couldn't even run it anyway. But for > some reason it wishes to build stage 2. You can try building out of the sources.redhat.com "uberbaum", which contains an integrated source tree for gcc, binutils, the lot. The stage2/3 thing shouldn't occur if you configured the build tree with the usual "--target=arm-elf" option. > Anyway, I think I'm much closer if I can just figure out how to start > SID running the code and get GDB in there, I'll get exactly what I want. With GDB, this is possible without extra startup binaries. Start sid as before, but add the "--gdb=PORT#" argument, and connect an arm-elf-gdb instance there. SID will just sit there, before startup. Then you can issue a PC change from within GDB, as in something like: (gdb) jump * 0xdeadbeef - FChE