Re: I can't write PXA272'flash correctly.
- From: "mobilevil" <kccheng@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 10 Jun 2005 10:12:34 +0800
ok i told you to kick the board back to hardware team and go home LOL
"Jun Meng" <mengjunhappy@xxxxxxx> wrote in message
news:O2To2dJbFHA.720@xxxxxxxxxxxxxxxxxxxxxxx
> Hi mobilevil:
> NOW that all OK, It is a hardware problem.Thanks for your help!
> "Jun Meng" <mengjunhappy@xxxxxxx> дÈëÏûÏ¢ÐÂÎÅ:e1m37ivaFHA.3488@xxxxxxxxxxxxxxxxxxxxxxx
>> Yestday I have been write one flash rightly.But the other two flash
>> can't write yet.
>> Why,pls give me some advice.
>> Thacks a lot.
>> "mobilevil" <kccheng@xxxxxxxxxxxxxxxxxxxxxx> дÈëÏûÏ¢ÐÂÎÅ:ujNqZ9LaFHA.2980@xxxxxxxxxxxxxxxxxxxxxxx
>>> for me if jflash is bad then i'll kick the pcb back to hardware room and
>>> go home
>>> i still doubt the status wait after you issue the command.
>>> make sure you are waiting for both upper and lower 16bit. the two flash
>>> don't finish job in the same time. one of them will be faster.
>>> "Jun Meng" <mengjunhappy@xxxxxxx> wrote in message
>>> news:%23YwHP6LaFHA.1456@xxxxxxxxxxxxxxxxxxxxxxx
>>>> It desn't matter.
>>>> This monring i write my flash through JFlash.It all right,So i suppose
>>>> maybe my tartget CPU initialization has something worry.Do you think
>>>> it's possible.
>>>> "mobilevil" <kccheng@xxxxxxxxxxxxxxxxxxxxxx> дÈëÏûÏ¢ÐÂÎÅ:%23pC7i9KaFHA.2128@xxxxxxxxxxxxxxxxxxxxxxx
>>>>> sorry i can't post my code...
>>>>> "Jun Meng" <mengjunhappy@xxxxxxx> wrote in message
>>>>> news:OyCd7TKaFHA.2128@xxxxxxxxxxxxxxxxxxxxxxx
>>>>>> Good morning mobilevil:
>>>>>> can you post your code for me.I can take it for a comparement.
>>>>>> Thanks a lot.
>>>>>> "mobilevil" <kccheng@xxxxxxxxxxxxxxxxxxxxxx> дÈëÏûÏ¢ÐÂÎÅ:%230anRrBaFHA.612@xxxxxxxxxxxxxxxxxxxxxxx
>>>>>>> if you doubt it, remove anything connected to the bus.
>>>>>>> i am using my own flash write/earse. i don't know about the flash.c
>>>>>>> one. as far as i remember intel's flash.c do not regonize 272's
>>>>>>> flash part no, so i just skipped it.
>>>>>>>
>>>>>>> "Jun Meng" <mengjunhappy@xxxxxxx> wrote in message
>>>>>>> news:e49%23UP$ZFHA.3976@xxxxxxxxxxxxxxxxxxxxxxx
>>>>>>>> Thanks for your reply.
>>>>>>>> The erase code is in Intel BSP's eboot flash.c.
>>>>>>>> I think is all right,because i can use it to erase the flash.
>>>>>>>> Do you have some PXA272 specs.
>>>>>>>> I think maybe CPU set and PXA272 hardware connection can influnce
>>>>>>>> the flash write.But i can't determine where will be worry.
>>>>>>>> DO you think it ture?
>>>>>>>>
>>>>>>>> "mobilevil" <kccheng@xxxxxxxxxxxxxxxxxxxxxx> дÈëÏûÏ¢ÐÂÎÅ:uhzaC39ZFHA.464@xxxxxxxxxxxxxxxxxxxxxxx
>>>>>>>>> you didn't post your erase code, but.. check
>>>>>>>>> after you issue the erase command, make sure your wait loop is
>>>>>>>>> like this
>>>>>>>>>
>>>>>>>>> while ( (*FlashStart & 0x00800080) != 0x00800080)
>>>>>>>>>
>>>>>>>>> instead of this
>>>>>>>>> while (! (*FlashStart & 0x00800080))
>>>>>>>>>
>>>>>>>>> you make it right in program code so.... wish your problem is as
>>>>>>>>> simple as i thought
>>>>>>>>>
>>>>>>>>> "Jun Meng" <mengjunhappy@xxxxxxx> wrote in message
>>>>>>>>> news:efpKRl9ZFHA.464@xxxxxxxxxxxxxxxxxxxxxxx
>>>>>>>>>> Thanks for your reply.
>>>>>>>>>> My went to write 1KB into flash to test flash.Here is my code.
>>>>>>>>>> void FlashWordWriteTest()
>>>>>>>>>> {
>>>>>>>>>> int k,count;
>>>>>>>>>> volatile UINT32 * FlashStart = NULL;
>>>>>>>>>> LPBYTE pSdram = NULL;
>>>>>>>>>> volatile UINT32 *pFlashCache;
>>>>>>>>>> volatile UINT32 *pdwFlashStart;
>>>>>>>>>> volatile UINT32 *pdwRamStart;
>>>>>>>>>> pSdram = (LPBYTE)0x80100000;
>>>>>>>>>> FlashStart = (volatile UINT32 *)0xBAA80000;//uncache virtual
>>>>>>>>>> address
>>>>>>>>>> pFlashCache = (volatile UINT32 *)pSdram;
>>>>>>>>>> pdwRamStart = pFlashCache;
>>>>>>>>>> pdwFlashStart = FlashStart;
>>>>>>>>>> memset( pSdram,0x50,1024);
>>>>>>>>>> FlashErase((UINT32) FlashStart, 1024);//erase flash
>>>>>>>>>> //write 1024byte to one block
>>>>>>>>>> for(k = 0;k<=0x100;k=k++,count = 0)
>>>>>>>>>> {
>>>>>>>>>> *FlashStart = 0x00400040;
>>>>>>>>>> *FlashStart++= *pFlashCache++;
>>>>>>>>>> while ( (*FlashStart & 0x00800080) != 0x00800080)
>>>>>>>>>> {
>>>>>>>>>> count++;
>>>>>>>>>> }
>>>>>>>>>> if(count>=1000)//over time
>>>>>>>>>> {
>>>>>>>>>> EdbgOutputDebugString("ERROR: Flashwordwrite , overtime\r\n");
>>>>>>>>>> while(1);
>>>>>>>>>> }
>>>>>>>>>> else
>>>>>>>>>> {
>>>>>>>>>> *FlashStart = 0x00FF00FF;
>>>>>>>>>> EdbgOutputDebugString("Read back to Compare\r\n");
>>>>>>>>>> if (*pdwFlashStart++ != *pdwRamStart++)
>>>>>>>>>> {
>>>>>>>>>> EdbgOutputDebugString( "ERROR: FlashWrite:
>>>>>>>>>> verification failure at address 0x%x (expected 0x%x actual
>>>>>>>>>> 0x%x))\r\n", pdwFlashStart-1, *(pdwRamStart-1),
>>>>>>>>>> *(pdwFlashStart-1) );
>>>>>>>>>> while(1);
>>>>>>>>>> }
>>>>>>>>>> }
>>>>>>>>>> }
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> The erase is not always well.but sometime is right,i can be sure
>>>>>>>>>> because of i read back form flash that the content are
>>>>>>>>>> 0xFFFFFFFF.When erase well,i plan to write flash in word promgram
>>>>>>>>>> modle.When read back I just writed to compare,the upper flash is
>>>>>>>>>> always read 0xffff,but the lower flash is all right.
>>>>>>>>>>
>>>>>>>>>> "Michael Reim"
>>>>>>>>>> <nospam.reim@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> дÈëÏûÏ¢ÐÂÎÅ:ec8LuZ2ZFHA.2308@xxxxxxxxxxxxxxxxxxxxxxx
>>>>>>>>>>> Hello Jun
>>>>>>>>>>>
>>>>>>>>>>> Any chance you forgot to erase the flash at this address?
>>>>>>>>>>>
>>>>>>>>>>> Please do a debug check whether the data at the location is ff
>>>>>>>>>>> before you
>>>>>>>>>>> write your data.
>>>>>>>>>>>
>>>>>>>>>>> HTH
>>>>>>>>>>> --
>>>>>>>>>>> Michael Reim
>>>>>>>>>>> reim AT helmut-fischer DOT de
>>>>>>>>>>>
>>>>>>>>>>> "Jun Meng" <mengjunhappy@xxxxxxx> schrieb im Newsbeitrag
>>>>>>>>>>> news:e8Ijbk0ZFHA.3168@xxxxxxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>> Hi all
>>>>>>>>>>>> In my tartge board I use Pxa272 process.Pxa272 self
>>>>>>>>>>>> include 64MB NOR
>>>>>>>>>>>> flash.I can use Intel XDB to erase and write PXA272's flash
>>>>>>>>>>>> correctly
>>>>>>>>>>>> through JTAG.and i can flash the eboot.nb0 into Pxa272'flash.In
>>>>>>>>>>>> eboot
>>>>>>>>>>>> code,where i write a function to test flash,when it run. The
>>>>>>>>>>>> problem
>>>>>>>>>>>> happened,The lower flash write correctly,but the upper flash
>>>>>>>>>>>> write worry.
>>>>>>>>>>>> I also try to write flash by buffer write and word write.The
>>>>>>>>>>>> result is the
>>>>>>>>>>>> same.After write flash i read the read state register,the
>>>>>>>>>>>> result is
>>>>>>>>>>>> 0x00800080.So take the result compare with the flash spec it
>>>>>>>>>>>> seem all
>>>>>>>>>>>> right.But when i read the content that i writed the lower part
>>>>>>>>>>>> flash is
>>>>>>>>>>>> right,the upper part is worry.
>>>>>>>>>>>> I don't know why?
>>>>>>>>>>>>
>>>>>>>>>>>> best whishes!
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
.
- References:
- I can't write PXA272'flash correctly.
- From: Jun Meng
- Re: I can't write PXA272'flash correctly.
- From: Michael Reim
- Re: I can't write PXA272'flash correctly.
- From: Jun Meng
- Re: I can't write PXA272'flash correctly.
- From: mobilevil
- Re: I can't write PXA272'flash correctly.
- From: Jun Meng
- Re: I can't write PXA272'flash correctly.
- From: mobilevil
- Re: I can't write PXA272'flash correctly.
- From: Jun Meng
- Re: I can't write PXA272'flash correctly.
- From: mobilevil
- Re: I can't write PXA272'flash correctly.
- From: Jun Meng
- Re: I can't write PXA272'flash correctly.
- From: mobilevil
- Re: I can't write PXA272'flash correctly.
- From: Jun Meng
- Re: I can't write PXA272'flash correctly.
- From: Jun Meng
- I can't write PXA272'flash correctly.
- Prev by Date: Re: Some questions about the PC Card driver on WinCE5.0
- Next by Date: Re: How to debug a driver in the PDA ?
- Previous by thread: Re: I can't write PXA272'flash correctly.
- Next by thread: OS continues processing without SignalStarted call (in a Init app)
- Index(es):
Relevant Pages
|