[U-Boot-Users] BDI2000 problems flashing virgin custom 8548 board

Ben Warren
2007-08-29T21:52:18Z

robert lazarski wrote:
> On 8/29/07, Ben Warren <bwarren@qstreams.com> wrote:
>
>> robert lazarski wrote:
>>
>>> atum8548>erase 00000000
>>> # Writing to workspace failed
>>>
>>>
>> Workspace is RAM. If your memory controller isn't set up, you can't use
>> the workspace. From your config file it looks like you're planning on
>> using some kind of cache for SRAM. I'd just skip this for now. Delete
>> the WORKSPACE line and you should be able to write to flash. It'll be
>> dog-slow, though.
>>
>
> Thanks! I commented out the cache settings. Now I'm getting closer. I getting:
>
> atum8548>unlock
> Unlocking flash passed
> atum8548>erase 0
> Erasing flash at 0x00000000
> # Erasing flash memory failed
> atum8548>erase FF000000
> Erasing flash at 0x00000000
> # Erasing flash memory failed
> atum8548>erase 0x01000000
> Erasing flash at 0x01000000
> # Erasing flash memory failed
>
> What chip do you have? What did you start erasing?
>
>
I'm not much of an expert on this, but I believe the BDI-2000 will
execute the INIT section before handing control over to you. Your flash
chip is on chip select 0, so the BR0/OR0 registers determine where you
will see it. On my CPU (MPC8349) and probably yours too, the 17 least
significant (from the left) bits of BR0 determine where the chip select
ends up. In your case, this is 0xff80. I expect your flash chip will
start at 0xff800000.

I highly recommend reading up on these registers - the Freescale
reference manuals are excellent. There are a lot of options, and for NOR
flash, at least at startup, you should make sure all the timings are
fully relaxed (maximum wait states etc.).
>>> This is of course probably due to my bdi2000 cfg file - I've annexed
>>> it in this email. I've tried to keep the file bare bones though this
>>> is my first time writing this config. I've got one flash bank, a 128MB
>>> spansion S29GL01GP . Here's my flash #DEFINE's :
>>>
>>>
>>>
>> For my 64Mb Spansion GL flash I use:
>>
>> CHIPTYPE MIRRORX16 ;Flash type: Spansion
>> CHIPSIZE 0x800000 ;The size of one flash chip in bytes
>> BUSWIDTH 16 ;The width of the flash memory bus in bits (8 |
>> 16 | 32 | 64)
>>
>> Yours will probably be the same, but size will be 0x1000000. I'm
>> assuming your flash is 128Mb and not 128MB, but I apologize if this is
>> wrong.
>>
>
> That makes sense - I'm trying that but got the erase errors above. Any
> more ideas?
>
> Thanks!
> Robert
>
>
Hopefully with the right address and the registers set up correctly you
will be able to write to flash. One way or the other, we'll get there!

regards,
Ben