Keil Logo

C51: Maxim 390/400 Interrupts in Alternate 64k Code Page


Information in this article applies to:

  • C51 Version 7

QUESTION

I'm using the Maxim (formerly Dallas Semiconductor) DS80C390 device in Contiguous Mode and I need to write a flash download application. The flash download application starts at C:0x10000 which is the second 64KB page in my Flash ROM.

The interface between the boot and download applications work perfectly with the technique described under GENERAL: Calling Boot Loader Functions From User Application.

The boot part redirects some interrupt vectors to the downloaded part similar to the way described in C51: Redirecting Interrupt Vectors.

My problem is that I have not managed to locate the interrupt vectors of the downloaded part to code address C:0x10000 in the second 64KB page. The INTVECTOR directive works just within a single 64KB page. How can I solve this problem?

ANSWER

The interrupt vectors are located in the CODE class. The CODE class must reside within a 64KB memory block since it contains startup code that typically switches the device to contiguous mode.

When you state a different 64KB page for CODE in the LX51 CLASSES directive, you will see that the interrupt vectors are located at the base address of this memory class. When you use µVision IDE, enter under Project - Options for Target - Target: Off-chip Code Memory Eprom #1: Start 0x10000 Size: 0x20000. When you have enabled Use Memory Layout from Target Dialog under LX51 Locate, µVision generates the correct linker classes directive for you, in this case: CLASSES (CODE (C:0x10000-C:0x1FFFF)).

MORE INFORMATION

SEE ALSO


Last Reviewed: Thursday, February 25, 2021


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.