From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2289 invoked by alias); 28 Jan 2008 16:47:22 -0000 Received: (qmail 2156 invoked by uid 22791); 28 Jan 2008 16:47:21 -0000 X-Spam-Check-By: sourceware.org Received: from londo.lunn.ch (HELO londo.lunn.ch) (80.238.139.98) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 28 Jan 2008 16:47:00 +0000 Received: from lunn by londo.lunn.ch with local (Exim 3.36 #1 (Debian)) id 1JJX8I-0004Zx-00; Mon, 28 Jan 2008 17:46:54 +0100 Date: Mon, 28 Jan 2008 16:47:00 -0000 From: Andrew Lunn To: "Alois Z." Cc: ecos-discuss@sources.redhat.com Message-ID: <20080128164654.GC10795@lunn.ch> Mail-Followup-To: "Alois Z." , ecos-discuss@sources.redhat.com References: <20080128160738.64350@gmx.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080128160738.64350@gmx.net> User-Agent: Mutt/1.5.17 (2007-12-11) X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] RAM Images on AT91SAM7s256 X-SW-Source: 2008-01/txt/msg00191.txt.bz2 On Mon, Jan 28, 2008 at 05:07:38PM +0100, Alois Z. wrote: > Hi, > > I currently working with a AT91SAM7s256 based board. For debugging > and testing I like to devlop RAM only images. With only 64Kbytes of RAM, you will be very limited to what you can do. I strongly suggest you get a JTAG debugger which can set hardware breakpoints. You can then run your application from ROM and single step, set a couple of breakpoints etc. > As the existing eCos > support for this platform has only definitions for rom images I > tried to use the existing files for ram linker file > definitions. After looking through several ldi files and googling > around I'm not quite shure if made the right placement for the > 'SECTION_rom_vectors' and the 'SECTION_fixed_vectors' sections. > > Currently my ram.ldi looks like: > > MEMORY > { > ram : ORIGIN = 0x00200000, LENGTH = 0x10000 > } > > SECTIONS > { > SECTIONS_BEGIN > SECTION_rom_vectors (ram, 0x00200000, LMA_EQ_VMA) > SECTION_fixed_vectors (ram, ALIGN (0x1), LMA_EQ_VMA) > SECTION_text (ram, ALIGN (0x1), LMA_EQ_VMA) > SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA) > SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA) > SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA) > SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA) > SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA) > SECTION_data (ram, ALIGN (0x4), FOLLOWING (.gcc_except_table)) > SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA) > CYG_LABEL_DEFN(__heap1) = ALIGN (0x8); > SECTIONS_END > } This looks reasonable. How are you going to get this image into RAM? You also need to make sure that RAM is mapped to address 0x0 as well as 0x00200000. I know ROM startup does this, but i think RAM startup probably does not. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss