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

Topics - 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 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
#3
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
#4
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