[U-Boot-Users] Flash erasing problem

Hi,
first of all I wish you all a happy new year!
I am using a PXA270 based board with u-boot 1.1.2. I'm trying to write an ext2 filesystem image to flash (I want to mount it read only). First I erase the sectors, and I get no error messages. But when I try to copy the image into the flash, I get the error message: Copy to Flash... not erased at 00480000 (ffff0000). Could anyone please help me in solving this problem? Thanky you very much!
Áron Takács
I have the following outputs of u-boot:
U-Boot 1.1.2 (Jun 7 2005 - 08:34:02)
U-Boot code: A3F80000 -> A3F98C1C BSS: -> A3F9D354 RAM Configuration: Bank #0: a0000000 0 kB Bank #1: 00000000 0 kB Bank #2: 00000000 0 kB Bank #3: 00000000 0 kB Flash: 32 MB In: serial Out: serial Err: serial CPU speed: 520000kHz Hit any key to stop autoboot: 0
flinfo:
Bank # 1: INTEL 28F128J3A Size: 32 MB in 128 Sectors Sector Start Addresses: 00000000 (RO) 00040000 (RO) 00080000 000C0000 00100000 00140000 00180000 001C0000 00200000 00240000 00280000 002C0000 00300000 00340000 00380000 003C0000 00400000 00440000 00480000 004C0000 00500000 00540000 00580000 005C0000 00600000 00640000 00680000 006C0000 00700000 00740000 00780000 007C0000 00800000 00840000 00880000 008C0000 00900000 00940000 00980000 009C0000 00A00000 00A40000 00A80000 00AC0000 00B00000 00B40000 00B80000 00BC0000 00C00000 00C40000 00C80000 00CC0000 00D00000 00D40000 00D80000 00DC0000 00E00000 00E40000 00E80000 00EC0000 00F00000 00F40000 00F80000 00FC0000 01000000 01040000 01080000 010C0000 01100000 01140000 01180000 011C0000 01200000 01240000 01280000 012C0000 01300000 01340000 01380000 013C0000 01400000 01440000 01480000 014C0000 01500000 01540000 01580000 015C0000 01600000 01640000 01680000 016C0000 01700000 01740000 01780000 017C0000 01800000 01840000 01880000 018C0000 01900000 01940000 01980000 019C0000 01A00000 01A40000 01A80000 01AC0000 01B00000 01B40000 01B80000 01BC0000 01C00000 01C40000 01C80000 01CC0000 01D00000 01D40000 01D80000 01DC0000 01E00000 01E40000 01E80000 01EC0000 01F00000 01F40000 01F80000 01FC0000
erase 00480000 01fbffff
Erasing sector 18 ... done Erasing sector 19 ... done Erasing sector 20 ... done ... Erasing sector 125 ... done Erasing sector 126 ... done Erased 109 sectors
tftp a0000000 uImage24
dm9000 i/o: 0x08000000, id: 0x90000a46 MAC: 00:04:ff:ff:01:aa operating at 100M full duplex mode TFTP from server 192.168.1.11; our IP address is 192.168.1.20 Filename 'uImage24'. Load address: 0xa0000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ########################## done Bytes transferred = 2128628 (207af4 hex)
cp a0000000 00480000 207af4
Copy to Flash... not erased at 00480000 (ffff0000) Flash not Erased

In message 200601051104.57478.takacs.aron@infracont.hu you wrote:
first of all I wish you all a happy new year!
Thanks, same to you.
I am using a PXA270 based board with u-boot 1.1.2. I'm trying to write an ext2
Please don;t use old code. Update to top of tree in the git repository, or 1.1.4 at least.
filesystem image to flash (I want to mount it read only). First I erase the sectors, and I get no error messages. But when I try to copy the image into the flash, I get the error message: Copy to Flash... not erased at 00480000 (ffff0000).
Which flash driver are you using? Can you erase / program the flash using a JTAG debugger?
Best regards,
Wolfgang Denk

Thank you very much for your answer!
Which flash driver are you using? Can you erase / program the flash using a JTAG debugger?
I am using a precompiled u-boot image from the board's vendor (Toradex AG.). Where can I check the type of the selected flash driver? I have downloaded the u-boot image to the board via jtag (jflash utility), so it is working. I have some interesting thing in the u-boot output: Bank # 1: INTEL 28F128J3A Size: 32 MB in 128 Sectors
On the board I have two flash chips (2x16MB) of the type 28F128J3C150. Is it OK? I think I had to see two bank of 16MB each.
Best regards,
Áron Takács
Best regards,
Wolfgang Denk
-- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de Horses just naturally have mohawk haircuts.
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37&alloc_id%16865&op=Click _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users

