Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Bonny Gijzen

#1
Hi guys,


Recently we received a new batch of 89LV51RD2 which have ISP bootloader v04. (Previously we had 03.)
It seems this bootloader has got a bug with sector erase.
(This is no problem for us because we use block 0 erase.)

However, this bootloader also will not start running usercode.
It does give the "." response but it will stay in bootloader mode as you can see here:

:0000000BF5.
:0000000BF5.
:00000001FF.
:00000001FF.
:0000000BF5.

For now only a power off/on will let the device start user code again.

Did anyone find a solution to get the user code running without removing power?
(Another solution is updating the ISP bootloader to v05 but that is not a solution for devices in the field already ...)



Thanks and best wishes,

Bonny
#2
Hi,


First of all thanks for your answers.
I only use IAP to set the bootstat bit, so that after a reset the bootloader is invoked.

I hadn't expected jumping to 3F00h (on my LPC936) would be sufficient, but I will do some tests with it.


Regards
Bonny
#3
Hi guys,


We use P89LPC936 devices in several of our products.
In the protocol we use, I've added a command which forces the LPC936 into ISP bootloader.
I do that like this:

   'This authorization key is set by writing 96H to RAM location FFH.
   mov r0,#&HFF
   mov a,#&H96
   mov @r0,a

   'The WE flag is SET by writing the Set Write Enable (08H) command to FMCON
   'followed by a key value (96H) to FMDATA:
   mov fmcon,#&H08
   mov fmdata,#&H96

   'Misc. Write (requires 'key') Input parameters:
   'R5= data to write
   'R7= register address
   '02= Boot Vector
   '03= Status Byte

   mov a,#&H02
   mov r5,#&H01
   mov r7,#&H03
   Call &HFF03

   'Now reset device
   orl auxr1,#&H08


The above code resets the device and it will run the ISP bootloader (because Bootstat.0 bit is set to 1).
Then I send the all well known "U"s and wait for a proper echo.

Now, regularly I get a corrupted response which seems to be constant.
First I thought that perhaps the autobad detected a wrong baudrate (because of glitch on the serial lines??), but
after some more investigation I noticed (atleast in 1 particular case) that the problem was that the MSB bit was constantly set.

So I sent "U" (char 85) and response was always character 213.
The difference between is 128, this is MSB set to 1
(I verified this with different characters)

In an other situation, I got other result bytes, but always the same (wrong) echo byte in response to a particular byte.

After we reset the device (by hand) we try the sending of "U"s again and in the end the comms are OK.

Has anyone seen such issues aswell?
Has anyone heard of or experienced similar issues aswell ?


Thank you for your feedback,

Bonny
#4
Ok,


I found an updated bootloader (v03) for the RC2 devices.
It doesnt say anything about the bug being fixed however.
(Anyway, I will update a device with this bootloader and see if it is fixed or not.)


Thank you for pointing this section out,

Bonny
#5
Thanks.

I will have a look at that resources page.

However, I know there is v05 bootloader for the LV51RD2, but now I am refering to the LV51RC2 device.
The latest bootloader shipped to me was v02 (where v01 I had before was working fine).


Regards
Bonny
#6
P89V51Rx2/P89LV51Rx2 / Re: P89V51RC2 does not erase
January 19, 2007, 02:29:04 AM
Yep, noticed (and debugged) the same problem.
Just posted a message (without reading yours).

You can erase the device using Sector erase.


Regards Bonny,
#7
Hi,

We recently received a new batch of P89LV51RC2 with ISP loader 02 (whereas we had 01 in the past).
It seems now the Erase Block 0 command isnt working anymore:

:050000040000010000F6 <- Dump content
0000=02041002126400000000003200000000

:020000030100FA.   <- Block 0 erase
:050000040000010000F6 <- Dump content
0000=02041002126400000000003200000000

:03000003080000F2. <- Sector 00-7F erase
:050000040000010000F6 <- Dump content
0000=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

:020000050002F702. <- Version 02



I tried to contact Philips MCU support but didnt have much result.
(Cant login to nxp forums etc.etc.)

Anyway, hope this helps someone who was similar problem.


Regards
Bonny
#8
LPC9xx/LPC9xxx / Re: LPC900 NoTouch ISP
June 12, 2006, 05:27:50 AM
Andy,

>It doesn't matter what the ISP entry point is. Use IAP to set the status >bit, start the watchdog and let it time out.

Wouldn't it be better to simply reset the device using the reset bit in the AUXR1 register? (Instead of using the WDT?)

orl auxr1,#8


Rgs Bonny,
#9
If, at some point in time, I dont have an answer to a question/problem, I will ask that question anywhere I like.

And I won't sit and wait on that 1 question, because very often you don't get an answer at all. So I the meantime I continue my search, on internet, in datasheets....

At some point, I either find the solution myself (internet or datasheets) or it is answered to me on some forum.

In this case, I posted the question in the afternoon, and the next morning I found the solution in the datasheet, so I got back here and noticed I got flamed.

You have no right to flame anybody!
(And that relates to the "RTFM")

It is you who decide if you want to spend time on some question/issue or not, so dont flame people if they find the answer sooner than the read back here.

Change your attitude, thats all.

Bonny
#10
@Jan,


Thanks for your reply.

I dont like your attitude at all. Ofcourse I read the manual, and I have found all info I need already.

It is just that when I am searching for infos, I don't like to waste much time, so I put outstanding queries as much as I can, on different fora and groups.

So if you dont like to answer questions like these, then simply don't!


Rgs Bonny
#11
Hi,


I am trying to find more detailed info about the P89LV51 mcu.

The builtin bootloader can be started by using a hardware method, but I want to be able to start it from within my main application.

To do that I need some infos which I am not able to find:

- Where exactly is the orig bootloader located
- Is it possible to execute it by "jumping" to it?
- What about bootvector registers or statusbytes?


I hope you can give me some more informations.


Regards,
Bonny