|
|||||||||||
|
Technical Support Support Resources
Product Information |
Technical SupportMON51: ERROR 22 (NO CODE AT ADDRESS 0045H) USING EZ-USBInformation in this article applies to:
QUESTIONHelp. I'm using the Cypress EZ-USB development system and I receive the following error message from the debugger. ERROR 22 (NO CODE MEMORY AT ADDRESS 0045H) Why do I receive this error? ANSWERThis error message is caused by the EZ-USB chip writing to the autovector address located at 0x0045. This code memory location is automatically modified by the EZ-USB hardware and is therefore not writeable. When you create an interrupt service routine in your C program and the monitor downloads the interrupt vector, error 22 is generated. The solution to this problem is to change the definition for the autovector interrupt in the Cypress firmware. This can be done in the USBJMPTB.A51 file provided by Cypress. Modify the USB_AutoVector jmp as shown below. Note that this modification will work for debugging (with the monitor) and for production.
--- from USBJMPTB.A51 ---
;--------------------------------------------------------
; Interrupt Vectors
;--------------------------------------------------------
CSEG AT 43H
USB_AutoVector equ $ + 2
DB 02H ; LJMP
DB HIGH USB_Jump_Table ; High Byte of Jmp vector table
DS 1 ; Autovector hardware will replace byte 45
MORE INFORMATION
FORUM THREADSThe following Discussion Forum threads may provide information related to this topic.
Last Reviewed: Wednesday, August 03, 2005 | ||||||||||
|
|||||||||||