In message 200601051352.41766.takacs.aron@infracont.hu you wrote:
Which flash driver are you using? Can you erase / program the flash using a JTAG debugger?
I am using a precompiled u-boot image from the board's vendor (Toradex AG.).
Then you should probably ask the vendor's support folks.
Where can I check the type of the selected flash driver?
In the source code. You received the source code or at least a written offer for it with your board, didn't you?
I have downloaded the u-boot image to the board via jtag (jflash utility), so it is working.
OK.
I have some interesting thing in the u-boot output: Bank # 1: INTEL 28F128J3A Size: 32 MB in 128 Sectors
On the board I have two flash chips (2x16MB) of the type 28F128J3C150. Is it OK? I think I had to see two bank of 16MB each.
I guess it's OK. I don't know your hardware, but most probably both chips are operated as 2 x 16 bit in parallel to form a single 32 bit wide bank.
Unfortunately they never bothered to submit their code back to the public source tree. All I know is that Detlef Vollmann once (August 2005) mentioned that there is some port, but he never submitted a patch either.
Best regards,
Wolfgang Denk

Then you should probably ask the vendor's support folks.
I did it just now.
In the source code. You received the source code or at least a written offer for it with your board, didn't you?
I have the sources, and I'm looking for it, but I haven't find it yet. Any hints?
Unfortunately they never bothered to submit their code back to the public source tree. All I know is that Detlef Vollmann once (August 2005) mentioned that there is some port, but he never submitted a patch either.
It can be downloaded from www.toradex.com.
Best regards,
Wolfgang Denk
Thank you! Best regards!
Áron Takács

In message 200601051519.28464.takacs.aron@infracont.hu you wrote:
I have the sources, and I'm looking for it, but I haven't find it yet. Any hints?
Check if they are using the CFI flash driver (which they probably are not doing) - is there a CFG_FLASH_CFI_DRIVER in their board config file (include/configs/<boardname>) ? If not then they probably use a custom driver, checke board/<boardname>/flash.c
Unfortunately they never bothered to submit their code back to the public source tree. All I know is that Detlef Vollmann once (August 2005) mentioned that there is some port, but he never submitted a patch either.
It can be downloaded from www.toradex.com.
Where exactly? And what do they provide? A clean patch?
Putting some snapshot somewhere on the web is not the same as submitting any code back to the original project.
Best regards,
Wolfgang Denk

Check if they are using the CFI flash driver (which they probably are not doing) - is there a CFG_FLASH_CFI_DRIVER in their board config file (include/configs/<boardname>) ? If not then they probably use a custom driver, checke board/<boardname>/flash.c
You are right, CFG_FLASH_CFI_DRIVER is not in include/configs/boardname.h, and there is a flash.c file in board/boardname. Should I try it with the CFI flash driver?
It can be downloaded from www.toradex.com.
Where exactly? And what do they provide? A clean patch?
The patched source tree can be find at: http://www.toradex.com/colibri_downloads/Linux/colibri-bsp-2.1/src/
Regards,
Áron

In message 200601051556.55943.takacs.aron@infracont.hu you wrote:
there is a flash.c file in board/boardname. Should I try it with the CFI flash driver?
It's probably less effort trying to fix their flash driver.
It can be downloaded from www.toradex.com.
Where exactly? And what do they provide? A clean patch?
The patched source tree can be find at: http://www.toradex.com/colibri_downloads/Linux/colibri-bsp-2.1/src/
Well, as expected: this is a complete source tree of u-boot-1.1.2, dated from June 2005, so it was already half a year old and thus outdated when they released it.
Bugger them to submit a proper patch here on the list, against *current* code.
Sorry, but I don't have time to waste on other companies obsoleted and unmaintained ports.
Best regards,
Wolfgang Denk

On 1/5/06, Takács Áron takacs.aron@infracont.hu wrote:
Copy to Flash... not erased at 00480000 (ffff0000). Could anyone please help me in solving this problem? Thanky you very much!
I remember seeing similar issue on u-boot pre-1.0 release that I worked on. I don't recollect the exact driver issue, I think it has some thing to do with timeout value in erase command. In my case the u-boot returned the command prompt well before the erase process is complete. Try waiting for sufficient time (depending on number of sectors) after issuing erase command. Again, it was longtime ago I don't remember the details.
Regards, Jitendra Vegiraju

In message 1d323d260601070025j44958f17y14d8c1728b3d661a@mail.gmail.com you wrote:
On 1/5/06, Takács Áron takacs.aron@infracont.hu wrote:
Copy to Flash... not erased at 00480000 (ffff0000). Could anyone please help me in solving this problem? Thanky you very much> !
[Tolunay Orkun posted the solution: using a correct length parameter.]
I remember seeing similar issue on u-boot pre-1.0 release that I worked on. I don't recollect the exact driver issue, I think it has some thing to do
No, this has nothing do with any problems in the code. It was a plain user error, specifying a bad length with the copy command (4 times of the intended amount).
Best regards,
Wolfgang Denk
participants (4)
-
Jitendra Vegiraju
-
Takács Áron
-
Tolunay Orkun
-
Wolfgang Denk