Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/01/03 11:48
Read: times


 
#51904 - RE: ISP with Infineon 80c517a
Responding to: ???'s previous message
"Once the bootloader finishes the download and does the checksum the trouble I encounter is that whenever I jump to the new code using an LJMP 0x8000 call or a ((void (code *)(void)) 0x8000) (); call the uC will not start executing from the 2nd ROM and just hangs."

My guess is that one of several things could be the problem:

1) Your executable code is not correct. Try locating it to 0x0000, burn it onto the lower memory using your programmer, then verify that it executes correctly.

2) Your bootloader is not correctly writing all of your program to the second memory. Maybe you aren't using the flash programming commands correctly or the hardware isn't functioning properly (decoding, timing issues, etc). Inspect the contents of the "programmed" memory.

3) Your lower vector table starting at 0x0000 must be preprogrammed to point to the upper vector table at 0x8000. Keep in mind that this implies that your bootloader cannot use any interrupts.

4) The executable code is not located properly. Verify the placement of every part of the code by browsing the output files created by Keil.

Hopefully the problem lies somewhere in there.


"The other question that I have is that in Bootloader mode the internal XRAM of the uC is disabled whereas when I need to execute the code on the 2nd ROM I need to have XRAM enabled. This can only occur with a H/W reset. How can I achieve this with just a LJMP call? I appreciate any help regarding this."

What is wrong with cycling power or pressing the Reset button when you are finished programming? It is not a big deal.

I assume that your bootloader can check to see if the upper memory is programmed? I would assume that the bootloader checks the upper memory; if it is not programmed then it waits to download the new program, otherwise it jumps to 0x8000 to begin executing the main program.

I hope this works out for you. I was kicking around the idea of doing the same project but decided my time was better spent on other things like getting familiar with a family that doesn't need a custom bootloader software and hardware solution.

- Lee

List of 2 messages in thread
TopicAuthorDate
ISP with Infineon 80c517a            01/01/70 00:00      
   RE: ISP with Infineon 80c517a            01/01/70 00:00      

Back to Subject List