Keil Logo


Information in this article applies to:

  • Monitor-166 All Versions


When I start a debug session in µVision2, the Monitor-166 and my application is downloaded correctly with the on-chip bootstrap loader. I can see the application in the disassembly window and I can view all memory areas in the memory window. However, I cannot single-step or start the application.

Monitor-166 is configured for my microcontroller board. There is 1MB external RAM connected to chip select 1 (\CS1) and I have enabled this RAM in the address range from 0x100000 to 0x1FFFFF. The Monitor-166 and my application is located within this RAM area.


This memory layout is not suitable for Monitor-166 and your application because the interrupt vectors cannot be reached. Monitor-166 needs the NMI interrupt vector for breakpoints. Please use one of the following configurations:

  • Map the external RAM to address 0 by setting 'ADDRESS1' to 0 in the Monitor-166 configuration file (CONFIG.INC). Locate the Monitor code and data address areas as well as your application into the RAM are from 0x0000 to 0x0FFFFF.
  • Install Monitor-166 at code address 0 in (FLASH) ROM. The bootstrap loader cannot be used in this case.


  • Refer to Theory of Operation in the MON166 User's Guide.
  • Chapter 11, Using Monitor-166 of the Getting Started Manual in \KEIL\C166\HLP\GS166.PDF shows how to use Monitor-166 with µVision.


Last Reviewed: Friday, July 22, 2005

Did this article provide the answer you needed?
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.