??? 01/12/09 14:31 Read: times |
#161446 - Own IAP boot loader for P89V51RB2 |
Hello,
I need to implement In Application Programming using a NXP (Philips) P89V51RB2. The device is a sensor that is connected to a serial RS485 network where usually 6 nodes are present. The serial protocol is binary and addressable. It is totally incompatible with the NXP ISP protocol. The original NXP boot loader can not be used for the following reasons: 1. The chip first executes the code in boot flash. The boot code from NXP waits for serial communication to do ISP. Since there is serial traffic, it thinks to receive stuff and does not start the application. But the application needs to be started immediately. 2. The boot loader does not handle the RS485 tristate hardware. ISP with the original boot code will not work. 3. The ISP serial protocol is not addressable as required in a multi-point RS485 network. Thus, I must write my own boot loader. But if the Flash bank 1 that contains the boot loader is erased, the application is not started. And IAP calls at 1FF0 do not work either (since the code is erased). Unfortunately, NXP does not provide any information how the low level software needs to be done to program the Flash memory bank 0 with the application software. Is there any document available that explains how the flash is programmed by low level code without using the 1FF0 API? |
Topic | Author | Date |
Own IAP boot loader for P89V51RB2 | 01/01/70 00:00 | |
do you need ... | 01/01/70 00:00 | |
Yes, unfortunately. | 01/01/70 00:00 | |
many have made bootloaders that die not reside in a "boot fl | 01/01/70 00:00 | |
Me too | 01/01/70 00:00 | |
FlashMagic | 01/01/70 00:00 | |
yes | 01/01/70 00:00 | |
not necessarily | 01/01/70 00:00 | |
that is correct, sorry | 01/01/70 00:00 | |
Industrial device without Windows | 01/01/70 00:00 | |
and so what | 01/01/70 00:00 | |
Proper Coding? | 01/01/70 00:00 | |
you NEVER replace the bootloader | 01/01/70 00:00 | |
Bit GBboot | 01/01/70 00:00 | |
a standard bit variable | 01/01/70 00:00 | |
Thank you, I have my solution![]() | 01/01/70 00:00 | |
options | 01/01/70 00:00 | |
Options | 01/01/70 00:00 |