Keil Logo


Information in this article applies to:

  • C166 Version 4.06
  • µVision Version 2.07


I'm using DAvE with the Keil C166 compiler and I have the following problem.

DAvE provides a main.c file that has comment statements indicating what registers should be set and giving the values. It appears that the start167.a66 file doesn't completely implement the requested setup in main.c.

If I specify a 0 start address for BUSCON1 in DAvE it results in a


entry in start167.a66 in the BUSCON/ADDRSEL1 .. BUSCON/ADDRSEL4 section. This makes ADDRESS1 become the string '0H'.

Later in start167.a66 the macro:


is invoked. Unfortunately this macro is a string processor that depends on a certain string length. '0H' is too small and should be '000000H'. The assembler crashes with an error message here.

Is there a fix or workaround for this problem?


This problem is corrected in C166 V4.10a. You may download the latest updates from


Refer to Application Note 148 for more information about DAvE 2.0 and µVision.

Also, refer to Application Note 182 for creating XC16x projects in µVision3 using DAve.

Last Reviewed: Thursday, September 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.