Hi Stefan.

I am now attempting to write to a flashrom using the layout/region approach. I need to write a region from a 4MB ROM to the beginning of an 8MB ROM.
The region image from the 4MB ROM is 4,128,768 bytes == 0x3f0000 long and this file is called image1.
I have defined the 8MB ROM layout in file called romlayout_8MB to be:

000000:3effff main
3f0000:7fffff remainder

i.e I want to place the contents of file image1 in to the 8MB ROM region defined as main.

I invoked flashrom as follows:

flashrom -p buspirate_spi:dev=/dev/ttyUSB0,spispeed=250k -l romlayout_8MB -i main -w image1

The flash ROM is detected correctly, delay calculated, but then flashrom immediately returns the error:
"image size doesn't match".

As always, guidance/suggestions gratefully received.



On Wed, Feb 6, 2013 at 4:29 AM, Stefan Tauner <stefan.tauner@student.tuwien.ac.at> wrote:
On Tue, 5 Feb 2013 14:06:21 -0800
John Gainsborough <jgindc1@gmail.com> wrote:

> With BusPirate (v3a, firmware 5.10) and flashrom (v0.9.5.2, little endian)
> I am attempting to read a region of the flash ROM defined by a ROM layout
> file as in:
>
> flashrom -p buspirate_spi:dev=/dev/
> ttyUSB0,spispeed=200k -l romlayout -i region1 -r read file
>
> Where file romlayout contains:
>
> 003f0000:003fffff region1
>
> The flash ROM IC is correctly identified, and region1 is listed as being
> used, however flashrom then proceeds to read all ROM memory, not just the
> area defined by region1.
>
> I have run this procedure with flash ROMs:
> Eon EN25Q32 and EN25Q64. also Micronix  MX25L6445
>
> Eventually I plan to use this procedure for writing to a defined region.
>
> Any help/suggestions gratefully received.

Hello John,

sorry for the confusion. What you see is perfectly ok and expected (at
least to us, understandably not so much to the everyday user). The
reason is this: the layout and image options are only taken into account
for write operations(!) at the moment. I have created patches to use
them for all other operations too but they were not merged yet (we
really suck at merging stuff, sorry). If you can not or do not want to
extract the required data from the complete image you can take a look
at those patches: http://patchwork.coreboot.org/user/bundle/37/
They certainly won't apply to the current HEAD, but you can either use
the old source or I can rebase them to the current one if you prefer it.

Writing only a part should work though.
--
Kind regards/Mit freundlichen Grüßen, Stefan Tauner