ARM Technical Support Knowledge Articles


Applies to: uVision IDE


Information in this article applies to:


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.

Article last edited on: 2005-09-22 12:18:08

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential