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.
Hi Stefan,
Many thanks for the speedy reply. I must admit I had noticed that the two layout/region examples in the flashrom man page only showed writing to flash. I will attempt writing top flash and see how that goes In the mean time I will wait patiently for future merges that might include the read option.
Thanks for the offer of the patches but it has been some 20 plus years since I wore a software hat. If I was to go down that route I am sure I would get myself in real trouble!
Regards, John
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
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