DSPRelated.com
Forums

VC33 Bootloader without Interrupt?

Started by Bill Finger March 29, 2004

We have a prototype board using the VC33, and expected to run it in
microprocessor mode, when we were surprised to discover that we cannot write
over address 0 for the vector table, because that section of memory is in
ROM; see discussion here:
http://groups.yahoo.com/group/c3x/message/68

What then is the point of microprocessor mode?

We then set our jumper to use microcomputer mode. The documentation insists
that one of three interrupts (INT0, INT1, or INT2) be set during reset to
load the correct user boot code, or else the bootloader should hang. We've
set none of these interrupts, yet the code runs correctly. How is that
possible?

Thanks,

Bill

****************
Bill Finger
Engineer
Creare Inc.
16 Great Hollow Road
Hanover, NH 03755
Phone: 603-640-2370
FAX: 603-643-4657

http://www.creare.com



Hi Bill

If the DSP is in MP mode, the internal ROM will be disabled and the external bus will be active from 0x0-0xFFF.  If MCBL/MP=1, the internal ROM (containing the bootloader code) will be enabled and the external bus will be inactive from 0x0-0xFFF.

The external memory however might have just enough voltage to stay alive, and if you have written to this address, might contain a valid vector.  For example, if this is a DSK, try powering down the board and unplugging it from the printer port.  There is more than enough power leaking back from the host PC to keep it alive.

Also, if an interrupt is not supplied, the ROM bootloader code wont 'hang'.  It will simply sit in the polling loop waiting for the first interrupt to come along, and then decide how/where to start converting the external FLASH to code and data.

Best regards
Keith Larson

============================
We have a prototype board using the VC33, and expected to run it in microprocessor mode, when we were surprised to discover that we cannot write over address 0 for the vector table, because that section of memory is in

ROM; see discussion here:

http://groups.yahoo.com/group/c3x/message/68

What then is the point of microprocessor mode?

We then set our jumper to use microcomputer mode. The documentation insists that one of three interrupts (INT0, INT1, or INT2) be set during reset to load the correct user boot code, or else the bootloader should hang. We've set none of these interrupts, yet the code runs correctly. How is that possible?

Thanks,

Bill

****************
Bill Finger
Engineer
Creare Inc.
16 Great Hollow Road
Hanover, NH 03755
Phone: 603-640-2370
FAX: 603-643-4657
whf@c...
http://www.creare.com