From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3770 invoked by alias); 1 Apr 2007 23:04:38 -0000 Received: (qmail 3752 invoked by uid 22791); 1 Apr 2007 23:04:37 -0000 X-Spam-Check-By: sourceware.org Received: from netic.com (HELO netic.com) (208.131.130.247) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 02 Apr 2007 00:04:35 +0100 Received: from piii550 (60-242-91-36.static.tpgi.com.au [60.242.91.36]) by netic.com (8.12.11.20060308/8.12.11) with SMTP id l31N4WXX016240; Sun, 1 Apr 2007 17:04:33 -0600 From: "Laurie Gellatly" To: "Grant Edwards" , Date: Sun, 01 Apr 2007 23:04:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) In-Reply-To: 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] Re: Placing data at an absolute address X-SW-Source: 2007-04/txt/msg00007.txt.bz2 Hi Grant, objcopy - looked at that and yep, that will do just fine. The MAC address is not in the code but does live in the same Flash page as the code so it will be convenient to be programmed at the same time. objcopy will allow me to place the MAC into the included file after its been update. Excellent thanks. ...Laurie:{) -----Original Message----- From: ecos-discuss-owner@ecos.sourceware.org [mailto:ecos-discuss-owner@ecos.sourceware.org]On Behalf Of Grant Edwards Sent: Monday, 2 April 2007 4:52 AM To: ecos-discuss@sources.redhat.com Subject: [ECOS] Re: Placing data at an absolute address On 2007-04-01, Gary Thomas wrote: > Laurie Gellatly wrote: >> For our eCos application, I'd like to place the MAC address at >> a particular address in flash and have it loaded as part of >> storing Redboot into the flash. At production time, a script >> would be run that finds that address section in redboot.elf >> and updates it before it is stored into the next unit. Finding >> the section in the elf is not the hard bit. I've tried adding >> a new section on the gcc command line and adding a variable >> into the C source which almost works except the section size >> is of length 0. How can I make the section 6 bytes long or is >> there a better way to do this whole thing? > > The best way would be to assign this data to a particular > section of its own, using "attribute". Then in the linker > file, put that section at the desired physical address. The question is then how to alter the contents of that section during production in order to uniquely set the MAC address of each unit. AFAICT, you'd have to use objcopy to alter the .elf file each time before you convert to hex/binary and download. Personally, I think putting the MAC addres into the program itself before download is way the wrong way to go. It makes updating firmware way too difficult. Just reserve an "external" spot in flash memory that's not written to when the program is downloaded. Then download the MAC address in a separate operation. -- Grant Edwards grante Yow! PEGGY FLEMMING is at stealing BASKET BALLS to visi.com feed the babies in VERMONT. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss