public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Marcel Ovidiu Achim <marcel.achim@ovidius-ib.de>
Cc: ecos-discuss@ecos.sourceware.org, ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] Re: unaligned half-word flash memory access on a EB55/AT91
Date: Mon, 09 May 2005 03:58:00 -0000	[thread overview]
Message-ID: <20050507161853.GM31731@lunn.ch> (raw)
Message-ID: <20050509035800.Wt6iQPf7IU_kqmK0HItkUw42MisH68BeBGq9jBKTixk@z> (raw)
In-Reply-To: <427C7BD1.9020605@ovidius-ib.de>

On Sat, May 07, 2005 at 10:26:57AM +0200, Marcel Ovidiu Achim wrote:
> Andrew Lunn schrieb:
> 
> >On Fri, May 06, 2005 at 08:51:17PM +0200, Marcel Ovidiu Achim wrote:
> > 
> >
> >>Hi all,
> >>
> >>I am using eCos on an Atmel EB55 board. For an application I need to
> >>store data into the on board flash device. My compiled code seams to
> >>do an unaligned access to the on board flash which is enabled by the
> >>NCS0 line.
> >>
> >>This is a very simple code for a better understanding.
> >>
> >>// Set the EBI_CSR0 register for 16 bit access etc.
> >>HAL_WRITE_UINT32(0xFFE00000, 0x010030A1);
> >>
> >>// Write 0xAA to address 0x555 of into the flash device.
> >>// Note: this is not the whole prog. seq.
> >>HAL_WRITE_UINT16(0x01000000 + 0x555, 0xAA);
> >>  
> >
> >
> >I don't think this is allowed. You have to do 16 bit accesses on 16
> >bit aligned addresses. Maybe you want to do:
> >
> >HAL_WRITE_UINT8(0x01000000 + 0x555, 0xAA);
> >HAL_WRITE_UINT8(0x01000000 + 0x556, 0x00);
> >
> >which will acheive the same but will do it in a legal way.
> >
> >       Andrew
> >
> > 
> >
> 
> Your sugestion drives the NCS0 line twice and again the access is not 
> alligned
> (both read and write of the AT91 starts from A0 instead of A1). Since 
> the memory cells of the flash
> device are 16 bit long, while writing 0x556 means also writng to another 
> cell instead
> of 0x555.
> 
> Please give more advice.

How do you have the MMU setup for that area of memory?

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

  parent reply	other threads:[~2005-05-07 16:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-07  9:16 Marcel Ovidiu Achim
2005-05-07  9:21 ` Marcel Ovidiu Achim
2005-05-08  9:36 ` Andrew Lunn [this message]
2005-05-09  3:58   ` Andrew Lunn
2005-05-09  4:02   ` Marcel Ovidiu Achim
2005-05-09  7:45     ` Marcel Ovidiu Achim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050507161853.GM31731@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=ecos-discuss@ecos.sourceware.org \
    --cc=ecos-discuss@sources.redhat.com \
    --cc=marcel.achim@ovidius-ib.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).