From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27316 invoked by alias); 24 Nov 2009 22:33:27 -0000 Received: (qmail 27298 invoked by uid 22791); 24 Nov 2009 22:33:25 -0000 X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 tests=AWL,BAYES_05 X-Spam-Check-By: sourceware.org Received: from nw-ex-010.asplogon.com (HELO NW-EX-010.asplogon.com) (193.19.65.29) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 24 Nov 2009 22:33:21 +0000 Received: from nw-ex-004.asplogon.com ([172.30.128.211]) by NW-EX-010.asplogon.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 24 Nov 2009 23:33:17 +0100 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Tue, 24 Nov 2009 22:33:00 -0000 Message-ID: <97F68B92952DDA40A6494655C887603BC61C51@nw-ex-004.asplogon.com> From: "Alex Lindeijer" To: 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: [ECOS] Flash programming crashes on odd sectors X-SW-Source: 2009-11/txt/msg00035.txt.bz2 Hi all We are using AMD 29gl256 flash without a file system, ie writing directly to sectors. The CPU is a MPC8541. We are saving equipment configuration to the flash. We use 1 sector for each port in the system. To minimize interrupt latency during flash programming we program erase the sector and then program in blocks of 1KByte. What we see is that when writing to even sectors everything works fine. But when programming odd sectors after a variable number of 1KByte blocks we get a crash like this: Program from 0x008cc474-0x008cc874 to 0xf3de6800: . ... Program from 0x008cc474-0x008cc874 to 0xf3de6c00: . ... Program from 0x008cc474-0x008cc874 to 0xf3de7000: . ... Program from 0x008cc474-0x008cc874 to 0xf3de7400: . ... Program from 0x008cc474-0x008cc874 to 0xf3de7800: ** Exception 0x0700 at PC: 0x00000000, MSR: 0x00001030, LR: 0x0008042c R00: 0x00000002 0x0055296c 0x0b0b0002 0x0000ffff 0x00000000 0x0081e19c 0x00000000 0x05f59450 R08: 0x008cc64c 0x00000000 0x00000000 0x00000001 0x000003fe 0x0b0b000d 0x0081e19c 0x0003fffc R16: 0x0b0b0010 0x0b0b0011 0x0b0b0012 0x0b0b0013 0x0b0b0014 0x00000001 0x0055114c 0x00000000 R24: 0x00000400 0x00000000 0x008cc474 0x008cc474 0xf3de7800 0x00000228 0x00551128 0x00000400 The LR points to 0x0008042c which is in cyg_hal_default_interrupt_vsr. Anybody any idea why there would be adifference in behaviour between odd and even sectors? Cheers Alex Lindeijer -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss